refactor: reorganize Plane AI documentation into structured sub-pages#273
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 51 minutes and 56 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThis PR restructures Plane AI self-hosting documentation from a single comprehensive guide into modular topic-specific pages. The sidebar navigation is reorganized with a collapsible hierarchy, two new configuration guides are introduced (core setup and embedding models), internal documentation links are updated, and a backward-compatibility redirect is added. ChangesPlane AI Documentation Reorganization
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🧹 Nitpick comments (1)
docs/self-hosting/govern/plane-ai/getting-started.md (1)
50-50: 💤 Low valueConsider completing the sentence for clarity.
The phrase "Can be a read replica." is grammatically incomplete. While understandable in context, completing it would improve readability.
✏️ Suggested improvement
-- **`FOLLOWER_POSTGRES_URI`** — Read connection to the main Plane database. PI reads workspace data (issues, pages, projects) directly from here. Can be a read replica. +- **`FOLLOWER_POSTGRES_URI`** — Read connection to the main Plane database. PI reads workspace data (issues, pages, projects) directly from here. This can be a read replica.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/self-hosting/govern/plane-ai/getting-started.md` at line 50, The sentence describing FOLLOWER_POSTGRES_URI is incomplete; update the line for **`FOLLOWER_POSTGRES_URI`** to finish the thought (e.g., "Can be a read replica of the primary database.") so it reads as a full sentence and clearly explains that this URI may point to a read replica used for read-only access to workspace data.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/self-hosting/govern/plane-ai/custom-llm.md`:
- Line 95: The long documentation sentence "Plane AI activates inference profile
mode automatically when a profile ARN or ID is set and ambient AWS credentials
are present (`AWS_ROLE_ARN`, `AWS_WEB_IDENTITY_TOKEN_FILE`,
`AWS_CONTAINER_CREDENTIALS_FULL_URI`, or
`AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE`)." exceeds 120 characters; break it
into shorter lines (e.g., two sentences or a short paragraph) or convert the
credential list into a bulleted list so no line exceeds 120 characters, update
the surrounding text to keep meaning unchanged, and run Prettier to ensure the
formatting check passes.
- Line 17: The sentence "Use a model with at least 1 trillion parameters" is
inconsistent with the examples (llama-3.3-70b-versatile and llama3); update that
requirement to the correct minimum (e.g., "70+ billion parameters" or "1
billion+" as appropriate for Plane AI features) so the guidance matches the
examples, and edit the sentence in custom-llm.md accordingly (referencing the
exact string "Use a model with at least 1 trillion parameters" and the example
model names "llama-3.3-70b-versatile" and "llama3" to locate and verify
consistency).
- Line 13: The table row under the "OpenAI-compatible" cell is over the 120-char
Prettier limit; shorten or reformat that cell to pass CI by either truncating
the provider list (e.g., "OpenAI-compatible (Ollama, Groq, vLLM, LiteLLM, ...)")
or breaking the content into multiple table rows or a wrapped multiline cell so
the line length is ≤120; update the cell text that currently reads "Your model
is served via an OpenAI Chat Completions API (Ollama, Groq, vLLM, LiteLLM,
Cerebras, etc.)" accordingly.
- Line 88: Add a brief clarifying comment next to the CUSTOM_LLM_MODEL_KEY entry
to explain that this value is the simplified inference profile ID (used for
cross-Region system-defined Bedrock inference profiles) and intentionally
differs from the full foundation model ID used with standard credentials;
reference the symbol CUSTOM_LLM_MODEL_KEY and include an example of the full
format (e.g., anthropic.claude-3-5-sonnet-20241022-v2:0) vs the simplified ID
(claude-sonnet-4-6) so readers understand the distinction.
In `@docs/self-hosting/govern/plane-ai/getting-started.md`:
- Line 11: Remove the duplicate sentence "For an overview of what Plane AI can
do, see [Plane AI](https://docs.plane.so/ai/pi-chat)." so it appears only once
in the document; locate both occurrences of that exact string and delete one of
them (either the instance at the earlier position or the later one) to eliminate
redundancy.
- Around line 26-27: Update the listed model versions in the getting-started
docs to remove non-existent entries and replace them with the currently
available recommended versions: remove "GPT-5.2" and any mention of "Claude
Sonnet 4.5", and add OpenAI models "GPT-5.5", "GPT-5.4", "GPT-5.4-mini",
"GPT-5.4-nano" and Anthropic models "Claude Opus 4.7", "Claude Sonnet 4.6",
"Claude Haiku 4.5" where "GPT-5.2" and the old Sonnet entry appear so
configuration examples and defaults reference valid model IDs.
In `@docs/self-hosting/govern/plane-ai/semantic-search.md`:
- Line 32: The doc currently says a mismatch for OPENSEARCH_EMBEDDING_DIMENSION
"breaks indexing" but later notes it "breaks indexing silently"; make these
consistent by updating the earlier sentence that mentions
OPENSEARCH_EMBEDDING_DIMENSION so it reads that a mismatch "breaks indexing
silently" (or equivalent phrasing) and verify the later sentence uses the same
wording to avoid ambiguity.
---
Nitpick comments:
In `@docs/self-hosting/govern/plane-ai/getting-started.md`:
- Line 50: The sentence describing FOLLOWER_POSTGRES_URI is incomplete; update
the line for **`FOLLOWER_POSTGRES_URI`** to finish the thought (e.g., "Can be a
read replica of the primary database.") so it reads as a full sentence and
clearly explains that this URI may point to a read replica used for read-only
access to workspace data.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: e1990a1a-0622-4690-ab6a-4449ffb83678
📒 Files selected for processing (7)
docs/.vitepress/config.mtsdocs/self-hosting/govern/aws-opensearch-embedding.mddocs/self-hosting/govern/environment-variables.mddocs/self-hosting/govern/plane-ai.mddocs/self-hosting/govern/plane-ai/custom-llm.mddocs/self-hosting/govern/plane-ai/getting-started.mddocs/self-hosting/govern/plane-ai/semantic-search.md
💤 Files with no reviewable changes (1)
- docs/self-hosting/govern/plane-ai.md
…o 1 trillion for custom LLM
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/self-hosting/govern/environment-variables.md`:
- Line 213: The docs show two different defaults for CUSTOM_LLM_MAX_TOKENS (one
entry lists 64000, another lists 128000); pick the correct canonical default and
update both occurrences so they match—specifically change the standalone
environment variable row describing CUSTOM_LLM_MAX_TOKENS and the Plane
Intelligence table entry that references CUSTOM_LLM_MAX_TOKENS to the same value
and wording (e.g., “Defaults to `64000`” or “Defaults to `128000`”) to eliminate
the conflict.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 51f2c0a8-11da-477c-aa90-edaf4bcaa088
📒 Files selected for processing (4)
docs/self-hosting/govern/environment-variables.mddocs/self-hosting/govern/plane-ai/custom-llm.mddocs/self-hosting/govern/plane-ai/getting-started.mddocs/self-hosting/govern/plane-ai/semantic-search.md
💤 Files with no reviewable changes (1)
- docs/self-hosting/govern/plane-ai/getting-started.md
✅ Files skipped from review due to trivial changes (2)
- docs/self-hosting/govern/plane-ai/custom-llm.md
- docs/self-hosting/govern/plane-ai/semantic-search.md
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/self-hosting/govern/plane-ai/configure-embedding-model.md`:
- Line 98: The markdown heading has two spaces after the level-2 marker ("##
Restart Plane") which fails the linter; update the heading string to use a
single space after the "##" (i.e., "## Restart Plane") so the formatter/prettier
checks pass.
In `@docs/self-hosting/govern/plane-ai/configure-plane-ai.md`:
- Line 50: The description for FOLLOWER_POSTGRES_URI uses a sentence fragment;
update the text for the **`FOLLOWER_POSTGRES_URI`** entry so the read-replica
guidance is a full sentence (e.g., "This can be a read replica.") and ensure the
line reads: "**`FOLLOWER_POSTGRES_URI`** - Read connection to the main Plane
database. PI reads workspace data (issues, pages, projects) directly from here.
This can be a read replica." Replace the fragment "Can be a read replica." with
the full sentence and keep the surrounding context unchanged.
- Around line 88-90: Fix the malformed tip text: replace the incomplete sentence
"Proxy any model through - it exposes any LLM behind the OpenAI API." and the
run-on sentence around "LiteLLM" with a single clear sentence that names the
product and fixes spacing/punctuation (e.g., "Proxy any model through LiteLLM —
it exposes any LLM behind the OpenAI API. If you need a non-OpenAI/Anthropic LLM
(such as an open-source model or a regional provider for compliance), proxy it
through LiteLLM and then use the OpenAI-compatible setup below."), updating the
lines that mention "Proxy any model through - it exposes any LLM behind the
OpenAI API." and the subsequent "LiteLLM" sentence.
- Line 37: Update the broken internal link
"/self-hosting/govern/plane-ai/custom-llm" in the sentence referencing
Ollama/Groq/LiteLLM/AWS Bedrock/OpenAI-compatible endpoints so it points to a
valid VitePress page or create that target page; either change the href to the
existing docs route (e.g., the correct slug for the Custom LLM docs) or add a
new page at that path and ensure the link text and route match (identify the
link string "/self-hosting/govern/plane-ai/custom-llm" in the file and replace
or create accordingly).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 106b1a69-2239-48a2-b5fb-252bc2154725
📒 Files selected for processing (4)
docs/.vitepress/config.mtsdocs/self-hosting/govern/plane-ai/configure-embedding-model.mddocs/self-hosting/govern/plane-ai/configure-plane-ai.mdvercel.json
| ``` | ||
|
|
||
| - **`PLANE_PI_DATABASE_URL`** - PI's own dedicated database. Must not be shared with the main Plane application database. | ||
| - **`FOLLOWER_POSTGRES_URI`** - Read connection to the main Plane database. PI reads workspace data (issues, pages, projects) directly from here. Can be a read replica. |
There was a problem hiding this comment.
Use a complete sentence for DB read replica guidance.
“Can be a read replica.” is a fragment; make it a full sentence for clarity.
🧰 Tools
🪛 LanguageTool
[style] ~50-~50: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ...s, pages, projects) directly from here. Can be a read replica. Both are checked at...
(MISSING_IT_THERE)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/self-hosting/govern/plane-ai/configure-plane-ai.md` at line 50, The
description for FOLLOWER_POSTGRES_URI uses a sentence fragment; update the text
for the **`FOLLOWER_POSTGRES_URI`** entry so the read-replica guidance is a full
sentence (e.g., "This can be a read replica.") and ensure the line reads:
"**`FOLLOWER_POSTGRES_URI`** - Read connection to the main Plane database. PI
reads workspace data (issues, pages, projects) directly from here. This can be a
read replica." Replace the fragment "Can be a read replica." with the full
sentence and keep the surrounding context unchanged.
| Proxy any model through - it exposes any LLM behind the OpenAI API. Then use the OpenAI-compatible setup below. | ||
|
|
||
| If you need to use an LLM that isn't from OpenAI or Anthropic - for example, an open-source model or a regional provider for compliance reasons - you can proxy it through [LiteLLM](https://docs.litellm.ai).Then use the OpenAI-compatible setup below. |
There was a problem hiding this comment.
Clean up malformed sentence in the tip block.
The current text has a missing product name and spacing/punctuation issues, which makes the guidance unclear.
Suggested diff
-Proxy any model through - it exposes any LLM behind the OpenAI API. Then use the OpenAI-compatible setup below.
-
-If you need to use an LLM that isn't from OpenAI or Anthropic - for example, an open-source model or a regional provider for compliance reasons - you can proxy it through [LiteLLM](https://docs.litellm.ai).Then use the OpenAI-compatible setup below.
+Proxy any model through [LiteLLM](https://docs.litellm.ai) — it exposes LLMs behind an OpenAI-compatible API. Then use the OpenAI-compatible setup below.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Proxy any model through - it exposes any LLM behind the OpenAI API. Then use the OpenAI-compatible setup below. | |
| If you need to use an LLM that isn't from OpenAI or Anthropic - for example, an open-source model or a regional provider for compliance reasons - you can proxy it through [LiteLLM](https://docs.litellm.ai).Then use the OpenAI-compatible setup below. | |
| Proxy any model through [LiteLLM](https://docs.litellm.ai) — it exposes LLMs behind an OpenAI-compatible API. Then use the OpenAI-compatible setup below. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/self-hosting/govern/plane-ai/configure-plane-ai.md` around lines 88 -
90, Fix the malformed tip text: replace the incomplete sentence "Proxy any model
through - it exposes any LLM behind the OpenAI API." and the run-on sentence
around "LiteLLM" with a single clear sentence that names the product and fixes
spacing/punctuation (e.g., "Proxy any model through LiteLLM — it exposes any LLM
behind the OpenAI API. If you need a non-OpenAI/Anthropic LLM (such as an
open-source model or a regional provider for compliance), proxy it through
LiteLLM and then use the OpenAI-compatible setup below."), updating the lines
that mention "Proxy any model through - it exposes any LLM behind the OpenAI
API." and the subsequent "LiteLLM" sentence.
Description
Restructures the Plane AI self-hosting docs from a single monolithic page into a focused sub-page structure under
/self-hosting/govern/plane-ai/.Type of Change
Screenshots and Media (if applicable)
Test Scenarios
References
Summary by CodeRabbit