Skip to content

fix: formatting for all pages#216

Merged
sriramveeraghanta merged 7 commits intomasterfrom
fix-formating-rest-all
Feb 24, 2026
Merged

fix: formatting for all pages#216
sriramveeraghanta merged 7 commits intomasterfrom
fix-formating-rest-all

Conversation

@sriramveeraghanta
Copy link
Member

@sriramveeraghanta sriramveeraghanta commented Feb 24, 2026

Summary by CodeRabbit

  • Documentation

    • Large docs refresh: unified formatting, standardized tables, clearer examples, expanded guidance across self-hosted, deployment (Docker, Kubernetes, AIO), integrations, OAuth/SSO, telemetry, and troubleshooting. Improved readability and step presentation for migration, backup/restore, airgapped, and admin workflows.
  • Chores

    • Bumped package manager version.

@vercel
Copy link

vercel bot commented Feb 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
developer-docs Ready Ready Preview, Comment Feb 24, 2026 7:23pm

Request Review

@coderabbitai
Copy link

coderabbitai bot commented Feb 24, 2026

Warning

Rate limit exceeded

@sriramveeraghanta has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 16 minutes and 2 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 9e6214b and 8b879f1.

📒 Files selected for processing (7)
  • CLAUDE.md
  • CONTRIBUTING.md
  • docs/self-hosting/govern/environment-variables.md
  • docs/self-hosting/govern/integrations/gitlab.md
  • docs/self-hosting/manage/migrate-plane.md
  • docs/self-hosting/methods/docker-compose.md
  • docs/self-hosting/upgrade-from-community.md
📝 Walkthrough

Walkthrough

This PR makes wide documentation edits across developer and self-hosting guides (formatting, reflow, table standardization, example clarifications), adds a CLAUDE.md doc, and updates package.json's packageManager pnpm version from 10.28.2 to 10.30.2. No runtime code behavior changes.

Changes

Cohort / File(s) Summary
OAuth & Build App docs
docs/dev-tools/build-plane-app/create-oauth-application.md, docs/dev-tools/build-plane-app/examples.md, docs/dev-tools/build-plane-app/oauth-scopes.md, docs/dev-tools/build-plane-app/overview.md
Reflowed code blocks and URLs, standardized OAuth scopes tables, added brief guidance bullets and minor formatting fixes.
Self-hosting — Overview & Editions
docs/self-hosting/editions-and-versions.md, docs/self-hosting/overview.md, docs/self-hosting/plane-architecture.md, docs/self-hosting/telemetry.md
Whitespace/list alignment, JSON sample normalization, minor content reflow and newline cleanup.
Self-hosting — Governance (Auth & SSO)
docs/self-hosting/govern/authentication.md, docs/self-hosting/govern/ldap.md, docs/self-hosting/govern/github-oauth.md, docs/self-hosting/govern/google-oauth.md, docs/self-hosting/govern/oidc-sso.md, docs/self-hosting/govern/saml-sso.md
Admonition/tip normalization, code/table alignment, example clarifications, and trailing-newline fixes.
Self-hosting — Governance (Search, SSL, Storage, Proxy)
docs/self-hosting/govern/advanced-search.md, docs/self-hosting/govern/configure-ssl.md, docs/self-hosting/govern/external-secrets.md, docs/self-hosting/govern/private-bucket.md, docs/self-hosting/govern/reverse-proxy.md
YAML/code block reformatting, added env var examples (SITE_ADDRESS/WEB_URL), DNS/ACME notes, CORS snippet placement, and verification command examples.
Self-hosting — Core Config & Env
docs/self-hosting/govern/communication.md, docs/self-hosting/govern/database-and-storage.md, docs/self-hosting/govern/environment-variables.md, docs/self-hosting/govern/instance-admin.md
Major table and environment-variable renaming/normalization, reflowed config blocks, and procedural formatting changes.
Self-hosting — Integrations
docs/self-hosting/govern/integrations/github.md, docs/self-hosting/govern/integrations/gitlab.md, docs/self-hosting/govern/integrations/sentry.md, docs/self-hosting/govern/integrations/slack.md
Extensive markdown/table normalization; Slack manifest restructured (oauth_config, interactivity, events); reindented examples and expanded explanatory sections.
Self-hosting — Management & Operations
docs/self-hosting/manage/backup-restore.md, docs/self-hosting/manage/community-to-airgapped.md, docs/self-hosting/manage/migrate-plane.md, docs/self-hosting/manage/prime-cli.md, docs/self-hosting/manage/upgrade-from-0.13.2-0.14.0.md, docs/self-hosting/manage/upgrade-plane.md, docs/self-hosting/manage/view-logs.md
Procedure and command block standardization, added Community Edition details, step renumbering and clearer code-fencing.
Self-hosting — License Management
docs/self-hosting/manage/manage-licenses/activate-airgapped.md, docs/self-hosting/manage/manage-licenses/activate-enterprise.md, docs/self-hosting/manage/manage-licenses/activate-pro-and-business.md
Minor formatting fixes: image indentation, bullet→paragraph conversions, and step flow tidying.
Self-hosting — Deployment Methods
docs/self-hosting/methods/airgapped-edition-kubernetes.md, docs/self-hosting/methods/airgapped-edition.md, docs/self-hosting/methods/airgapped-requirements.md, docs/self-hosting/methods/clone-docker-images.md, docs/self-hosting/methods/coolify.md, docs/self-hosting/methods/docker-aio.md, docs/self-hosting/methods/docker-compose.md, docs/self-hosting/methods/kubernetes.md, docs/self-hosting/methods/one-click.md, docs/self-hosting/methods/overview.md, docs/self-hosting/methods/podman-quadlets.md, docs/self-hosting/methods/portainer.md
Formatting and consolidation; notable: Kubernetes quick setup now references Community chart (plane-ce/plane-app), Docker AIO docs expanded service/port lists, and many env var/command presentation updates.
Self-hosting — Troubleshooting
docs/self-hosting/troubleshoot/cli-errors.md, docs/self-hosting/troubleshoot/installation-errors.md, docs/self-hosting/troubleshoot/license-errors.md, docs/self-hosting/troubleshoot/storage-errors.md
YAML front-matter newline fixes, bucket policy/MinIO command reformatting, bullet/list normalization and added verification notes.
Docs & repo additions
CLAUDE.md
New contributor-facing documentation file describing repository conventions, developer commands, CI checks, and docs patterns.
Package metadata
package.json
Bumped packageManager pnpm entry from 10.28.2+... to 10.30.2+... (SHA updated).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 I hopped through docs, tidy and neat,

Tables aligned and code blocks complete,
Env names polished, examples in view,
pnpm nudged forward — a tiny breakthrough,
The rabbit stamps this update with a cheerful beat.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The PR title 'fix: formatting for all pages' is vague and does not accurately describe the primary changes, which encompass both extensive documentation formatting updates and a meaningful package.json version bump of pnpm. Consider using a more specific title such as 'docs: update formatting and environment variable documentation' or 'chore: standardize docs formatting and update pnpm to 10.30.2' to better reflect the actual scope of changes.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-formating-rest-all

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (7)
docs/self-hosting/methods/one-click.md (1)

43-43: ⚠️ Potential issue | 🟡 Minor

plane-app ---help looks like a typo.

Most CLIs use --help. Triple dashes are likely invalid.

🔧 Suggested fix
-Use `plane-app` [OPERATOR] to manage your Plane instance easily. Get a list of all operators with `plane-app ---help`.
+Use `plane-app` [OPERATOR] to manage your Plane instance easily. Get a list of all operators with `plane-app --help`.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/one-click.md` at line 43, Replace the incorrect
triple-dash help invocation "plane-app ---help" with the standard double-dash
form "plane-app --help" wherever it appears in the docs (look for the literal
"plane-app ---help" in the one-click.md content) so the CLI help flag is valid
and consistent.
docs/self-hosting/manage/backup-restore.md (1)

47-47: ⚠️ Potential issue | 🟡 Minor

Contradictory restore behavior description.

The sentence states the command uses "the most recent backup file" (implying automatic selection), yet immediately advises users to "ensure you have selected the correct backup" (implying interactive selection). These are mutually contradictory — please clarify which is actually true:

  • If the command is non-interactive and always picks the latest backup, remove the "ensure you have selected" clause.
  • If the command is interactive and prompts the user to pick a backup, replace "most recent backup file" with a description of the selection prompt.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/manage/backup-restore.md` at line 47, The documentation
sentence "This command prompts the restoration process, which will overwrite the
current data with the data from the most recent backup file. Ensure you have
selected the correct backup before running this command, as restoring will
replace your current data." is contradictory — decide whether the command is
non-interactive (always uses the latest backup) or interactive (prompts user to
choose); if non-interactive, remove the "Ensure you have selected..." clause and
state it automatically uses the most recent backup; if interactive, replace
"most recent backup file" with wording like "the backup you select in the
prompt" and keep the "Ensure you have selected..." guidance so the behavior is
consistent.
docs/self-hosting/govern/integrations/gitlab.md (1)

1-1: ⚠️ Potential issue | 🟡 Minor

Prettier CI failure must be resolved before merge.

Run prettier --write docs/self-hosting/govern/integrations/gitlab.md and commit the result.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/integrations/gitlab.md` at line 1, Prettier
formatting failed for the GitLab integration markdown; run the formatter and
commit the changes: execute `prettier --write
docs/self-hosting/govern/integrations/gitlab.md` (or your project's configured
prettier command) to fix formatting, then stage and commit the updated
docs/self-hosting/govern/integrations/gitlab.md file so the CI Prettier check
passes.
docs/self-hosting/methods/airgapped-edition.md (1)

24-34: ⚠️ Potential issue | 🟡 Minor

Unindent the admonition closing fence.
The closing ::: is indented, which can cause the warning block to render incorrectly.

✏️ Proposed fix
-  :::
+:::
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/airgapped-edition.md` around lines 24 - 34, The
closing admonition fence ':::' is indented which breaks the warning block
rendering; move the closing ':::' so it starts at column 0 (unindented) to match
the opening ':::warning' and close the admonition properly, ensuring the list
items (MinIO, Redis, PostgreSQL, RabbitMQ, OpenSearch) remain inside the
admonition block until that unindented ':::'.
docs/self-hosting/methods/kubernetes.md (1)

41-43: ⚠️ Potential issue | 🟡 Minor

Avoid contradicting version guidance (stable vs explicit version).
Earlier you warn against using stable, but the CE quick setup sets planeVersion=stable. This will confuse readers and may lead to unexpected versions. Consider using a concrete version here (or explicitly call out that CE uses stable and why).

Also applies to: 649-655

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/kubernetes.md` around lines 41 - 43, The docs
contradict themselves by warning not to set PLANE_VERSION to "stable" while the
CE quick setup uses planeVersion=stable; update the CE quick setup example to
use a concrete version number (e.g., 2.3.1) or add an explicit note in that
section explaining why CE used "stable" and the implications; locate and change
the planeVersion=stable example in the CE quick setup and any other occurrences
(including the PLANE_VERSION environment variable note) so both places
consistently recommend using explicit version numbers or clearly document the
exception for CE.
docs/self-hosting/govern/integrations/github.md (1)

54-55: ⚠️ Potential issue | 🟡 Minor

Use “GitHub” capitalization consistently.
There are a few “Github” occurrences; please switch to “GitHub” for brand accuracy.

Also applies to: 314-318

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/integrations/github.md` around lines 54 - 55, Update
all occurrences of the vendor name spelled "Github" to the correct “GitHub”
capitalization in this document; specifically replace instances within the
sentence starting "These URLs allow Plane to verify and enable workspace
connection with the Github App" and the image alt/text "Add Callback URL" if it
contains "Github", and also correct the occurrences noted around lines
314-318—scan the file for any remaining "Github" tokens and change them to
"GitHub" to ensure consistent brand accuracy.
docs/self-hosting/govern/integrations/slack.md (1)

130-203: ⚠️ Potential issue | 🟠 Major

YAML manifest indentation is invalid.
The YAML example won’t parse as-is (missing indentation under top-level keys; message.im is mis-indented). Please fix indentation so users can copy-paste it directly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/integrations/slack.md` around lines 130 - 203, The
YAML example has inconsistent/missing indentation for nested mappings and list
items (e.g., display_information values, features -> bot_user, shortcuts,
slash_commands, oauth_config -> redirect_urls, scopes.user/bot lists, and
settings -> event_subscriptions where "- message.im" is mis-indented); fix by
using two-space indentation for nested keys and aligning all list items under
their parent keys (ensure bot_events list items are vertically aligned with a
single leading hyphen and no extra leading space, indent request_url under
event_subscriptions, place redirect_urls under oauth_config, and indent the
entries of scopes.user and scopes.bot consistently) so the manifest is valid
YAML and can be copy-pasted.
🟡 Minor comments (26)
docs/self-hosting/methods/airgapped-requirements.md-109-109 (1)

109-109: ⚠️ Potential issue | 🟡 Minor

Fix spelling consistency: “airgap” → “airgapped/air-gapped”.

Align with earlier usage (“airgapped” / “air-gapped”) to avoid a typo in the docs.

✍️ Proposed edit
- - Keys and secret rotation policies should be part of the airgap operational procedures
+ - Keys and secret rotation policies should be part of the airgapped operational procedures
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/airgapped-requirements.md` at line 109, Update the
sentence "Keys and secret rotation policies should be part of the airgap
operational procedures" to use the consistent term used elsewhere (either
"airgapped" or "air-gapped"); for example, change it to "Keys and secret
rotation policies should be part of the airgapped operational procedures" (or
"air-gapped" if your docs use hyphenation) so it matches other occurrences in
the document.
docs/self-hosting/methods/one-click.md-9-9 (1)

9-9: ⚠️ Potential issue | 🟡 Minor

Fix the admonition syntax so it renders.

::: infoThis... is likely missing a space/newline after info, so the block won’t render as an info callout.

🔧 Suggested fix
-::: infoThis feature is included in our paid plans, but for a limited time, our community users can access it for free.:::
+::: info
+This feature is included in our paid plans, but for a limited time, our community users can access it for free.
+:::
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/one-click.md` at line 9, The admonition currently
uses "::: infoThis..." which prevents rendering; update the admonition to use
the proper syntax by separating the type from the content — change the marker to
"::: info" followed by a newline and then the callout text, and close with
":::". Locate the offending string "::: infoThis..." in the document and replace
it with the correct three-line pattern: the opening marker "::: info", the body
text on the next line, and the closing ":::".
docs/self-hosting/troubleshoot/license-errors.md-46-46 (1)

46-46: ⚠️ Potential issue | 🟡 Minor

Typo: "confiuration" → "configuration"

✏️ Proposed fix
-This usually occurs when the environment confiuration is incorrect. The Env variable `payment_server_url` is missing in the setup. In this case, follow the below steps.
+This usually occurs when the environment configuration is incorrect. The Env variable `payment_server_url` is missing in the setup. In this case, follow the below steps.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/troubleshoot/license-errors.md` at line 46, Fix the typo in
the troubleshooting text: change "confiuration" to "configuration" in the
sentence that mentions the missing Env variable `payment_server_url` so the line
reads "This usually occurs when the environment configuration is incorrect." and
ensure the variable name `payment_server_url` remains unchanged.
docs/self-hosting/troubleshoot/license-errors.md-51-51 (1)

51-51: ⚠️ Potential issue | 🟡 Minor

Wording: "new plane.env file" is misleading

After prime-cli repair the file is repaired/updated in place, not newly created. "New" could confuse users into thinking a fresh file is generated.

✏️ Proposed fix
-4. If needed, you can configure the instance in [God mode](/self-hosting/govern/instance-admin#settings) or adjust the environment variables directly in the new plane.env file.
+4. If needed, you can configure the instance in [God mode](/self-hosting/govern/instance-admin#settings) or adjust the environment variables directly in the plane.env file.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/troubleshoot/license-errors.md` at line 51, Edit the
sentence that currently says "new plane.env file" to avoid implying a fresh file
is created; replace it with phrasing such as "the updated plane.env file" or
"the existing plane.env file (updated in place by prime-cli repair)" so it
accurately reflects that prime-cli repair updates the file in place; locate the
sentence containing "new plane.env file" in the Troubleshoot license-errors doc
and update the wording accordingly.
docs/self-hosting/editions-and-versions.md-45-58 (1)

45-58: ⚠️ Potential issue | 🟡 Minor

Fix inconsistent terminal punctuation and capitalise "Docker".

Three of the five bullet descriptions are missing a terminal period, inconsistent with lines 46 and 52:

Line Issue
49 governance toolsgovernance tools.
52 docker registryDocker registry (brand name)
55 restricted networksrestricted networks.
58 network communicationnetwork communication.
✏️ Proposed fix
- - **Full feature parity**
-   Includes all features available in the standard Commercial Edition, including advanced work management, security controls, and governance tools
+ - **Full feature parity**
+   Includes all features available in the standard Commercial Edition, including advanced work management, security controls, and governance tools.

- - **Version updates**
-   Updates from your own docker registry.
+ - **Version updates**
+   Updates from your own Docker registry.

- - **Self-contained architecture**
-   All services, dependencies, and resources are bundled for deployment in restricted networks
+ - **Self-contained architecture**
+   All services, dependencies, and resources are bundled for deployment in restricted networks.

- - **Compliance-ready**
-   Designed to meet requirements for environments that prohibit external network communication
+ - **Compliance-ready**
+   Designed to meet requirements for environments that prohibit external network communication.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/editions-and-versions.md` around lines 45 - 58, Summary:
Fix inconsistent terminal punctuation on several bullets and capitalize the
brand name "Docker". Update the bullet under "Full feature parity" to end with a
period ("...governance tools."), change "docker registry" in the "Version
updates" bullet to "Docker registry", and add trailing periods to the
"Self-contained architecture" and "Compliance-ready" bullet descriptions so all
five bullets consistently end with periods.
docs/self-hosting/manage/manage-licenses/activate-pro-and-business.md-24-24 (1)

24-24: ⚠️ Potential issue | 🟡 Minor

Missing trailing period on step 3.

All other instruction steps in this file end with a period, but line 24 does not.

✏️ Proposed fix
-3.  On the Plane app, navigate to **Workspace Settings > Billing and plans**
+3.  On the Plane app, navigate to **Workspace Settings > Billing and plans**.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/manage/manage-licenses/activate-pro-and-business.md` at
line 24, The step text "On the Plane app, navigate to **Workspace Settings >
Billing and plans**" is missing a trailing period; update that string in the
document so it matches the other steps by adding a period at the end (i.e.,
change the line in activate-pro-and-business.md to end with "Billing and
plans**.").
docs/self-hosting/govern/instance-admin.md-46-46 (1)

46-46: ⚠️ Potential issue | 🟡 Minor

Add alt text to images flagged by markdownlint (MD045).

Three images lack alt text, which breaks accessibility and fails the MD045 rule:

✏️ Proposed fix
-![](/images/instance-admin/god-mode-general.webp)
+![God Mode — General settings page](/images/instance-admin/god-mode-general.webp)
-![](/images/instance-admin/god-mode-workspaces.webp)
+![God Mode — Workspaces management page](/images/instance-admin/god-mode-workspaces.webp)
-![](/images/instance-admin/god-mode-email.webp)
+![God Mode — Email/SMTP configuration page](/images/instance-admin/god-mode-email.webp)

Also applies to: 67-67, 73-73

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/instance-admin.md` at line 46, The three image tags
lacking alt text (e.g., the line containing
"![](/images/instance-admin/god-mode-general.webp)" and the other occurrences at
the same file indicated by lines 67 and 73) should be updated to include
meaningful alt text for accessibility and to satisfy MD045; replace each
"![](...)" with a descriptive form like "![Brief description of
image](/images/instance-admin/god-mode-general.webp)" and do the same for the
other two image entries, ensuring the alt strings briefly describe the visual
content or purpose.
docs/self-hosting/govern/reverse-proxy.md-15-15 (1)

15-15: ⚠️ Potential issue | 🟡 Minor

Typo: "unsused" → "unused"

Pre-existing but straightforward to fix while reformatting this file.

📝 Proposed fix
-1. Assign free ports for Plane to listen on. Update the following variables with two different unsused ports:
+1. Assign free ports for Plane to listen on. Update the following variables with two different unused ports:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/reverse-proxy.md` at line 15, Fix the typo "unsused"
to "unused" in the sentence starting "Assign free ports for Plane to listen on.
Update the following variables with two different unsused ports:" in the
reverse-proxy.md content; update the word "unsused" to "unused" so the sentence
reads "...with two different unused ports."
docs/self-hosting/govern/reverse-proxy.md-24-26 (1)

24-26: ⚠️ Potential issue | 🟡 Minor

Extra indentation inside the SITE_ADDRESS code block will render with 2 leading spaces.

Line 25 is indented 5 spaces while the surrounding fence (lines 24 and 26) starts at 3 spaces. Inside a fenced code block the content is rendered literally, so the 2 extra spaces will appear as leading whitespace in the output — unlike the LISTEN_HTTP_PORT/LISTEN_HTTPS_PORT block above where content aligns flush with the fence.

📝 Proposed fix
-     SITE_ADDRESS=:80
+   SITE_ADDRESS=:80
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/reverse-proxy.md` around lines 24 - 26, The
SITE_ADDRESS code block has two extra leading spaces causing rendered
whitespace; edit the fenced block containing "SITE_ADDRESS=:80" so the inner
line aligns with the fence (remove the extra two spaces) ensuring the content is
flush with the surrounding triple-backtick fences and no leading spaces remain;
verify the "SITE_ADDRESS" line now matches the alignment used by the
LISTEN_HTTP_PORT/LISTEN_HTTPS_PORT blocks.
docs/self-hosting/manage/backup-restore.md-35-35 (1)

35-35: ⚠️ Potential issue | 🟡 Minor

Typo: double period at end of sentence (also repeated on Line 91).

Both "Backup plane.env" sections (Commercial at Line 35 and Community at Line 91) end with installed.. — one period should be removed.

✏️ Proposed fix (Line 35)
-1. Navigate to the `/opt/plane` folder on your machine or server where Plane is installed..
+1. Navigate to the `/opt/plane` folder on your machine or server where Plane is installed.
✏️ Proposed fix (Line 91)
-1. Navigate to the folder on your machine or server where Plane is installed..
+1. Navigate to the folder on your machine or server where Plane is installed.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/manage/backup-restore.md` at line 35, Fix the typo of a
double period in the sentence "Navigate to the `/opt/plane` folder on your
machine or server where Plane is installed.." by removing the extra trailing
period so it reads "...installed."; apply the same single-period fix to the
repeated sentence in the other "Backup plane.env" section that currently ends
with "installed.." to ensure both occurrences use a single period.
docs/self-hosting/methods/docker-aio.md-44-45 (1)

44-45: ⚠️ Potential issue | 🟡 Minor

Missing trailing two-space line break on the _RabbitMQ_ entry.

Lines 40, 42, and 46 all use trailing (two spaces) to force a Markdown <br> between the service name and its description. Line 44 (_RabbitMQ_) is missing those trailing spaces, so "For message queuing" may render on the same line as _RabbitMQ_ in some Markdown parsers.

✏️ Proposed fix
-  - _RabbitMQ_
+  - _RabbitMQ_  
     For message queuing
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/docker-aio.md` around lines 44 - 45, The
`_RabbitMQ_` entry is missing the trailing two spaces that force a Markdown line
break; update the `_RabbitMQ_` line (the literal `_RabbitMQ_` string in the
docker-aio.md fragment) to include two trailing spaces (`_RabbitMQ_  `) so its
description "For message queuing" renders on the next line like the other
entries.
docs/self-hosting/methods/docker-aio.md-82-100 (1)

82-100: ⚠️ Potential issue | 🟡 Minor

Inconsistent indentation and placeholder styles vs. the first docker run block.

Two cosmetic inconsistencies compared to lines 63–78:

  1. Indentation – the first block uses 4-space indentation for each continuation flag; this block uses no indentation.
  2. Placeholder style – lines 74–75 use plain text (your-access-key, your-secret-key) while lines 94–95 use angle-bracket syntax (<YOUR_AWS_ACCESS_KEY_ID>, <YOUR_AWS_SECRET_ACCESS_KEY>). Pick one convention and apply it consistently.
✏️ Proposed fix
 MYIP=192.168.68.169
 docker run --name myaio -d \
-  -p 80:80 \
-  -p 20025:20025 \
-  -p 20465:20465 \
-  -p 20587:20587 \
-  -e DOMAIN_NAME=${MYIP} \
-  -e DATABASE_URL=postgresql://plane:plane@${MYIP}:15432/plane \
-  -e REDIS_URL=redis://${MYIP}:16379 \
-  -e AMQP_URL=amqp://plane:plane@${MYIP}:15673/plane \
-  -e AWS_REGION=us-east-1 \
-  -e AWS_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY_ID> \
-  -e AWS_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_ACCESS_KEY> \
-  -e AWS_S3_BUCKET_NAME=plane-app \
-  -e AWS_S3_ENDPOINT_URL=http://${MYIP}:19000 \
-  -e FILE_SIZE_LIMIT=10485760 \
+    -p 80:80 \
+    -p 443:443 \
+    -p 20025:20025 \
+    -p 20465:20465 \
+    -p 20587:20587 \
+    -e DOMAIN_NAME=${MYIP} \
+    -e DATABASE_URL=postgresql://plane:plane@${MYIP}:15432/plane \
+    -e REDIS_URL=redis://${MYIP}:16379 \
+    -e AMQP_URL=amqp://plane:plane@${MYIP}:15673/plane \
+    -e AWS_REGION=us-east-1 \
+    -e AWS_ACCESS_KEY_ID=your-access-key \
+    -e AWS_SECRET_ACCESS_KEY=your-secret-key \
+    -e AWS_S3_BUCKET_NAME=plane-app \
+    -e AWS_S3_ENDPOINT_URL=http://${MYIP}:19000 \
+    -e FILE_SIZE_LIMIT=10485760 \
     artifacts.plane.so/makeplane/plane-aio-commercial:stable
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/docker-aio.md` around lines 82 - 100, The docker
run block starting with "docker run --name myaio --rm -it" has inconsistent
continuation indentation and mismatched placeholder styles; update this block to
use the same 4-space indentation for each continuation flag as the first block
and make the AWS credential placeholders consistent with the earlier block
(replace <YOUR_AWS_ACCESS_KEY_ID> and <YOUR_AWS_SECRET_ACCESS_KEY> with the
plain-text style used previously, e.g. your-access-key / your-secret-key),
ensuring environment variables like DOMAIN_NAME, AWS_ACCESS_KEY_ID, and
AWS_SECRET_ACCESS_KEY match the established conventions.
docs/self-hosting/methods/coolify.md-21-22 (1)

21-22: ⚠️ Potential issue | 🟡 Minor

Prettier CI failure must be resolved before merge.

The formatting introduced at lines 21–22 fails the Prettier check. Run prettier --write docs/self-hosting/methods/coolify.md and commit the result.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/coolify.md` around lines 21 - 22, Prettier
formatting failed for docs/self-hosting/methods/coolify.md around the line with
`coolify-compose.yml`; run the formatter (e.g., prettier --write
docs/self-hosting/methods/coolify.md), review the changes, and commit the
formatted file so the Prettier CI check passes.
docs/self-hosting/govern/integrations/gitlab.md-84-90 (1)

84-90: ⚠️ Potential issue | 🟡 Minor

Spaces inside code spans (MD038) and broken list indentation.

Two separate issues in this block:

  1. MD038 — spaces inside code spans (lines 85–86, 89–90): The inline backtick spans wrap the redirect URLs with leading whitespace (` https://... `), causing them to render with visible extra spaces. Replace with clean inline code or a fenced block:
🛠️ Proposed fix for MD038
-  **For Plane Cloud:**
-  `     https://silo.plane.so/api/oauth/gitlab-enterprise/auth/callback
-    `
+  **For Plane Cloud:**
+  ```
+  https://silo.plane.so/api/oauth/gitlab-enterprise/auth/callback
+  ```

-**For Plane Self-Hosted:**
-`     https://<your-domain>/silo/api/oauth/gitlab-enterprise/auth/callback
-    `
+  **For Plane Self-Hosted:**
+  ```
+  https://<your-domain>/silo/api/oauth/gitlab-enterprise/auth/callback
+  ```
  1. Broken list indentation (lines 88–90): The "For Plane Self-Hosted" heading and its code span start at column 0, outside the - **Redirect URI** bullet. Lines 84–86 ("For Plane Cloud") are correctly indented with 2 spaces. The self-hosted block needs the same indentation to remain part of the list item (see proposed fix above).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/integrations/gitlab.md` around lines 84 - 90, The
Redirect URI block under the "- **Redirect URI**" list item contains inline code
spans with leading/trailing spaces and the "For Plane Self-Hosted" lines are
mis-indented; fix by replacing the spaced inline backticks (around
"https://silo.plane.so/api/oauth/gitlab-enterprise/auth/callback" and
"https://<your-domain>/silo/api/oauth/gitlab-enterprise/auth/callback") with
properly indented fenced code blocks, and ensure both "**For Plane Cloud:**" and
"**For Plane Self-Hosted:**" plus their respective code blocks are indented to
the same level as the "- **Redirect URI**" bullet so they remain part of that
list item.
docs/dev-tools/build-plane-app/create-oauth-application.md-9-13 (1)

9-13: ⚠️ Potential issue | 🟡 Minor

Prettier check failed—please reformat this file.

CI reports a Prettier failure; run Prettier on this file before merge.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/dev-tools/build-plane-app/create-oauth-application.md` around lines 9 -
13, Prettier formatting failed for the markdown doc (the section showing the URL
code block with "https://app.plane.so/<workspace>/settings/integrations/" under
the "Navigate to **Workspace Settings** → **Integrations**." heading); run the
project's Prettier configuration against this file (create-oauth-application.md)
and reformat it so the code fence, inline markup, and trailing newline conform
to the repo's Prettier rules, then re-stage and push the formatted file.
docs/self-hosting/methods/portainer.md-20-34 (1)

20-34: ⚠️ Potential issue | 🟡 Minor

Prettier check failed—please reformat this file.

CI reports a Prettier failure; run Prettier on this file before merge.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/portainer.md` around lines 20 - 34, Prettier
reports formatting errors in this Markdown; run Prettier (or your repo's format
command) on the docs content and reformat the file so code fences and the
admonition block are correctly formatted; specifically ensure the code blocks
around the curl commands for portainer-compose.yml and variables.env and the :::
warning block for the <plane-version> note comply with your Prettier/Markdown
rules, then stage the formatted docs/self-hosting/methods/portainer.md and push
the fix.
docs/self-hosting/govern/google-oauth.md-29-29 (1)

29-29: ⚠️ Potential issue | 🟡 Minor

Add alt text for the image.

The image is missing alt text, which hurts accessibility.

✅ Suggested fix
-      ![](/images/authentication/google/google-auth-4.png)
+      ![Google OAuth credentials screen](/images/authentication/google/google-auth-4.png)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/google-oauth.md` at line 29, The image markdown line
"![](/images/authentication/google/google-auth-4.png)" is missing alt text;
update that markdown by adding a concise, descriptive alt string inside the
square brackets (for example "[Google OAuth consent screen showing client ID and
scopes]") so the line becomes something like "![descriptive alt
text](/images/authentication/google/google-auth-4.png)"; ensure the alt text
accurately describes the image content for accessibility.
docs/self-hosting/govern/ldap.md-38-42 (1)

38-42: ⚠️ Potential issue | 🟡 Minor

Add language identifiers to fenced examples.
Markdownlint flags these blocks; use text or ldif consistently (apply to all similar blocks).

✏️ Example fix (apply similarly)
-```
+```text
 ldap://ldap.company.com:389
 ldaps://ad.company.com:636
 ldap://192.168.1.100:389
</details>



Also applies to: 52-55, 59-62, 76-80, 100-102, 118-120

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/govern/ldap.md around lines 38 - 42, Add a language
identifier (e.g., text or ldif) to each fenced code block containing LDAP
examples so markdownlint stops flagging them; for each block that currently
starts with and contains URLs like "ldap://ldap.company.com:389" or entries such as the LDAP/LDIF examples, change the opening fence totext (or ```ldif)
consistently across all similar blocks (the shown block and the other example
blocks containing LDAP host lines and LDIF snippets).


</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/methods/docker-compose.md-64-64 (1)</summary><blockquote>

`64-64`: _⚠️ Potential issue_ | _🟡 Minor_

**Fix OS capitalization.**  
Use “macOS” instead of “macos”.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-- OS with bash scripting enabled (Ubuntu, Linux AMI, macos). Windows systems need to have [gitbash](https://git-scm.com/download/win).
+- OS with bash scripting enabled (Ubuntu, Linux AMI, macOS). Windows systems need to have [gitbash](https://git-scm.com/download/win).
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/docker-compose.md` at line 64, Replace the
incorrect OS capitalization "macos" with the correct "macOS" in the sentence
that currently reads 'OS with bash scripting enabled (Ubuntu, Linux AMI, macos).
Windows systems need to have [gitbash](https://git-scm.com/download/win).' —
locate that string and update "macos" to "macOS" so the text becomes 'OS with
bash scripting enabled (Ubuntu, Linux AMI, macOS). Windows systems need to have
[gitbash](https://git-scm.com/download/win).'
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/govern/advanced-search.md-266-268 (1)</summary><blockquote>

`266-268`: _⚠️ Potential issue_ | _🟡 Minor_

**Fix typo in the OpenSearch flow image alt text.**  
“OpenSeach” should be “OpenSearch” for clarity and accessibility.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-![OpenSeach flow](/images/open-search/opensearch-flow.webp)
+![OpenSearch flow](/images/open-search/opensearch-flow.webp)
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/advanced-search.md` around lines 266 - 268, The
image alt text contains a typo: change the alt string "OpenSeach flow" to
"OpenSearch flow" in the markdown image tag (the line containing ![OpenSeach
flow](/images/open-search/opensearch-flow.webp)) so the alt attribute correctly
reads "OpenSearch flow" for accessibility and clarity.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/methods/docker-compose.md-35-39 (1)</summary><blockquote>

`35-39`: _⚠️ Potential issue_ | _🟡 Minor_

**Specify language for the install command block.**  
Adds correct syntax highlighting and satisfies MD040.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-    ```
+    ```bash
     curl -fsSL https://prime.plane.so/install/ | sh -
     ```
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/methods/docker-compose.md around lines 35 - 39, Add a
language specifier to the fenced code block containing the install command so
the markdown linter recognizes it as Bash (e.g., change the triple backticks
before the line containing "curl -fsSL https://prime.plane.so/install/ | sh -"
to "```bash"); update the block around that exact command string to use the bash
fence.


</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/manage/prime-cli.md-95-103 (1)</summary><blockquote>

`95-103`: _⚠️ Potential issue_ | _🟡 Minor_

**Fix heading level jump (h2 → h4).**  
Use `###` here to keep the hierarchy consistent.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-#### Usage
+### Usage
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/manage/prime-cli.md` around lines 95 - 103, There is a
heading level jump (h2 → h4) around the "Setup.sh script • Community Edition"
section; change the "#### Usage" heading to "### Usage" so the hierarchy is
consistent, and update the nearby detail block title if needed (the "Setup.sh
script • Community Edition" details/summary block and the "Usage" heading) to
match the new h3 level.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/govern/database-and-storage.md-15-86 (1)</summary><blockquote>

`15-86`: _⚠️ Potential issue_ | _🟡 Minor_

**Run Prettier for this file.**  
CI reports a Prettier failure here; please format with `prettier --write` to unblock the pipeline.

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/database-and-storage.md` around lines 15 - 86, This
Markdown file (docs/self-hosting/govern/database-and-storage.md) is failing
Prettier; run the formatter (prettier --write) against this file to fix
whitespace/formatting issues and commit the reformatted file so CI passes;
ensure you stage the updated docs/self-hosting/govern/database-and-storage.md
and re-run CI.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/methods/kubernetes.md-638-693 (1)</summary><blockquote>

`638-693`: _⚠️ Potential issue_ | _🟡 Minor_

**Run Prettier for this file.**  
CI reports a Prettier failure for this file; please format with `prettier --write` to unblock the pipeline.

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/kubernetes.md` around lines 638 - 693, This file
fails Prettier formatting; run the formatter (prettier --write) on
docs/self-hosting/methods/kubernetes.md to fix styling inconsistencies (notably
around the "Quick setup" and "Advanced setup" sections and the helm install code
blocks such as the helm install plane-app ... and helm show values
makeplane/plane-ce > values.yaml lines) so CI passes; commit the rewritten file.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/govern/database-and-storage.md-52-77 (1)</summary><blockquote>

`52-77`: _⚠️ Potential issue_ | _🟡 Minor_

**Add a language tag to the fenced block.**  
MD040 is triggered here; please label the block (e.g., `json`).  

<details>
<summary>💡 Example fix</summary>

```diff
-      ```
+      ```json
       [
             {
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/govern/database-and-storage.md around lines 52 - 77, The
fenced code block that contains the JSON CORS policy (the triple-backtick block
wrapping the JSON array starting with "[ {") needs a language tag to satisfy
MD040; update the opening fence to include a language identifier such as json
(e.g., change "" to "json") so the block is properly labeled and
syntax-highlighted while keeping the existing JSON content and closing fence
unchanged.


</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/govern/environment-variables.md-63-63 (1)</summary><blockquote>

`63-63`: _⚠️ Potential issue_ | _🟡 Minor_

**Change `SITE_ADDRES` to `SITE_ADDRESS` on line 63.**

The environment variable is misspelled in the table. Throughout the documentation (`docker-aio.md`, `docker-swarm.md`, `portainer.md`, `reverse-proxy.md`, `configure-ssl.md`, `custom-domain.md`), this variable consistently uses the correct spelling `SITE_ADDRESS` with a trailing 'S'. The table entry is the only instance with the typo.

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/environment-variables.md` at line 63, Replace the
misspelled environment variable SITE_ADDRES in the documentation table with the
correct name SITE_ADDRESS; locate the table entry that currently shows
`SITE_ADDRES` and update it to `SITE_ADDRESS` so it matches the rest of the docs
and examples.
```

</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🧹 Nitpick comments (8)</summary><blockquote>

<details>
<summary>docs/self-hosting/methods/one-click.md (1)</summary><blockquote>

`56-64`: **Tighten list nesting/indentation for consistent rendering.**

The mixed indentation and inline `<div>` blocks under list items are inconsistent; markdown renderers may break the hierarchy or spacing. Consider aligning nested content uniformly (e.g., indent all child lines under the bullet by two spaces).

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/one-click.md` around lines 56 - 64, The nested list
items under "Change your proxy or listening port", "Change your domain name",
"File upload size", and "Specify external database address when using an
external database" use inline <div> blocks and inconsistent indentation; update
the block so each child line is consistently indented under its parent bullet
(e.g., two spaces) and replace the inline <div> elements with properly indented
markdown sublines or a nested list format to ensure consistent rendering across
markdown renderers.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/telemetry.md (1)</summary><blockquote>

`70-80`: **Optional: minor prose tightening flagged by linter**

Two style suggestions surfaced by LanguageTool — worth considering for a docs polish pass:

| Line | Current | Suggested |
|------|---------|-----------|
| 70 | "quickly investigate and **fix** issues" | "quickly investigate and **resolve** issues" (more formal) |
| 80 | "you should be **in control of** your data" | "you should **control** your data" (less wordy) |

Neither affects meaning or rendering; purely optional.

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/telemetry.md` around lines 70 - 80, The prose contains two
optional wording tweaks: replace "quickly investigate and fix issues" with
"quickly investigate and resolve issues" and replace "you should be in control
of your data" with "you should control your data"; locate the sentences
containing those exact phrases in the telemetry.md content (the paragraph
beginning "Identifying bugs and errors..." and the paragraph beginning "As much
as we'd love...") and apply the suggested substitutions to tighten style without
changing meaning.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/manage/upgrade-plane.md (1)</summary><blockquote>

`33-45`: **Minor inconsistency: step 1 is now a "loose" list item while step 2 remains "tight".**

Lines 34~ and 38~ added blank lines before and after the `sudo prime-cli update-cli` code block, which causes step 1 to render with `<p>` tags (loose). Step 2 (lines 41–45) has no surrounding blank lines, rendering tightly. Both steps should follow the same pattern for visual consistency.

<details>
<summary>✏️ Suggested fix: add matching blank lines around the step 2 code block</summary>

```diff
 2. To update Plane to the latest version, run:
+
    ```bash
    sudo prime-cli upgrade
    ```
+
    This command checks for the latest version of Plane and applies the upgrade if a new version is available.
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/manage/upgrade-plane.md` around lines 33 - 45, Step 1
renders as a loose list because there's a blank line before/after the code block
for "sudo prime-cli update-cli" but Step 2's "sudo prime-cli upgrade" block is
tight; make them consistent by adding the same surrounding blank lines before
and after the "sudo prime-cli upgrade" code block (so both steps use the same
blank-line pattern) and ensure the explanatory sentence after the "sudo
prime-cli upgrade" block is separated by a blank line just like Step 1.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/govern/instance-admin.md (1)</summary><blockquote>

`153-153`: **Consider strengthening the adjective flagged by LanguageTool.**

`good options` is flagged as weak wording in this context.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-While using Google or GitHub are good options already, not all of you would want to use them.
+While using Google or GitHub are solid options, not all of you would want to use them.
```

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/instance-admin.md` at line 153, The phrase "good
options" is weak; update the sentence containing that phrase (the line starting
"While using Google or GitHub are good options already...") to use a stronger
adjective such as "viable alternatives," "suitable options," "convenient
choices," or "recommended alternatives" so the guidance reads more assertively
and professional.
```

</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/manage/backup-restore.md (2)</summary><blockquote>

`118-143`: **Nitpick: use `text` instead of `bash` for terminal output.**

The block contains terminal stdout, not executable commands — `bash` syntax highlighting is misleading here.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-   ```bash
+   ```text
        --------------------------------------------
        ____  _                          /////////
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/manage/backup-restore.md around lines 118 - 143, Change
the fenced code block language from "bash" to "text" in the backup-restore
example so the terminal stdout is correctly marked as plain text; locate the
triple-backtick block beginning with "```bash" (the ASCII-art and "Restore
completed successfully.") and replace the language token with "text" so syntax
highlighting reflects terminal output rather than executable shell commands.


</details>

---

`25-27`: **Nitpick: use `text` instead of `bash` for a bare file path.**

A directory path isn't bash code — `bash` syntax highlighting adds noise without benefit here.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-```bash
+```text
 /opt/plane/backups
 ```
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/manage/backup-restore.md around lines 25 - 27, The fenced
code block showing the directory path currently uses bash highlighting; change
the code fence language from "bash" to "text" for the snippet containing the
literal string "/opt/plane/backups" so the path is displayed as plain text
(update the triple backtick marker from bash to text for that block in
docs/self-hosting/manage/backup-restore.md).


</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/govern/private-bucket.md (1)</summary><blockquote>

`45-72`: **Use JSON fences for policy examples.**  
These snippets are JSON, but they’re labeled as `bash`, which hurts syntax highlighting and readability.

<details>
<summary>✏️ Proposed fix</summary>

```diff
-```bash
+```json
 [
     {
         "AllowedHeaders": [
@@
 ]
 ```
```

```diff
-```bash
+```json
     {
     "Version": "2012-10-17",
     "Statement": [
         {
@@
     }
 ```
```
</details>



Also applies to: 104-119

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/govern/private-bucket.md around lines 45 - 72, Change the
markdown code fences for the JSON policy examples from bash to json so the
CORS policy sample (the block containing "<YOUR_DOMAIN>" and the AllowedOrigins
array) and the subsequent IAM policy example (the block containing "Version":
"2012-10-17" and "Statement") are marked as JSON; update both code fences (the
CORS snippet and the policy snippet) to ```json and ensure the snippets remain
valid JSON while preserving the existing content.


</details>

</blockquote></details>
<details>
<summary>docs/self-hosting/govern/environment-variables.md (1)</summary><blockquote>

`144-152`: **OpenSearch variable names use backtick formatting; all other sections use bold — inconsistent style.**

Every other table in this file formats variable names as `**VARIABLE_NAME**` (bold), but the OpenSearch section at Lines 148–152 uses `` `VARIABLE_NAME` `` (inline code). This produces visually inconsistent output.



<details>
<summary>♻️ Proposed fix</summary>

```diff
-| `OPENSEARCH_ENABLED`      | Enable OpenSearch integration                               | `1`                                    |
-| `OPENSEARCH_URL`          | OpenSearch endpoint URL                                     | `https://opensearch.example.com:9200/` |
-| `OPENSEARCH_USERNAME`     | Authentication username                                     | `admin`                                |
-| `OPENSEARCH_PASSWORD`     | Authentication password                                     | `your-secure-password`                 |
-| `OPENSEARCH_INDEX_PREFIX` | Prefix for all index names (useful for multi-tenant setups) | (empty)                                |
+| **OPENSEARCH_ENABLED**      | Enable OpenSearch integration                               | `1`                                    |
+| **OPENSEARCH_URL**          | OpenSearch endpoint URL                                     | `https://opensearch.example.com:9200/` |
+| **OPENSEARCH_USERNAME**     | Authentication username                                     | `admin`                                |
+| **OPENSEARCH_PASSWORD**     | Authentication password                                     | `your-secure-password`                 |
+| **OPENSEARCH_INDEX_PREFIX** | Prefix for all index names (useful for multi-tenant setups) | (empty)                                |
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/environment-variables.md` around lines 144 - 152,
The OpenSearch table uses inline code formatting for variable names
(`OPENSEARCH_*`) which is inconsistent with the rest of the file that uses bold
variable names; update the OpenSearch section so each variable name
(OPENSEARCH_ENABLED, OPENSEARCH_URL, OPENSEARCH_USERNAME, OPENSEARCH_PASSWORD,
OPENSEARCH_INDEX_PREFIX) is formatted in bold (match the pattern used elsewhere)
to ensure consistent styling for the "OpenSearch" section and its table.
```

</details>

</blockquote></details>

</blockquote></details>

---

<details>
<summary>ℹ️ Review info</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between bdf8de43c9310a5c2a7b29f3bdb1eed8cda10b2c and 6979f34fe40c51c52e479de9de45a92d7b2b8154.

</details>

<details>
<summary>📒 Files selected for processing (55)</summary>

* `docs/dev-tools/build-plane-app/create-oauth-application.md`
* `docs/dev-tools/build-plane-app/examples.md`
* `docs/dev-tools/build-plane-app/oauth-scopes.md`
* `docs/dev-tools/build-plane-app/overview.md`
* `docs/self-hosting/editions-and-versions.md`
* `docs/self-hosting/govern/advanced-search.md`
* `docs/self-hosting/govern/authentication.md`
* `docs/self-hosting/govern/communication.md`
* `docs/self-hosting/govern/configure-ssl.md`
* `docs/self-hosting/govern/database-and-storage.md`
* `docs/self-hosting/govern/environment-variables.md`
* `docs/self-hosting/govern/external-secrets.md`
* `docs/self-hosting/govern/github-oauth.md`
* `docs/self-hosting/govern/google-oauth.md`
* `docs/self-hosting/govern/instance-admin.md`
* `docs/self-hosting/govern/integrations/github.md`
* `docs/self-hosting/govern/integrations/gitlab.md`
* `docs/self-hosting/govern/integrations/sentry.md`
* `docs/self-hosting/govern/integrations/slack.md`
* `docs/self-hosting/govern/ldap.md`
* `docs/self-hosting/govern/oidc-sso.md`
* `docs/self-hosting/govern/private-bucket.md`
* `docs/self-hosting/govern/reset-password.md`
* `docs/self-hosting/govern/reverse-proxy.md`
* `docs/self-hosting/govern/saml-sso.md`
* `docs/self-hosting/manage/backup-restore.md`
* `docs/self-hosting/manage/community-to-airgapped.md`
* `docs/self-hosting/manage/manage-licenses/activate-airgapped.md`
* `docs/self-hosting/manage/manage-licenses/activate-enterprise.md`
* `docs/self-hosting/manage/manage-licenses/activate-pro-and-business.md`
* `docs/self-hosting/manage/migrate-plane.md`
* `docs/self-hosting/manage/prime-cli.md`
* `docs/self-hosting/manage/upgrade-from-0.13.2-0.14.0.md`
* `docs/self-hosting/manage/upgrade-plane.md`
* `docs/self-hosting/manage/view-logs.md`
* `docs/self-hosting/methods/airgapped-edition-kubernetes.md`
* `docs/self-hosting/methods/airgapped-edition.md`
* `docs/self-hosting/methods/airgapped-requirements.md`
* `docs/self-hosting/methods/clone-docker-images.md`
* `docs/self-hosting/methods/coolify.md`
* `docs/self-hosting/methods/docker-aio.md`
* `docs/self-hosting/methods/docker-compose.md`
* `docs/self-hosting/methods/kubernetes.md`
* `docs/self-hosting/methods/one-click.md`
* `docs/self-hosting/methods/overview.md`
* `docs/self-hosting/methods/podman-quadlets.md`
* `docs/self-hosting/methods/portainer.md`
* `docs/self-hosting/overview.md`
* `docs/self-hosting/plane-architecture.md`
* `docs/self-hosting/telemetry.md`
* `docs/self-hosting/troubleshoot/cli-errors.md`
* `docs/self-hosting/troubleshoot/installation-errors.md`
* `docs/self-hosting/troubleshoot/license-errors.md`
* `docs/self-hosting/troubleshoot/storage-errors.md`
* `package.json`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
docs/self-hosting/manage/community-to-airgapped.md (1)

1-76: ⚠️ Potential issue | 🟡 Minor

Resolve Prettier formatting failure in this file.

CI reports Prettier issues; please run Prettier and ensure this file is clean.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/manage/community-to-airgapped.md` around lines 1 - 76,
Prettier reported formatting errors in
docs/self-hosting/manage/community-to-airgapped.md; run Prettier on that file
(or the docs directory) to fix frontmatter, heading, code block indentation and
trailing-whitespace issues, then re-commit the formatted file; ensure the YAML
frontmatter, all Markdown code blocks (bash blocks around setup.sh and
restore-airgapped.sh), and list items (Prerequisites, Backup data, Restore data)
follow Prettier's rules so CI passes.
docs/self-hosting/govern/integrations/gitlab.md (1)

1-138: ⚠️ Potential issue | 🟡 Minor

Run Prettier to resolve CI formatting failure.

CI reports Prettier issues in this file. Please run prettier --write (or the repo’s formatting script) and re-check the output to clear the pipeline.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/integrations/gitlab.md` around lines 1 - 138,
Prettier formatting errors were detected in the "Configure GitLab for Plane
integration" markdown (frontmatter/title and content); run the repository
formatter (e.g., prettier --write or the repo’s formatting script) on this file
to normalize frontmatter, code blocks, indentation and trailing whitespace, then
re-run CI and commit the updated file so the pipeline clears.
docs/self-hosting/manage/migrate-plane.md (1)

1-1: ⚠️ Potential issue | 🟠 Major

Prettier CI failure — run prettier --write before merging.

The CI pipeline reports unresolved Prettier violations on this file despite the PR's stated goal of fixing formatting. The most probable culprits are:

  • Double space after list markers (1. 1. ) on lines 25, 28, 40, 43, 46, 55.
  • Sub-item continuation indented 2 spaces instead of the 3 spaces Prettier expects to align with content following 1. .
  • Trailing whitespace on the blank separator line inside the list (line 33) and on the hard-line-break lines ( suffix) of each step title.

Run prettier --write docs/self-hosting/manage/migrate-plane.md locally and commit the result to clear the check.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/manage/migrate-plane.md` at line 1, Run Prettier on the
markdown and fix the list formatting and trailing whitespace: run prettier
--write for the affected doc, remove double spaces after numbered list markers
(change "1.  " to "1. "), indent sub-item continuation lines to 3 spaces to
align with content after "1. " (not 2), remove trailing whitespace on the blank
separator line and any lines that currently end with two spaces for hard line
breaks, then re-commit the formatted file so CI passes.
docs/self-hosting/govern/database-and-storage.md (1)

1-141: ⚠️ Potential issue | 🟡 Minor

Prettier CI check is failing — run prettier --write before merging.

The pipeline reports Prettier formatting issues across this file. Run the following to fix:

prettier --write docs/self-hosting/govern/database-and-storage.md
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/database-and-storage.md` around lines 1 - 141,
Prettier formatting errors exist in the "Configure external services" Markdown
(frontmatter keys like title: Configure external services and content blocks
such as the S3 CORS example); run the Prettier formatter (prettier --write) on
that Markdown file to auto-fix formatting, review the changed whitespace/line
breaks and the code block formatting, then stage and commit the formatted file
before pushing the PR.
🧹 Nitpick comments (1)
docs/self-hosting/manage/community-to-airgapped.md (1)

35-42: Use a text fence for the directory tree.

This block is a filesystem tree, not a shell command; labeling it as bash is misleading.

♻️ Proposed tweak
-```bash
+```text
 backup/
 └── 20250605-0938
    ├── pgdata.tar.gz
    ├── rabbitmq_data.tar.gz
    ├── redisdata.tar.gz
    └── uploads.tar.gz
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/manage/community-to-airgapped.md around lines 35 - 42,
Change the fenced code block that shows the filesystem tree from a bash-labelled
block to a plain text block: find the block containing the directory tree (the
three-level tree starting with "backup/" and the timestamped folder
"20250605-0938") and replace the opening fence marker "bash" with "text"
so the snippet is correctly rendered as a directory tree instead of a shell
command.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Inline comments:
In @docs/self-hosting/govern/database-and-storage.md:

  • Line 44: Update the phrase "S3 compatible" to the hyphenated compound modifier
    "S3-compatible" in the sentence "Plane currently supports only S3 compatible
    storages." so it reads "Plane currently supports only S3-compatible storages."
  • Around line 52-77: The JSON block contains a trailing comma in the
    AllowedOrigins array and lacks a code-fence language; remove the trailing comma
    after "<YOUR_DOMAIN>" inside the AllowedOrigins array and add the language tag
    "json" to the opening code fence (i.e., change tojson) so the snippet is
    valid JSON and gets proper syntax highlighting.

In @docs/self-hosting/govern/integrations/gitlab.md:

  • Around line 85-90: The inline code spans containing the callback URLs include
    leading spaces and should be corrected: locate the two backtick-enclosed spans
    that currently contain "
    https://silo.plane.so/api/oauth/gitlab-enterprise/auth/callback" and "
    https:///silo/api/oauth/gitlab-enterprise/auth/callback" and remove
    the leading spaces inside the backticks so the code spans contain the URLs
    starting immediately after the opening backtick (no leading whitespace).

In @docs/self-hosting/methods/docker-compose.md:

  • Line 64: Update the OS name capitalization in the sentence containing "OS with
    bash scripting enabled (Ubuntu, Linux AMI, macos). Windows systems need to have
    gitbash." by replacing "macos" with the
    correct stylization "macOS" so the text reads "...(Ubuntu, Linux AMI, macOS)";
    keep the rest of the sentence unchanged.
  • Line 58: Update the sentence "It must of minimum t3.medium/t3a.medium." to
    correct the grammar by replacing "must of minimum" with "must be at minimum" (or
    "must be at least") so the line reads e.g. "It must be at minimum
    t3.medium/t3a.medium." This fixes the grammatical error in the sentence
    following "Create an EC2 machine on AWS." in the docker-compose.md content.
  • Around line 106-116: Replace the two grammar mistakes in the docs: change the
    phrase "most importants keys" to "most important keys" (the list introduction
    mentioning LISTEN_HTTP_PORT etc.) and change "You will something like this" to
    "You will see something like this" (the sentence introducing the expected output
    after entering 2). Ensure only the wording is updated and surrounding
    punctuation/formatting remains unchanged.
  • Around line 37-39: The fenced code block containing the curl install command
    is missing a language specifier; update the block around the line with "curl
    -fsSL https://prime.plane.so/install/ | sh -" by adding a language tag (e.g.,
    bash) after the opening triple backticks so the block reads as a bash code fence
    and resolves the MD040 markdownlint warning.

Outside diff comments:
In @docs/self-hosting/govern/database-and-storage.md:

  • Around line 1-141: Prettier formatting errors exist in the "Configure external
    services" Markdown (frontmatter keys like title: Configure external services and
    content blocks such as the S3 CORS example); run the Prettier formatter
    (prettier --write) on that Markdown file to auto-fix formatting, review the
    changed whitespace/line breaks and the code block formatting, then stage and
    commit the formatted file before pushing the PR.

In @docs/self-hosting/govern/integrations/gitlab.md:

  • Around line 1-138: Prettier formatting errors were detected in the "Configure
    GitLab for Plane integration" markdown (frontmatter/title and content); run the
    repository formatter (e.g., prettier --write or the repo’s formatting script) on
    this file to normalize frontmatter, code blocks, indentation and trailing
    whitespace, then re-run CI and commit the updated file so the pipeline clears.

In @docs/self-hosting/manage/community-to-airgapped.md:

  • Around line 1-76: Prettier reported formatting errors in
    docs/self-hosting/manage/community-to-airgapped.md; run Prettier on that file
    (or the docs directory) to fix frontmatter, heading, code block indentation and
    trailing-whitespace issues, then re-commit the formatted file; ensure the YAML
    frontmatter, all Markdown code blocks (bash blocks around setup.sh and
    restore-airgapped.sh), and list items (Prerequisites, Backup data, Restore data)
    follow Prettier's rules so CI passes.

In @docs/self-hosting/manage/migrate-plane.md:

  • Line 1: Run Prettier on the markdown and fix the list formatting and trailing
    whitespace: run prettier --write for the affected doc, remove double spaces
    after numbered list markers (change "1. " to "1. "), indent sub-item
    continuation lines to 3 spaces to align with content after "1. " (not 2), remove
    trailing whitespace on the blank separator line and any lines that currently end
    with two spaces for hard line breaks, then re-commit the formatted file so CI
    passes.

Nitpick comments:
In @docs/self-hosting/manage/community-to-airgapped.md:

  • Around line 35-42: Change the fenced code block that shows the filesystem tree
    from a bash-labelled block to a plain text block: find the block containing the
    directory tree (the three-level tree starting with "backup/" and the timestamped
    folder "20250605-0938") and replace the opening fence marker "bash" with "text" so the snippet is correctly rendered as a directory tree instead of a
    shell command.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 6979f34fe40c51c52e479de9de45a92d7b2b8154 and 6906566b67feb390210897657d9c905b99a1d20e.

</details>

<details>
<summary>📒 Files selected for processing (11)</summary>

* `docs/dev-tools/build-plane-app/create-oauth-application.md`
* `docs/self-hosting/govern/database-and-storage.md`
* `docs/self-hosting/govern/integrations/gitlab.md`
* `docs/self-hosting/govern/reset-password.md`
* `docs/self-hosting/manage/community-to-airgapped.md`
* `docs/self-hosting/manage/migrate-plane.md`
* `docs/self-hosting/methods/coolify.md`
* `docs/self-hosting/methods/docker-compose.md`
* `docs/self-hosting/methods/kubernetes.md`
* `docs/self-hosting/methods/portainer.md`
* `docs/self-hosting/upgrade-from-community.md`

</details>

<details>
<summary>✅ Files skipped from review due to trivial changes (1)</summary>

* docs/self-hosting/upgrade-from-community.md

</details>

<details>
<summary>🚧 Files skipped from review as they are similar to previous changes (3)</summary>

* docs/self-hosting/govern/reset-password.md
* docs/self-hosting/methods/portainer.md
* docs/self-hosting/methods/coolify.md

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
docs/self-hosting/govern/integrations/gitlab.md (1)

1-138: ⚠️ Potential issue | 🟠 Major

CI is blocked — run Prettier to fix formatting.

The pipeline reports a Prettier formatting issue across this file. Run prettier --write docs/self-hosting/govern/integrations/gitlab.md (or across all changed docs in one pass) and commit the result before this PR can merge.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/integrations/gitlab.md` around lines 1 - 138, The
file docs/self-hosting/govern/integrations/gitlab.md has Prettier formatting
errors; run the formatter and commit the changes to unblock CI: run prettier
--write docs/self-hosting/govern/integrations/gitlab.md (or prettier --write .
to format all docs), verify formatting for the "Configure GitLab for Plane
integration" doc and related sections (GitLab Cloud, GitLab Self-managed,
Configure Plane instance), then stage and commit the updated file(s) so the PR
passes the Prettier check.
docs/self-hosting/govern/integrations/slack.md (1)

130-203: ⚠️ Potential issue | 🟠 Major

YAML manifest is structurally malformed — users who copy it will get an invalid_manifest error from Slack.

Manifests are written in YAML or JSON using a specific structure. The YAML block has two classes of problems:

1. Universally flat nesting (lines 131–188)

Every child key that should be indented under its parent is sitting at the root level. For example, name, description, background_color are siblings of display_information instead of being nested inside it; bot_user, shortcuts, slash_commands, unfurl_domains are siblings of features rather than children; redirect_urls/scopes are root-level instead of under oauth_config; and event_subscriptions is root-level instead of under settings. When parsed, the YAML produces a flat mapping that bears no resemblance to the JSON tab.

2. Wrong nesting for interactivity and settings-level flags (lines 196–202)

Consulting the official Slack YAML example (settings: socket_mode_enabled: false interactivity: is_enabled: true … event_subscriptions: …), interactivity must be a direct child of settings (sibling of event_subscriptions), not nested inside event_subscriptions. Similarly, org_deploy_enabled, socket_mode_enabled, and token_rotation_enabled belong directly under settings, not inside interactivity.

3. Extra leading space on - message.im (line 195)

        - message.channels
         - message.im   ← one extra space
🔧 Corrected YAML structure (skeleton)
 display_information:
-name: [YOUR_APP_NAME]
-description: [YOUR_APP_DESCRIPTION]
-background_color: "#224dab"
+  name: [YOUR_APP_NAME]
+  description: [YOUR_APP_DESCRIPTION]
+  background_color: "#224dab"
 features:
-bot_user:
-    display_name: [YOUR_APP_NAME]
-    always_online: false
-shortcuts:
-    - name: Create new issue
-    type: message
-    callback_id: issue_shortcut
-    description: Create a new issue in plane
-    - name: Link Work Item
-    type: message
-    callback_id: link_work_item
-    description: Links thread with an existing work item
-slash_commands:
-    - command: /plane
-    url: https://[YOUR_DOMAIN]/silo/api/slack/command/
-    description: Create issue in Plane
-    should_escape: false
-unfurl_domains:
-    - [YOUR_DOMAIN]
+  bot_user:
+    display_name: [YOUR_APP_NAME]
+    always_online: false
+  shortcuts:
+    - name: Create new issue
+      type: message
+      callback_id: issue_shortcut
+      description: Create a new issue in plane
+    - name: Link Work Item
+      type: message
+      callback_id: link_work_item
+      description: Links thread with an existing work item
+  slash_commands:
+    - command: /plane
+      url: https://[YOUR_DOMAIN]/silo/api/slack/command/
+      description: Create issue in Plane
+      should_escape: false
+  unfurl_domains:
+    - [YOUR_DOMAIN]
 oauth_config:
-redirect_urls:
-    - https://[YOUR_DOMAIN]/silo/api/slack/team/auth/callback/
-    - https://[YOUR_DOMAIN]/silo/api/slack/user/auth/callback/
-scopes:
-    user:
+  redirect_urls:
+    - https://[YOUR_DOMAIN]/silo/api/slack/team/auth/callback/
+    - https://[YOUR_DOMAIN]/silo/api/slack/user/auth/callback/
+  scopes:
+    user:
         ...
-    bot:
+    bot:
         ...
 settings:
-event_subscriptions:
-    request_url: https://[YOUR_DOMAIN]/silo/api/slack/events
-    bot_events:
-        - link_shared
-        - message.channels
-         - message.im
-    interactivity:
-        is_enabled: true
-        request_url: https://[YOUR_DOMAIN]/silo/api/slack/action/
-        message_menu_options_url: https://[YOUR_DOMAIN]/silo/api/slack/options/
-        org_deploy_enabled: false
-        socket_mode_enabled: false
-        token_rotation_enabled: true
+  event_subscriptions:
+    request_url: https://[YOUR_DOMAIN]/silo/api/slack/events
+    bot_events:
+      - link_shared
+      - message.channels
+      - message.im
+  interactivity:
+    is_enabled: true
+    request_url: https://[YOUR_DOMAIN]/silo/api/slack/action/
+    message_menu_options_url: https://[YOUR_DOMAIN]/silo/api/slack/options/
+  org_deploy_enabled: false
+  socket_mode_enabled: false
+  token_rotation_enabled: true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/integrations/slack.md` around lines 130 - 203, The
YAML manifest is malformed: keys like name/description/background_color must be
nested under display_information; bot_user, shortcuts, slash_commands,
unfurl_domains must be indented under features; redirect_urls and scopes must be
nested under oauth_config; event_subscriptions, interactivity and the flags
org_deploy_enabled/socket_mode_enabled/token_rotation_enabled must be direct
children of settings (not interactivity children); and remove the extra leading
space before "- message.im". Fix by re-indenting those keys so
display_information contains name/description/background_color, features
contains bot_user/shortcuts/slash_commands/unfurl_domains, oauth_config contains
redirect_urls and scopes, settings contains event_subscriptions and
interactivity as siblings and place
org_deploy_enabled/socket_mode_enabled/token_rotation_enabled under settings,
and correct the "- message.im" list item spacing.
♻️ Duplicate comments (3)
docs/self-hosting/govern/database-and-storage.md (2)

53-78: Fix JSON validity and add code-fence language.
This repeats a previously reported issue: the trailing comma makes the JSON invalid and the fence lacks a language tag.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/database-and-storage.md` around lines 53 - 78,
Update the JSON example block to be valid and add a language tag: change the
opening fence from ``` to ```json and remove the trailing comma after the
"<YOUR_DOMAIN>" entry in the "AllowedOrigins" array so the JSON parses
correctly; keep the rest of the object structure as-is.

43-45: Use “S3-compatible” as a compound modifier.
This is the same issue already noted in earlier feedback.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/database-and-storage.md` around lines 43 - 45,
Update the phrase under "External storage" where it reads "Plane currently
supports only S3 compatible storages." to use the compound modifier form
"S3-compatible" (e.g., "Plane currently supports only S3-compatible storage" or
"S3-compatible storages" to match surrounding plurality) so the sentence uses
the hyphenated modifier correctly.
docs/self-hosting/manage/community-to-airgapped.md (1)

37-44: ⚠️ Potential issue | 🟡 Minor

Use text (not bash) for the directory tree listing.

This block is still tagged bash, which syntax highlighters may misinterpret. The prior review explicitly called out using text or no language tag since it's a directory tree, not shell code.

📝 Proposed fix
-```bash
+```text
 backup/
 └── 20250605-0938
    ├── pgdata.tar.gz
    ├── rabbitmq_data.tar.gz
    ├── redisdata.tar.gz
    └── uploads.tar.gz
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/self-hosting/manage/community-to-airgapped.md around lines 37 - 44, The
fenced code block that currently starts with bash and contains the directory tree listing should be changed to text (or remove the language tag) so syntax
highlighters won't misinterpret it; update the opening fence label from bash to
text (and keep the same closing ), i.e., edit the markdown code block that shows the backup/ └── 20250605-0938 ... lines to use text instead of

🧹 Nitpick comments (1)
CLAUDE.md (1)

67-67: Clarify which file types Prettier settings apply to.

"Semicolons" and "ES5 trailing commas" are JS/TS-specific Prettier options that have no effect on Markdown. Since this is primarily a docs repo, noting the scope (e.g., "for .js/.ts/.mts files") avoids confusion about what formatting is enforced for Markdown files.

📝 Suggested fix
-  - **Formatting**: Prettier enforced — 120 char width, 2-space indent, semicolons, double quotes, ES5 trailing commas
+  - **Formatting**: Prettier enforced — 120 char width, 2-space indent; for JS/TS files: semicolons, double quotes, ES5 trailing commas
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CLAUDE.md` at line 67, Update the "Formatting" bullet to clarify Prettier
scopes: keep the existing options but append a parenthetical scope such as
"(applies to .js/.ts/.mts files; Markdown uses its own rules)" so readers know
that "semicolons" and "ES5 trailing commas" are JS/TS-specific; reference the
existing "Formatting" bullet text when making this change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CLAUDE.md`:
- Line 66: The "Branch workflow" description incorrectly labels `preview` as the
"(main branch)"; update the sentence referencing `preview` to call it the
staging/integration branch and mark `master` as the main/production branch (or
explicitly state "branch from `master` (main/production) or `preview`
(staging/integration)" for clarity). Edit the "Branch workflow" line and any
nearby references that assert `preview` is main so `preview` is consistently
described as staging/integration and `master` as the main/production branch
(search for the terms `preview`, `master`, and the "Branch workflow" heading to
locate the exact text to change).

In `@docs/self-hosting/manage/migrate-plane.md`:
- Line 38: Remove the redundant "only" in the sentence pair shown: "**Prime CLI
is for Docker installations only.** These commands only work on Plane instances
originally installed using `prime-cli`." Edit the second sentence (the one
starting "These commands...") to remove "only" so it reads: "These commands work
on Plane instances originally installed using `prime-cli`."
- Around line 25-57: The numbered list has inconsistent continuation indentation
(some continuation lines and fenced code blocks under the list items are only
indented 2 or 0 spaces) which breaks CommonMark and CI; run prettier --write or
manually fix the markdown so every continuation line and fenced code block under
each numbered item is indented to match the list marker (use four character
alignment for the "1.  " markers), e.g. indent the lines containing the fenced
blocks and their contents for the steps with the "prime-cli backup" and
"prime-cli restore" code blocks, the warning block (::: warning), and the
continuation sentences mentioning `/opt/plane/backups` and `/opt/plane` so they
remain part of their respective list items.

In `@docs/self-hosting/methods/airgapped-edition-kubernetes.md`:
- Line 201: The example YAML currently embeds a real-looking AES key in the
aes_secret_key field; replace the hardcoded value with a descriptive placeholder
like "<YOUR_AES_32_BYTE_KEY_HERE>" (or similar) and add a short inline comment
indicating it must be a 32-byte secret generated securely, so readers cannot
accidentally copy a real key; update the aes_secret_key example value and any
nearby explanatory text to reflect that it is a placeholder rather than an
actual key.
- Line 234: The image declaration "image: /email-commercial:" has a trailing
colon indicating a missing tag; update the deployment manifest by either
removing the colon to match the other services (use "image: /email-commercial")
or supply an explicit version placeholder/tag (e.g., "image:
/email-commercial:<version>") so the image reference is valid and consistent
with entries like "image: /web-commercial" or "image: /iframely:v1.2.0".

---

Outside diff comments:
In `@docs/self-hosting/govern/integrations/gitlab.md`:
- Around line 1-138: The file docs/self-hosting/govern/integrations/gitlab.md
has Prettier formatting errors; run the formatter and commit the changes to
unblock CI: run prettier --write docs/self-hosting/govern/integrations/gitlab.md
(or prettier --write . to format all docs), verify formatting for the "Configure
GitLab for Plane integration" doc and related sections (GitLab Cloud, GitLab
Self-managed, Configure Plane instance), then stage and commit the updated
file(s) so the PR passes the Prettier check.

In `@docs/self-hosting/govern/integrations/slack.md`:
- Around line 130-203: The YAML manifest is malformed: keys like
name/description/background_color must be nested under display_information;
bot_user, shortcuts, slash_commands, unfurl_domains must be indented under
features; redirect_urls and scopes must be nested under oauth_config;
event_subscriptions, interactivity and the flags
org_deploy_enabled/socket_mode_enabled/token_rotation_enabled must be direct
children of settings (not interactivity children); and remove the extra leading
space before "- message.im". Fix by re-indenting those keys so
display_information contains name/description/background_color, features
contains bot_user/shortcuts/slash_commands/unfurl_domains, oauth_config contains
redirect_urls and scopes, settings contains event_subscriptions and
interactivity as siblings and place
org_deploy_enabled/socket_mode_enabled/token_rotation_enabled under settings,
and correct the "- message.im" list item spacing.

---

Duplicate comments:
In `@docs/self-hosting/govern/database-and-storage.md`:
- Around line 53-78: Update the JSON example block to be valid and add a
language tag: change the opening fence from ``` to ```json and remove the
trailing comma after the "<YOUR_DOMAIN>" entry in the "AllowedOrigins" array so
the JSON parses correctly; keep the rest of the object structure as-is.
- Around line 43-45: Update the phrase under "External storage" where it reads
"Plane currently supports only S3 compatible storages." to use the compound
modifier form "S3-compatible" (e.g., "Plane currently supports only
S3-compatible storage" or "S3-compatible storages" to match surrounding
plurality) so the sentence uses the hyphenated modifier correctly.

In `@docs/self-hosting/manage/community-to-airgapped.md`:
- Around line 37-44: The fenced code block that currently starts with ```bash
and contains the directory tree listing should be changed to ```text (or remove
the language tag) so syntax highlighters won't misinterpret it; update the
opening fence label from bash to text (and keep the same closing ```), i.e.,
edit the markdown code block that shows the backup/  └── 20250605-0938 ... lines
to use ```text instead of ```bash.

---

Nitpick comments:
In `@CLAUDE.md`:
- Line 67: Update the "Formatting" bullet to clarify Prettier scopes: keep the
existing options but append a parenthetical scope such as "(applies to
.js/.ts/.mts files; Markdown uses its own rules)" so readers know that
"semicolons" and "ES5 trailing commas" are JS/TS-specific; reference the
existing "Formatting" bullet text when making this change.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6906566 and 9e6214b.

📒 Files selected for processing (10)
  • CLAUDE.md
  • docs/self-hosting/govern/database-and-storage.md
  • docs/self-hosting/govern/integrations/gitlab.md
  • docs/self-hosting/govern/integrations/slack.md
  • docs/self-hosting/govern/reset-password.md
  • docs/self-hosting/manage/community-to-airgapped.md
  • docs/self-hosting/manage/migrate-plane.md
  • docs/self-hosting/methods/airgapped-edition-kubernetes.md
  • docs/self-hosting/methods/coolify.md
  • docs/self-hosting/upgrade-from-community.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/self-hosting/upgrade-from-community.md
  • docs/self-hosting/methods/coolify.md
  • docs/self-hosting/govern/reset-password.md

@sriramveeraghanta sriramveeraghanta merged commit a5afe88 into master Feb 24, 2026
5 checks passed
@sriramveeraghanta sriramveeraghanta deleted the fix-formating-rest-all branch February 24, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants