Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughMigrates the docs site from Docusaurus/React to VitePress/Vue: replaces site config and build scripts, adds a VitePress theme with Vue components and CSS, removes legacy React components and Docusaurus assets, updates package.json/tooling and CI, and converts many docs from MDX/JSX to plain Markdown/Vue syntax. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~55 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 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: 3
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 (1)
docs/templates/work-item-templates.md (1)
68-70:⚠️ Potential issue | 🟡 MinorRemove the duplicated lead-in line.
The two consecutive lead-ins are redundant; keep one for clarity.Proposed diff
-From either location you can: - -From here you can: +From either location you can:
🤖 Fix all issues with AI agents
In `@docs/.vitepress/theme/components/HomeLanding.vue`:
- Around line 94-95: Several Tailwind "important" modifiers use the old prefix
form (e.g., "!text-2xl !font-[640]") which breaks with Tailwind v4; update every
class string that uses a leading "!" to the postfix form (e.g., "text-2xl!
font-[640]!") so the important marker is suffixed after each utility; search for
the instances that include "!text-2xl", "!font-[640]", "!mb-6", "!mt-0",
"!border-none", "!pt-0" and other classes with leading "!" (there are nine
occurrences in this component) and replace each leading "!" by moving it to the
end of the corresponding utility token.
In `@docs/importers/github-imp.md`:
- Line 8: The tip directive is malformed: change the inline ":::tipIntegrations
and importers..." into a proper VitePress tip block by separating the marker and
content (use "::: tip" on its own line, then the text on the next line) and
ensure the block is closed with a standalone ":::"; update the instance of
":::tip" and the corresponding closing marker so the directive renders
correctly.
In `@docs/importers/jira.md`:
- Line 67: Replace the incorrect VitePress admonition token ":::warning" with
the correct syntax "::: warning" in the docs/importers/jira.md file (the
occurrence shown as :::warning in the diff); locate the stanza that opens with
:::warning and add a space after the colons so it matches the other admonitions
(e.g., ::: info and ::: tip) and closes properly with the matching ::: end
marker.
🟡 Minor comments (23)
docs/communication-and-collaboration/comments-and-activity.md-66-68 (1)
66-68:⚠️ Potential issue | 🟡 MinorUse a real heading instead of bold text for “What happens”.
Line 66 appears to be a section heading but is formatted as bold text. Please convert it to a proper heading for consistency and to satisfy MD036.
✅ Suggested fix
-**What happens** +### What happensdocs/core-concepts/projects/manage-project-members.md-132-135 (1)
132-135:⚠️ Potential issue | 🟡 MinorMove the heading outside the HTML wrapper for correct parsing in VitePress.
In VitePress, Markdown inside a block-level HTML element (like
<div>) without blank line separation is treated as raw HTML content and won't be parsed as a heading. The heading text will remain literal.✅ Suggested fix
-<div class="tag-wrapper"> - ## View project member activity - <Tags :tags='[{ name: "Enterprise", link: "https://plane.so/pricing", additionalClass: "enterprise" }]' /> -</div> +## View project member activity +<div class="tag-wrapper"> + <Tags :tags='[{ name: "Enterprise", link: "https://plane.so/pricing", additionalClass: "enterprise" }]' /> +</div>Alternatively, add blank lines inside the div to allow Markdown parsing:
<div class="tag-wrapper"> ## View project member activity <Tags :tags='[{ name: "Enterprise", link: "https://plane.so/pricing", additionalClass: "enterprise" }]' /> </div>docs/importers/linear.md-11-11 (1)
11-11:⚠️ Potential issue | 🟡 MinorFix typo: "importert" → "importer".
There's a spelling error in the info callout.
🔤 Proposed fix
-The Linear importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. +The Linear importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances.docs/introduction/tutorials/collaborate-on-work-items.md-35-37 (1)
35-37:⚠️ Potential issue | 🟡 MinorAdd language identifier to code block.
The code block is missing a language identifier after the opening fence, which is a markdown best practice for proper syntax highlighting and accessibility.
📝 Proposed fix
- ``` + ```text Started working on this - I've identified the CSS issue and should have a fix ready by tomorrow. The problem is with the media query breakpoint at 375px. ```docs/importers/asana.md-11-11 (1)
11-11:⚠️ Potential issue | 🟡 MinorFix typo in documentation text.
The word "importert" should be "importer".
📝 Proposed fix for the typo
-The Asana importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. +The Asana importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances.docs/devices/mobile.md-234-237 (1)
234-237:⚠️ Potential issue | 🟡 MinorFix the GitHub callback URL code fence.
The current single-backtick block won’t render as a code block.🛠️ Proposed fix
-- For GitHub Sign-In: Add the following URL to the Callback URL section in your GitHub OAuth app: - `bash - https://<plane.example.com>/auth/mobile/github/callback/ - ` +- For GitHub Sign-In: Add the following URL to the Callback URL section in your GitHub OAuth app: + ```bash + https://<plane.example.com>/auth/mobile/github/callback/ + ```docs/workspaces-and-users/add-remove-seats.md-21-32 (1)
21-32:⚠️ Potential issue | 🟡 MinorSplit the image and numbered steps; fix admonition closing indentation.
The merged line likely breaks the ordered list and can render the admonition incorrectly.🛠️ Proposed fix
- 4. Enter the number of seats to add. 5. Click **Change**. 6. Complete payment in Stripe. + +4. Enter the number of seats to add. +5. Click **Change**. +6. Complete payment in Stripe. ::: info Billing impact - New seats are charged immediately. - Future bills include the full price of all seats. - ::: +:::docs/core-concepts/issues/visualise_filter.md-52-55 (1)
52-55:⚠️ Potential issue | 🟡 MinorFix the extra bracket in the date range placeholder.
The current text renders as a typo.🛠️ Proposed fix
-- Set **Target date** → **between** → [[Select date range] +- Set **Target date** → **between** → [Select date range]docs/core-concepts/issues/visualise_filter.md-137-142 (1)
137-142:⚠️ Potential issue | 🟡 MinorHyphenate compound adjective (“high-priority”).
This reads better and is standard for noun modifiers.🛠️ Proposed fix
-| `is` | Exactly matches one priority | Only high priority items | +| `is` | Exactly matches one priority | Only high-priority items |docs/intake/overview.md-54-56 (1)
54-56:⚠️ Potential issue | 🟡 MinorFix typo in section title (“responsbility”).
The heading should read “Intake responsibility.”✏️ Proposed fix
- ## Intake responsbility + ## Intake responsibilitydocs/introduction/tutorials/organize-and-view-work.md-12-15 (1)
12-15:⚠️ Potential issue | 🟡 MinorHyphenate “project-level.”
✏️ Proposed fix
-- Navigate workspace and project level views +- Navigate workspace and project-level viewsdocs/workspaces-and-users/customize-navigation.md-29-38 (1)
29-38:⚠️ Potential issue | 🟡 MinorUse headings instead of bold text for section titles.
This improves TOC generation and structure.✏️ Proposed fix
-**Accordion navigation control** +### Accordion navigation control ... -**Horizontal navigation bar** +### Horizontal navigation bardocs/core-concepts/projects/initiatives.md-6-11 (1)
6-11:⚠️ Potential issue | 🟡 MinorReplace Markdown heading with HTML element inside the
<div>block.VitePress uses markdown-it, which follows CommonMark spec—Markdown is not parsed inside HTML block elements without blank-line separation. The heading
# Group multiple projects using Initiativeswill render as literal text instead of a styled heading.Note: The same issue exists in
docs/core-concepts/projects/project-states.md(lines 8-11).🔧 Suggested fix (HTML heading)
<div class="tag-wrapper"> - # Group multiple projects using Initiatives + <h2>Group multiple projects using Initiatives</h2> <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' /> </div>docs/core-concepts/projects/project-states.md-6-11 (1)
6-11:⚠️ Potential issue | 🟡 MinorHeading inside the
<div>renders as literal text in VitePress.VitePress uses markdown-it, which follows CommonMark behavior: Markdown is not parsed inside block-level HTML elements like
<div>. The# Track your projects with stateswill appear as plain text instead of being rendered as a heading.Replace the Markdown heading with an HTML
<h2>tag:🔧 Suggested fix
<div class="tag-wrapper"> - # Track your projects with states + <h2>Track your projects with states</h2> <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' /> </div>docs/core-concepts/pages/overview.md-57-60 (1)
57-60:⚠️ Potential issue | 🟡 MinorFix the merged bullet in the AI helper list.
Line 59 has two sentences fused with a stray hyphen, which reads awkwardly in Markdown. Suggest splitting into two bullets.Proposed diff
- - Expand on ideas to add context, detail, or depth to your writing. - Get suggestions for clear, catchy titles. + - Expand on ideas to add context, detail, or depth to your writing. + - Get suggestions for clear, catchy titles.docs/core-concepts/pages/wiki.md-6-6 (1)
6-6:⚠️ Potential issue | 🟡 MinorMinor grammar: use "company-wide" (hyphenated).
The compound adjective "company-wide" should be hyphenated when it modifies a noun.
📝 Proposed fix
-# Wiki for company wide knowledge base +# Wiki for company-wide knowledge basedocs/introduction/tutorials/create-project.md-31-33 (1)
31-33:⚠️ Potential issue | 🟡 MinorFix typo in sentence.
Line 32 has a missing space: “part ofdisplay”.Proposed fix
- - Projects you're part ofdisplay directly in your sidebar under the **Projects** section. + - Projects you're part of display directly in your sidebar under the **Projects** section.docs/introduction/tutorials/create-project.md-87-89 (1)
87-89:⚠️ Potential issue | 🟡 MinorResolve MD007 list indentation warning.
Lines 88–89 are indented inconsistently, which trips markdownlint’s list indentation rule.Proposed fix
3. **Save your changes** - - Click **Update project** to apply your modifications. - - Your project now reflects the updated configuration. + - Click **Update project** to apply your modifications. + - Your project now reflects the updated configuration.docs/core-concepts/pages/editor-blocks.md-115-117 (1)
115-117:⚠️ Potential issue | 🟡 MinorAdd a language to the fenced LaTeX examples.
This addresses MD040 and improves readability.
Proposed fix
-``` +```latex \lim_{x \to \infty} \frac{1}{x} = 0@@
-+latex
\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_iAlso applies to: 131-133
docs/core-concepts/pages/editor-blocks.md-73-75 (1)
73-75:⚠️ Potential issue | 🟡 MinorKeep heading levels incremental for markdownlint.
This H4 should be H3 under the Attachment section.
Proposed fix
-#### Show video preview +### Show video previewdocs/automations/custom-automations.md-6-6 (1)
6-6:⚠️ Potential issue | 🟡 MinorHyphenate the compound modifier in the heading.
Use “trigger-based” instead of “trigger based”.
Proposed fix
-# Automate project tasks with trigger based workflows +# Automate project tasks with trigger-based workflowsdocs/integrations/github.md-265-270 (1)
265-270:⚠️ Potential issue | 🟡 MinorUse a real heading for “Example” and align the code block style with markdownlint.
This resolves MD036 and MD046.
Proposed fix
-_Example_ - -```bash -PR Title: [WEB-344] Add user authentication feature -PR Description: Implements login functionality for WEB-345 -``` +##### Example + + PR Title: [WEB-344] Add user authentication feature + PR Description: Implements login functionality for WEB-345docs/integrations/gitlab.md-240-245 (1)
240-245:⚠️ Potential issue | 🟡 MinorUse a real heading for “Example” and align the code block style with markdownlint.
This resolves MD036 and MD046.
Proposed fix
-_Example_ - -```bash -PR Title: [WEB-344] Add user authentication feature -PR Description: Implements login functionality for WEB-345 -``` +##### Example + + PR Title: [WEB-344] Add user authentication feature + PR Description: Implements login functionality for WEB-345
🧹 Nitpick comments (9)
docs/importers/jira.md (1)
46-46: Optional: Consider varying the phrasing.The phrase "where you want to import" appears in both step 6 (line 41) and step 7 (line 46). Consider rephrasing for variety, such as: "Choose the source workspace and project in Jira."
docs/core-concepts/account/settings.md (1)
21-123: Consider using proper headings instead of bold text for subsections.Several subsections use bold text (e.g.,
**Profile picture and cover image**,**Personal information**,**Property changes**) instead of Markdown headings. Using proper heading levels (###) would improve semantic structure, accessibility, and navigation.For example:
- Line 21:
**Profile picture and cover image**→### Profile picture and cover image- Line 27:
**Personal information**→### Personal information- Line 101:
**Property changes**→### Property changes- And similar patterns throughout the document
📝 Example refactor for a few subsections
-**Profile picture and cover image** +### Profile picture and cover image - Profile picture appears throughout Plane (work items, comments, assignments). ... -**Personal information** +### Personal information - **First name** - Your given name (required) ... -**Property changes** +### Property changes - Notifies when work item properties change (assignees, priority, estimates, etc.)postcss.config.js (1)
1-1: Autoprefixer may be redundant with Tailwind v4’s Lightning CSS.Tailwind v4 already applies vendor prefixes via Lightning CSS, so running autoprefixer can add extra processing. Consider dropping it unless you still need it for non‑Tailwind CSS.
🔧 Suggested simplification
-export default { plugins: { "@tailwindcss/postcss": {}, autoprefixer: {} } }; +export default { plugins: { "@tailwindcss/postcss": {} } };docs/integrations/slack.md (1)
217-233: Add language identifiers to code blocks for better rendering.The code blocks showing Slack command examples should specify a language identifier for proper syntax highlighting in VitePress.
📝 Suggested improvement for syntax highlighting
**Create work items conversationally:** -``` +```text `@Plane` create a work item 'live tail' and assign it to Mike.Get project information:
-+text
@Planecan you provide the identifiers of these projects?**Check cycle progress:** -``` +```text `@Plane` how are we doing in the current cycle for the AI project?</details> </blockquote></details> <details> <summary>docs/.vitepress/theme/components/Tags.vue (1)</summary><blockquote> `13-13`: **Consider using a unique key instead of index.** Using `index` as the `:key` works for static lists but can cause issues if tags are dynamically reordered or filtered. Since `tag.name` should be unique within a tag list, consider using it as the key. <details> <summary>💡 Suggested improvement</summary> ```diff - <template v-for="(tag, index) in tags" :key="index"> + <template v-for="tag in tags" :key="tag.name">docs/core-concepts/workspaces/members.md (1)
55-57: Add language specifier to fenced code block.The code block showing CSV column headers lacks a language specifier. Consider adding
textorcsvfor consistency and to satisfy linting rules.Suggested fix
-``` +```text Email, Display Name, First Name, Last Name, Role</details> </blockquote></details> <details> <summary>docs/importers/notion.md (1)</summary><blockquote> `31-33`: **Minor inconsistency in admonition syntax.** This file uses `:::info` (no space) while other files in this PR use `::: info` (with space). Both work in VitePress, but consider aligning for consistency. <details> <summary>Suggested fix for consistency</summary> ```diff -:::info +::: info Only HTML exports from Notion are supported. Make sure to select HTML as your export format. :::docs/intake/intake-forms.md (1)
6-8: Tags component placement differs from other files.This file places the Tags component directly after the H1 heading without the
<div class="tag-wrapper">wrapper used in other files (e.g.,estimates.md,members.md). Both approaches work, but the tag-wrapper provides consistent alignment styling. Consider wrapping for visual consistency.Optional: Wrap with tag-wrapper for consistency
-# Intake to collect and triage external work requests - -<Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' /> +<div class="tag-wrapper"> + # Intake to collect and triage external work requests + <Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' /> +</div>docs/.vitepress/theme/components/HomeLanding.vue (1)
17-22: Avoidanyfor icon components to keep TS safety.Use a Vue component type instead of
any.Proposed fix
import { Building2, LayoutDashboard, Inbox, @@ ArrowRight, } from "lucide-vue-next"; +import type { Component } from "vue"; interface LinkItem { - icon: any; + icon: Component; title: string; description: string; href: string;
There was a problem hiding this comment.
Actionable comments posted: 2
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 (6)
docs/automations/custom-automations.md (1)
67-67:⚠️ Potential issue | 🟡 MinorRemove duplicate word and smooth phrasing.
Currently reads “to to start turn on”.✏️ Proposed edit
-8. Click **Enable** on the top right corner of the screen to to start turn on the automation on your project. +8. Click **Enable** in the top-right corner of the screen to turn on the automation for your project.docs/core-concepts/account/settings.md (1)
139-141:⚠️ Potential issue | 🟡 MinorIncomplete or placeholder Connections section.
The Connections section contains only a header and a single descriptive line with no actionable content or details about managing integrations. Users would expect information about what connections are available, how to add/remove them, and their purposes.
Consider either:
- Expanding this section with complete documentation about connection management
- Removing it entirely if this feature is not yet implemented or documented
- Adding a note indicating this section is under construction
docs/core-concepts/issues/visualise_filter.md (1)
81-87:⚠️ Potential issue | 🟡 MinorRemove extra space before the period.
There’s an extra space before the final period in the operator list sentence.✏️ Suggested fix
-... `is empty`, etc. . +... `is empty`, etc.docs/core-concepts/projects/manage-project-members.md (1)
162-170:⚠️ Potential issue | 🟡 MinorRemove duplicated “How users join projects” section.
The same section appears earlier (Lines 122–131). This duplication reads like a merge artifact.
🧹 Suggested removal (keep earlier section)
-## How users join projects - -Users can become project members in two different ways, and understanding both helps you manage your project team effectively. - -**Direct project membership** is where you specifically invite users to your project and assign them roles. These members have access only to the projects you've added them to, and you have full control over their permissions. - -**Teamspace-based membership** happens automatically when your project is linked to a [Teamspace](/core-concepts/workspaces/teamspaces). All members of that teamspace automatically receive `Member` access to your project, making it perfect for teams that collaborate across multiple projects. - -Users can have both types of access simultaneously. When this happens, Plane automatically applies whichever role gives them higher permissions. For example, if someone is a `Guest` on your project but joins a linked teamspace, they're automatically upgraded to `Member` access. If they're already an `Admin`, they keep their `Admin` role.docs/templates/work-item-templates.md (1)
31-71:⚠️ Potential issue | 🟡 MinorFix minor typos and remove the duplicated lead‑in.
Improves readability and removes repetition.✏️ Suggested fix
- - Fill in any default fields you want pre-populated (title format, description,..) + - Fill in any default fields you want pre-populated (title format, description...) -4. Click the templates icon and choose and from available templates in the dropdown menu. +4. Click the templates icon and choose one from the available templates in the dropdown menu. -From either location you can: - -From here you can: +From either location you can:docs/importers/jira.md (1)
40-69:⚠️ Potential issue | 🟡 MinorFix duplicated word and align admonition syntax.
Line 41 has "and and"; Line 67 should use
::: warning(with space) for correct VitePress parsing.✏️ Suggested fix
- Select the Plane project where you want to import your Jira data and and click **Next**. + Select the Plane project where you want to import your Jira data and click **Next**. - :::warning + ::: warning
🤖 Fix all issues with AI agents
In `@docs/importers/asana.md`:
- Around line 10-12: Fix the typo in the Asana importer documentation by
replacing the misspelled word "importert" with "importer" in the sentence that
currently reads "The Asana importert is available on Plane Cloud and on all
plans of the Commercial Edition for self-hosted instances." Update that phrase
to "The Asana importer is available on Plane Cloud and on all plans of the
Commercial Edition for self-hosted instances."
In `@docs/workspaces-and-users/permissions.md`:
- Line 17: The table elements in permissions.md are missing accessible context
and rely on color-only cues; add a <caption> to each <table> to provide
screen-reader context and update the permission indicator markup (the
checkmark/cross icons and their container elements) to include accessible text
or aria attributes (e.g., aria-label or visually-hidden descriptive text) so
status isn't conveyed by color alone; ensure every permission cell or icon (the
checkmark/cross nodes) has an explicit accessible name and consider adding
aria-labels on the table when appropriate.
🟡 Minor comments (28)
docs/workspaces-and-users/add-remove-seats.md-26-26 (1)
26-26:⚠️ Potential issue | 🟡 MinorFix ordered list formatting — steps 4–6 are embedded in the image line.
This breaks the numbered list and makes the steps hard to read in VitePress. Put the image on its own line and keep steps 4–6 as separate list items.
✅ Suggested fix
- 4. Enter the number of seats to add. 5. Click **Change**. 6. Complete payment in Stripe. + + +4. Enter the number of seats to add. +5. Click **Change**. +6. Complete payment in Stripe.docs/workspaces-and-users/add-remove-seats.md-28-32 (1)
28-32:⚠️ Potential issue | 🟡 MinorUnindented closing fence needed to terminate the admonition.
The closing
:::is indented, which can render as a code block and leave the info block unclosed.✅ Suggested fix
- ::: +:::docs/core-concepts/issues/visualise_filter.md-54-54 (1)
54-54:⚠️ Potential issue | 🟡 MinorFix stray bracket in date-range placeholder.
There’s a double[in the placeholder text.✏️ Suggested fix
-- Set **Target date** → **between** → [[Select date range] +- Set **Target date** → **between** → [Select date range]docs/core-concepts/issues/visualise_filter.md-159-164 (1)
159-164:⚠️ Potential issue | 🟡 MinorUse lowercase “labels” in the use case.
Capital “Labels” looks inconsistent with other rows.✏️ Suggested fix
-| `is any of` | Matches any of the Labels | frontend or backend | +| `is any of` | Matches any of the labels | frontend or backend |docs/core-concepts/issues/visualise_filter.md-137-142 (1)
137-142:⚠️ Potential issue | 🟡 MinorTighten wording in Priority use cases.
“high priority” should be hyphenated, and “none priority” reads awkwardly.✏️ Suggested fix
-| `is` | Exactly matches one priority | Only high priority items | +| `is` | Exactly matches one priority | Only high-priority items | ... -| `is not any of` | Excludes several priorities | Not low or none priority | +| `is not any of` | Excludes several priorities | Not low or no-priority items |docs/introduction/tutorials/create-workspace.md-45-47 (1)
45-47:⚠️ Potential issue | 🟡 MinorFix admonition syntax for VitePress.
Use
::: warning(with a space) to ensure the block renders correctly.🛠️ Suggested fix
- :::warning + ::: warning This URL choice is permanent and cannot be changed later. Make sure it's exactly how you want it. :::docs/importers/linear.md-10-12 (1)
10-12:⚠️ Potential issue | 🟡 MinorFix typo in user-facing text.
“importert” should be “importer”.
✏️ Suggested fix
- The Linear importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. + The Linear importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances.docs/importers/github-imp.md-8-8 (1)
8-8:⚠️ Potential issue | 🟡 MinorFix admonition syntax to ensure VitePress renders tip blocks.
Both tip blocks are missing the required space after the directive (
::: tip). Without it, VitePress may not parse the block as an admonition.✅ Suggested fix
-:::tipIntegrations and importers are only available on the cloud version. We plan to open-source our SDKs in the near future so that the community can request or contribute integrations as needed.::: +::: tip +Integrations and importers are only available on the cloud version. We plan to open-source our SDKs in the near future so that the community can request or contribute integrations as needed. +:::-:::tipPlease note that the importer services are still a work in progress. We plan to make this open-source soon and will also extend its features based on community requirements.::: +::: tip +Please note that the importer services are still a work in progress. We plan to make this open-source soon and will also extend its features based on community requirements. +:::Also applies to: 89-89
docs/intake/overview.md-54-56 (1)
54-56:⚠️ Potential issue | 🟡 MinorFix typo in section title (“responsibility”).
The heading currently reads “responsbility”.
✏️ Proposed edit
- ## Intake responsbility + ## Intake responsibilitydocs/workspaces-and-users/billing-and-plans.md-9-9 (1)
9-9:⚠️ Potential issue | 🟡 MinorFix grammar: “per-user” (not “per-users”).
Minor wording issue in the opening paragraph.
✏️ Proposed edit
-Unlike a majority of SaaS, our subscription models on Pro and higher plans are per-seat, not per-users. +Unlike a majority of SaaS, our subscription models on Pro and higher plans are per-seat, not per-user.docs/support/keyboard-shortcuts.md-79-105 (1)
79-105:⚠️ Potential issue | 🟡 MinorAdd context clarification for duplicate keyboard shortcuts.
The documentation lists duplicate shortcut sequences without explaining their context-dependent application:
OthenS: "Open a project setting" (line 84) and "Open a workspace setting" (line 89)GthenS: "Go to project settings" (line 101) and "Go to workspace settings" (line 104)GthenR: "Go to project archives" (line 102) and "Go to workspace archives" (line 106)Since the action labels clearly distinguish project-level vs workspace-level actions, these shortcuts appear to be context-dependent. Consider adding a note to the Navigate section explaining that shortcuts trigger based on the current context (e.g., "project setting shortcuts apply when viewing a project"), so users understand these aren't actual conflicts.
docs/workspaces-and-users/roles.md-15-15 (1)
15-15:⚠️ Potential issue | 🟡 MinorFix subject-verb agreement (“It provide” → “It provides”).
Small grammar issue in the Admin description.
✍️ Suggested edit
-Admins control the workspace itself - settings, members, features, and access. They determine what capabilities are available to all Members. It provide complete control for workspace owners and senior stakeholders who need to manage team structure and configuration. This centralized authority prevents configuration conflicts and maintains consistent workspace policies. +Admins control the workspace itself - settings, members, features, and access. They determine what capabilities are available to all Members. It provides complete control for workspace owners and senior stakeholders who need to manage team structure and configuration. This centralized authority prevents configuration conflicts and maintains consistent workspace policies.docs/communication-and-collaboration/comments-and-activity.md-66-66 (1)
66-66:⚠️ Potential issue | 🟡 MinorUse a proper heading instead of bold text.
markdownlint MD036 flags emphasis used as a heading.
📝 Suggested change
-**What happens** +### What happensdocs/introduction/tutorials/create-pages.md-61-76 (1)
61-76:⚠️ Potential issue | 🟡 MinorAdd a language identifier to the fenced code block.
markdownlint MD040 is triggered here.
✅ Suggested fix
- ``` + ```markdown # Project Requirements Document ... ```docs/importers/notion.md-24-33 (1)
24-33:⚠️ Potential issue | 🟡 MinorIndent the sublist and info block under step 4.
Unindented bullets break the ordered list structure.
📑 Suggested indentation
4. In the export dialog: - -- **Export format**: Choose **HTML** -- **Include databases**: Select **Current view** -- **Include content**: Choose **Everything** -- **Include subpages**: Toggle this **ON** -- **Create folders for subpages**: Toggle this **ON** -- **Export comments**: Toggle this **OFF** (unless you want comments included) - -:::info -Only HTML exports from Notion are supported. Make sure to select HTML as your export format. -::: + - **Export format**: Choose **HTML** + - **Include databases**: Select **Current view** + - **Include content**: Choose **Everything** + - **Include subpages**: Toggle this **ON** + - **Create folders for subpages**: Toggle this **ON** + - **Export comments**: Toggle this **OFF** (unless you want comments included) + + :::info + Only HTML exports from Notion are supported. Make sure to select HTML as your export format. + :::docs/ai/pi-chat.md-151-165 (1)
151-165:⚠️ Potential issue | 🟡 MinorFix the broken relations link and trailing punctuation. The Markdown link is missing a closing
)and the URL references line ends with a double period.Suggested fix
-- Add [relations](/core-concepts/issues/overview#add-relations to work items (blocking, blocked by, relates to, duplicate of, etc.). +- Add [relations](/core-concepts/issues/overview#add-relations) to work items (blocking, blocked by, relates to, duplicate of, etc.). ... -- Add, edit, or remove external URL references.. +- Add, edit, or remove external URL references.docs/ai/pi-chat.md-6-6 (1)
6-6:⚠️ Potential issue | 🟡 MinorHyphenate “AI-powered” in the H1. This reads better and matches standard usage.
Suggested fix
-# AI powered assistant for project management +# AI-powered assistant for project managementdocs/introduction/tutorials/collaborate-on-work-items.md-33-37 (1)
33-37:⚠️ Potential issue | 🟡 MinorAdd a language to the fenced example block. This resolves MD040 and improves rendering consistency.
Suggested fix
- ``` + ```text Started working on this - I've identified the CSS issue and should have a fix ready by tomorrow. The problem is with the media query breakpoint at 375px.</details> </blockquote></details> <details> <summary>docs/core-concepts/projects/overview.md-82-87 (1)</summary><blockquote> `82-87`: _⚠️ Potential issue_ | _🟡 Minor_ **Use a heading instead of bold for “Change visibility.”** Line 82 uses bold as a heading; switching to a real heading fixes MD036 and improves TOC/navigation. <details> <summary>✏️ Suggested fix</summary> ```diff - **Change visibility** + ### Change visibilitydocs/introduction/quickstart.md-62-66 (1)
62-66:⚠️ Potential issue | 🟡 MinorAdd missing punctuation after “Public.”
Line 65 reads as a run-on sentence.✏️ Suggested fix
- 3. By default, the project access is **Public** This means that all Workspace Admins and Members can see and join this project. Change this to **Private** if you want members to join only through invite. + 3. By default, the project access is **Public**. This means that all Workspace Admins and Members can see and join this project. Change this to **Private** if you want members to join only through invite.docs/core-concepts/projects/project-states.md-8-10 (1)
8-10:⚠️ Potential issue | 🟡 MinorFix Markdown heading rendering inside HTML block.
Line 9 uses a Markdown heading
#inside a block-level<div>. Per CommonMark/markdown-it rules that VitePress follows, Markdown is not parsed inside block HTML elements and will render as plain text. Replace with an explicit HTML heading:Suggested fix
- # Track your projects with states + <h2>Track your projects with states</h2>docs/templates/project-templates.md-8-8 (1)
8-8:⚠️ Potential issue | 🟡 MinorAdd missing
linkproperty to Business tag for consistency.The Business tag is missing the
link: "https://plane.so/pricing"property used in most other Business tags across the documentation (e.g., workflows.md, draw-io.md, intake-forms.md). Update line 8 to match the standard pattern:<Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' />Note:
docs/intake/overview.mdanddocs/intake/intake-email.mdhave the same issue.docs/core-concepts/workspaces/members.md-42-43 (1)
42-43:⚠️ Potential issue | 🟡 MinorConvert bold pseudo-heading to proper Markdown heading (MD036).
Markdownlint detects emphasis used as a heading; use heading syntax instead.Suggested fix
-**To import members:** +### To import membersdocs/devices/mobile.md-234-237 (1)
234-237:⚠️ Potential issue | 🟡 MinorFix malformed code fence for the GitHub callback URL.
Lines 235-237 use single backticks instead of triple backticks, preventing proper code block rendering. The Google Sign-In block above (lines 231-233) uses the correct triple-backtick syntax; the GitHub block should match:
Suggested fix
- For GitHub Sign-In: Add the following URL to the Callback URL section in your GitHub OAuth app: - `bash - https://<plane.example.com>/auth/mobile/github/callback/ - ` + ```bash + https://<plane.example.com>/auth/mobile/github/callback/ + ```docs/introduction/tutorials/create-project.md-32-32 (1)
32-32:⚠️ Potential issue | 🟡 MinorTypo: Missing space between words.
"part ofdisplay" should be "part of display".
✏️ Proposed fix
-- Projects you're part ofdisplay directly in your sidebar under the **Projects** section. +- Projects you're part of display directly in your sidebar under the **Projects** section.docs/introduction/tutorials/create-project.md-79-89 (1)
79-89:⚠️ Potential issue | 🟡 MinorMarkdown formatting issue with image and list structure.
Line 79 has an image reference immediately followed by list content on the same line, which creates rendering ambiguity. The nested list items on lines 81-86 also have inconsistent indentation (3 spaces instead of 4), flagged by markdownlint.
✏️ Proposed fix
- - **Project icon and cover**: Choose an emoji and a header image for your project. +  - - **Project visibility (Network)**: Choose based on your team's collaboration needs. - - **Public**: All workspace members can see and join the project. - - **Private**: Only invited members can access the project. + - **Project icon and cover**: Choose an emoji and a header image for your project. + - **Project visibility (Network)**: Choose based on your team's collaboration needs. + - **Public**: All workspace members can see and join the project. + - **Private**: Only invited members can access the project. - - **Project timezone**: Set the timezone for project scheduling and deadlines. + - **Project timezone**: Set the timezone for project scheduling and deadlines.docs/core-concepts/projects/milestones.md-6-11 (1)
6-11:⚠️ Potential issue | 🟡 MinorDuplicate h1 headings detected.
There are two
#(h1) headings on this page:
- Line 6:
# Align work toward target dates with Milestones- Line 9:
# Track goals with MilestonesThis is problematic for SEO and accessibility. A page should have only one h1 heading. Based on the pattern used elsewhere in this PR, it appears the intent is to have a single heading with the Tags component. Consider removing one of the headings.
Proposed fix
-# Align work toward target dates with Milestones - <div class="tag-wrapper"> - # Track goals with Milestones + # Align work toward target dates with Milestones <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' /> </div>docs/core-concepts/issues/epics.md-6-11 (1)
6-11:⚠️ Potential issue | 🟡 MinorDuplicate h1 headings detected.
Same issue as in
milestones.md- there are two h1 headings:
- Line 6:
# Organize related work items with Epics- Line 9:
# Organize and track your work items with EpicsProposed fix
-# Organize related work items with Epics - <div class="tag-wrapper"> - # Organize and track your work items with Epics + # Organize related work items with Epics <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' /> </div>
🧹 Nitpick comments (14)
docs/automations/custom-automations.md (1)
6-6: Fix compound adjective in heading.
Use “trigger-based” as a hyphenated compound adjective.✏️ Proposed edit
-# Automate project tasks with trigger based workflows +# Automate project tasks with trigger-based workflowsdocs/communication-and-collaboration/project-updates.md (1)
63-63: Consider using proper heading levels for subsections.The subsections "Start discussions", "Use emoji reactions", and "Mention team members" use bold text instead of proper markdown headings. Converting these to level 3 headings would improve document structure, accessibility (screen readers can navigate by headings), and semantic HTML output.
📝 Proposed refactor to use proper headings
-**Start discussions** +### Start discussions - Add comments in the thread below the update.-**Use emoji reactions** +### Use emoji reactions - React to updates with emojis for quick feedback.-**Mention team members** _(Coming soon)_ +### Mention team members _(Coming soon)_ - Tag specific team members in update comments to notify them directly.Also applies to: 69-69, 74-74
docs/core-concepts/account/settings.md (1)
27-27: Use proper markdown headings instead of bold text for subsections.Several subsection labels use bold text (
**text**) instead of proper markdown headings. This affects document structure, navigation, and accessibility. As per static analysis, lines 27, 106, 111, 116, and 121 should use heading syntax.📝 Proposed fix to convert bold text to proper headings
-**Personal information** +#### Personal information-**Property changes** +#### Property changes-**State change** +#### State change-**Work item completed** +#### Work item completed-**Comments** +#### Comments-**Mentions** +#### MentionsApply similar changes to other bold subsection headers like "Profile picture and cover image" (line 21), "Account deactivation" (line 34), "Default:" (line 45), "Theme options:" (line 47), "Custom theme" (line 55), "Customizable colors:" (line 58), "Timezone:" (line 83), and "Language:" (line 88) for consistency.
Also applies to: 101-123
docs/core-concepts/pages/nested-pages.md (1)
10-10: Consider using consistent quote styles.The Vue prop binding syntax is correct, but mixing single quotes (outer) with double quotes (inner strings) can be less readable. Consider using double quotes for the attribute value for consistency.
♻️ Suggested improvement for quote consistency
- <Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' /> + <Tags :tags="[{ name: 'Business', link: 'https://plane.so/pricing', additionalClass: 'business' }]" />docs/workspaces-and-users/permissions.md (2)
29-31: Use proper cross mark symbol instead of lowercase "x".For visual consistency and clarity, replace the lowercase "x" with the proper cross mark symbol "✗" to match the style of the checkmark "✓".
✨ Proposed change for better visual consistency
-<td align="center"><span style="color: red; font-weight: bold; font-size: 16px">x</span></td> +<td align="center"><span style="color: red; font-weight: bold; font-size: 16px">✗</span></td>This change should be applied consistently across all tables in the document (appears in hundreds of locations).
Also applies to: 36-37, 42-43
17-17: Refactor inline styles to CSS classes for better maintainability.The extensive use of inline
styleattributes throughout the tables makes the document harder to maintain and prevents proper theme integration. Consider extracting these styles into CSS classes that VitePress can manage.♻️ Recommended refactoring approach
Define CSS classes in your VitePress theme:
.permissions-table { width: 100%; display: table; margin-left: 2px; } .permission-allowed { color: var(--vp-c-green); font-weight: bold; font-size: 16px; } .permission-denied { color: var(--vp-c-red); font-weight: bold; font-size: 16px; }Then update the tables:
-<table style="width: 100%; display: table; margin-left: 2px"> +<table class="permissions-table"> ... -<span style="color: green; font-weight: bold; font-size: 16px">✓</span> +<span class="permission-allowed">✓</span>This approach allows theme-aware colors and centralized style management.
Also applies to: 29-31, 206-207
docs/introduction/tutorials/invite-members.md (1)
21-21: Use proper headings instead of bold text for section markers.The bold text at these lines (
**From the workspace switcher**and**From workspace settings**) should be converted to proper headings (e.g.,###) to improve document structure and accessibility. Screen readers rely on heading hierarchy for navigation.♻️ Suggested fix
-**From the workspace switcher** +### From the workspace switcher ... -**From workspace settings** +### From workspace settingsAlso applies to: 28-28
docs/importers/overview.md (1)
14-33: Standardize Card component formatting.The Card components have inconsistent spacing. Some have blank lines after the opening tag (Linear and Asana cards), while others don't (Jira and CSV cards). This inconsistency affects readability.
♻️ Proposed fix for consistent formatting
<CardGroup :cols="2"> <Card title="Jira" icon="FaJira" href="/importers/jira"> Import boards from Jira into Plane, streamlining your project setup. </Card> -<Card title="Linear" icon="linear" href="/importers/linear"> - -Bring Linear tasks into Plane, ensuring smooth transitions and continued progress. -</Card> - -<Card title="Asana" icon="asana" href="/importers/asana"> - -Migrate tasks from Asana to Plane, keeping your workflow intact and organized. -</Card> + <Card title="Linear" icon="linear" href="/importers/linear"> + Bring Linear tasks into Plane, ensuring smooth transitions and continued progress. + </Card> + + <Card title="Asana" icon="asana" href="/importers/asana"> + Migrate tasks from Asana to Plane, keeping your workflow intact and organized. + </Card> -<Card title="CSV" icon="FaFileCsv" href="/importers/csv"> - Import work items from CSV files, perfect for migrating data from spreadsheets or other tools. -</Card> + <Card title="CSV" icon="FaFileCsv" href="/importers/csv"> + Import work items from CSV files, perfect for migrating data from spreadsheets or other tools. + </Card> </CardGroup>docs/integrations/github.md (1)
265-270: Consider using proper heading syntax instead of emphasis.Line 265 uses emphasis (
_Example_) where a heading would be more semantically appropriate for document structure.♻️ Proposed fix
-_Example_ +**Example:** ```bash PR Title: [WEB-344] Add user authentication feature PR Description: Implements login functionality for WEB-345</details> </blockquote></details> <details> <summary>docs/.vitepress/theme/components/HomeLanding.vue (1)</summary><blockquote> `17-23`: **Tighten icon typing to avoid `any`** Consider using Vue’s `Component` type to keep TS safety without sacrificing flexibility. <details> <summary>♻️ Suggested typing update</summary> ```diff import { Building2, LayoutDashboard, Inbox, BarChart3, Sparkles, Import, Cloud, Server, Code2, MessageCircle, Newspaper, ArrowRight, } from "lucide-vue-next"; +import type { Component } from "vue"; interface LinkItem { - icon: any; + icon: Component; title: string; description: string; href: string; cta?: string; }docs/support/get-help.md (1)
36-36: Optional: soften wording with a polite nudgeMinor copy tweak for tone (matches the LanguageTool hint).
✏️ Suggested copy adjustment
-Notice something unclear or missing in our documentation? Let us know on the [docs GitHub repository](https://github.com/makeplane/docs). Your feedback helps us create better resources for everyone. +Notice something unclear or missing in our documentation? Please let us know on the [docs GitHub repository](https://github.com/makeplane/docs). Your feedback helps us create better resources for everyone.docs/integrations/slack.md (1)
217-233: Add language specifier to fenced code blocks.The code blocks for Slack commands/messages lack language specifiers. Adding
textorplaintextimproves consistency and satisfies markdown linting rules.✏️ Proposed fix
**Create work items conversationally:** -``` +```text `@Plane` create a work item 'live tail' and assign it to Mike....
Get project information:
-
+text
@Planecan you provide the identifiers of these projects?**Check cycle progress:** -``` +```text `@Plane` how are we doing in the current cycle for the AI project?</details> </blockquote></details> <details> <summary>docs/core-concepts/pages/wiki.md (1)</summary><blockquote> `6-6`: **Consider hyphenating "company-wide" as a compound adjective.** "Company wide" as a compound adjective modifying "knowledge base" should typically be hyphenated as "company-wide". This also appears in line 2 (front matter title) and line 9. <details> <summary>✏️ Proposed fix</summary> ```diff -# Wiki for company wide knowledge base +# Wiki for company-wide knowledge baseAlso update the front matter on line 2:
-title: Wiki for company wide knowledge base +title: Wiki for company-wide knowledge basedocs/integrations/gitlab.md (1)
240-241: Consider using a proper heading instead of emphasis.Using
_Example_(emphasis/italics) as a pseudo-heading is flagged by markdownlint (MD036). Consider using a proper heading level or removing the emphasis if it's just introductory text.Proposed fix
-_Example_ - +**Example:**Or use a heading if appropriate:
-_Example_ +#### Example
There was a problem hiding this comment.
Actionable comments posted: 9
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
docs/core-concepts/issues/visualise_filter.md (1)
85-86:⚠️ Potential issue | 🟡 MinorRemove extra punctuation.
There’s an extra space before the period in “etc. .”.✏️ Proposed fix
-We will be adding more conditions here such as `not in`, `contains`, `is empty`, etc. . +We will be adding more conditions here such as `not in`, `contains`, `is empty`, etc.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/core-concepts/issues/visualise_filter.md` around lines 85 - 86, In the "Paid plans" paragraph (the sentence that currently ends with "etc. ."), remove the stray extra space and duplicated period so the sentence ends with "etc." — locate the string "etc. ." in visualise_filter.md and replace it with "etc.".docs/ai/pi-chat.md (1)
548-548:⚠️ Potential issue | 🟡 MinorRemove the editorial instruction from published content.
“Add this section at the very end…” reads like a note to editors and shouldn’t ship in the doc.🧹 Proposed fix
-Add this section at the very end of the document, after "What's coming next": -🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/ai/pi-chat.md` at line 548, Remove the editorial instruction line "Add this section at the very end of the document, after 'What's coming next':" from the markdown (docs/ai/pi-chat.md) so it doesn't appear in published content; if the intent was to add new content, place the actual section content after the "What's coming next" heading instead of leaving the editor note.sidebars.ts (1)
1-341:⚠️ Potential issue | 🟠 Major
sidebars.tsis not migrated to VitePress format and is now orphaned — the entire file is still Docusaurus-specific.This file was only reformatted (quote style, indentation, inline arrays) but the schema was never converted. All of the following are Docusaurus-only conventions that VitePress does not recognize:
Docusaurus construct Lines (examples) import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"1 Named sidebar key tutorialSidebar3 type: "category"6, 41, 93, … type: "link"withhref29–32, 34–37, 68–71, … link: { type: "doc", id: "..." }16, 216, 258 Bare string doc IDs ( "introduction/home")10–12, 49–53, … Since
@docusaurus/plugin-content-docsis no longer a dependency and no file in the codebase importssidebars.ts, this file is currently dead code. VitePress configures the sidebar viathemeConfig.sidebarusing objects with{ text, link, items?, collapsed? }— there is notypediscriminator, nohref, noid, and no bare string shorthand. The exported type isDefaultTheme.Sidebar(fromvitepress, not@docusaurus/plugin-content-docs).The file must either be fully rewritten in VitePress format or deleted during the migration. A sketch of the required shape:
♻️ Suggested VitePress sidebar skeleton
-import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; +import type { DefaultTheme } from "vitepress"; -const sidebars: SidebarsConfig = { - tutorialSidebar: [ - { - type: "category", - collapsed: false, - label: "Get started", - items: [ - "introduction/home", - "introduction/quickstart", - "introduction/core-concepts", - { - type: "category", - label: "Tutorials", - link: { type: "doc", id: "introduction/tutorials/overview" }, - items: [ - "introduction/tutorials/create-workspace", - // ... - ], - }, - { - type: "link", - label: "Download Plane", - href: "https://plane.so/download", - }, - ], - }, - // ... - ], -}; +const sidebar: DefaultTheme.Sidebar = [ + { + text: "Get started", + collapsed: false, + items: [ + { text: "Home", link: "/introduction/home" }, + { text: "Quickstart", link: "/introduction/quickstart" }, + { text: "Core Concepts", link: "/introduction/core-concepts" }, + { + text: "Tutorials", + link: "/introduction/tutorials/overview", + items: [ + { text: "Create a workspace", link: "/introduction/tutorials/create-workspace" }, + // ... + ], + }, + { text: "Download Plane", link: "https://plane.so/download" }, + ], + }, + // ... +]; -export default sidebars; +export default sidebar;Then consume it in
.vitepress/config.ts:import sidebar from "../sidebars"; export default defineConfig({ themeConfig: { sidebar }, });🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@sidebars.ts` around lines 1 - 341, The file sidebars.ts is still in Docusaurus format and must be migrated or removed; update the export named sidebars (and remove the Docusaurus-only import of SidebarsConfig) to a VitePress-compatible DefaultTheme.Sidebar object shape (use {text, link, items?, collapsed?} instead of Docusaurus constructs like tutorialSidebar, type: "category", type: "link", link: { type: "doc", id: "..." } or bare string doc IDs), or delete sidebars.ts if no sidebar is needed; then ensure .vitepress/config.ts consumes the new export via themeConfig.sidebar.
🧹 Nitpick comments (2)
docs/ai/pi-chat.md (1)
267-271: Optional: reduce repetitive sentence starts.
Two bullets start with “Create new pages…”, which reads repetitive in a short list.✍️ Example rewording
-- Create new pages within projects. -- Create new pages within workspaces. +- Create new pages within projects. +- Create workspace-level pages.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/ai/pi-chat.md` around lines 267 - 271, The two bullets "Create new pages within projects." and "Create new pages within workspaces." are repetitive; rewrite them to avoid repeated sentence starts by combining or rephrasing—for example, merge into a single bullet like "Create new pages within projects and workspaces" or change to "Add new pages to projects" and "Add new pages to workspaces"; update the list items in the Create and organize knowledge section accordingly to keep tone consistent with surrounding bullets.docs/.vitepress/config.mts (1)
320-330:Native integrationssidebar group is missingcollapsed: true.Every other sidebar group that contains child
itemsis declared withcollapsed: true, keeping the sidebar compact by default. TheNative integrationsgroup omits it, so those five sub-links will always be expanded on page load — an inconsistency likely to look unintentional.♻️ Proposed fix
{ text: "Native integrations", link: "/integrations/about", + collapsed: true, items: [🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/.vitepress/config.mts` around lines 320 - 330, The "Native integrations" sidebar group object (the entry with text: "Native integrations" and items: [...]) is missing collapsed: true; update that object to include collapsed: true so it follows the same collapsed-by-default behavior as the other groups — add the collapsed: true property alongside text, link, and items in that group definition.
🤖 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`:
- Around line 1-85: CI failed due to formatting; run the repository formatter
and commit the changes: locally run pnpm format (which runs oxfmt --write),
verify formatting passes pnpm format:check, stage and commit the modified files
(the CLAUDE.md and any other files changed by oxfmt), and push the commit to
update the PR so the GitHub Actions "format" job succeeds.
In `@docs/ai/pi-chat.md`:
- Around line 94-96: The fenced code blocks in the doc examples (e.g., the
blocks containing "Create a bug report for the login page crash", "Create a
teamspace called \"Frontend Team\"...", and "Enable Initiatives for this
workspace...") lack a language specifier; update each triple-backtick fence to
include a language token (use "text") so they become ```text ... ``` to satisfy
markdownlint MD040 and ensure consistent rendering.
- Line 6: Update the document H1 text "AI powered assistant for project
management" to include a hyphen so it reads "AI-powered assistant for project
management"; locate the header line containing that exact string and replace it
with the hyphenated version.
In `@docs/core-concepts/cycles.md`:
- Around line 31-33: The markdown list item is being terminated by unindented
blank lines around the embedded image (the "Empty cycle" image), causing the
image to render outside its bullet; fix by preserving the list-item
structure—either indent the blank lines under the list bullet or remove the
extraneous blank lines so the image markdown remains part of the bullet (apply
the same change to the similar block referenced at lines 35–37).
In `@docs/core-concepts/issues/visualise_filter.md`:
- Around line 161-164: Update the table entry under the "Use case" column for
the `is` operator to hyphenate the compound adjective: change "Only high
priority items" to "Only high-priority items" so the phrase reads correctly;
locate the table rows containing the `is` and `is any of` operator labels to
make this edit (the row with `is` is the one to modify).
- Around line 52-55: Replace the malformed placeholder string `[[Select date
range]` with a correctly balanced bracketed placeholder (e.g. `[Select date
range]`) so the markdown renders properly; locate the text `[[Select date
range]` in the "Set Target date → between →" line and update it to the balanced
form.
In `@docs/core-concepts/projects/milestones.md`:
- Around line 6-11: Remove the stale top-level heading to avoid duplicate H1s:
delete the standalone "Align work toward target dates with Milestones" line (the
pre-migration heading) so only the intended H1 inside the <div
class="tag-wrapper"> — "Track goals with Milestones" rendered via the Tags block
remains; update the surrounding markup if needed to ensure the <div
class="tag-wrapper"> and Tags component are the sole header/title for this page.
In `@docs/devices/mobile.md`:
- Around line 234-238: Replace the malformed inline code fence in the GitHub
Sign-In callback URL snippet with a proper triple-backtick fenced code block
using the bash language tag so the URL is rendered and syntax-highlighted like
the Google Sign-In example; specifically change the single-backtick span around
"https://<plane.example.com>/auth/mobile/github/callback/" in the GitHub Sign-In
section to a fenced block starting with ```bash and ending with ``` so the
snippet matches the Google Sign-In formatting.
In `@docs/integrations/slack.md`:
- Around line 221-223: The fenced code blocks containing the example commands
(the lines with "@Plane create a work item 'live tail' and assign it to Mike."
and "@Plane can you provide the identifiers of these projects?") are missing
language identifiers; update each triple-backtick fence to include a language
(use "text") so they read ```text ... ``` to satisfy MD040 and improve
readability, and apply the same change to the other occurrence noted (lines
229-231).
---
Outside diff comments:
In `@docs/ai/pi-chat.md`:
- Line 548: Remove the editorial instruction line "Add this section at the very
end of the document, after 'What's coming next':" from the markdown
(docs/ai/pi-chat.md) so it doesn't appear in published content; if the intent
was to add new content, place the actual section content after the "What's
coming next" heading instead of leaving the editor note.
In `@docs/core-concepts/issues/visualise_filter.md`:
- Around line 85-86: In the "Paid plans" paragraph (the sentence that currently
ends with "etc. ."), remove the stray extra space and duplicated period so the
sentence ends with "etc." — locate the string "etc. ." in visualise_filter.md
and replace it with "etc.".
In `@sidebars.ts`:
- Around line 1-341: The file sidebars.ts is still in Docusaurus format and must
be migrated or removed; update the export named sidebars (and remove the
Docusaurus-only import of SidebarsConfig) to a VitePress-compatible
DefaultTheme.Sidebar object shape (use {text, link, items?, collapsed?} instead
of Docusaurus constructs like tutorialSidebar, type: "category", type: "link",
link: { type: "doc", id: "..." } or bare string doc IDs), or delete sidebars.ts
if no sidebar is needed; then ensure .vitepress/config.ts consumes the new
export via themeConfig.sidebar.
---
Nitpick comments:
In `@docs/.vitepress/config.mts`:
- Around line 320-330: The "Native integrations" sidebar group object (the entry
with text: "Native integrations" and items: [...]) is missing collapsed: true;
update that object to include collapsed: true so it follows the same
collapsed-by-default behavior as the other groups — add the collapsed: true
property alongside text, link, and items in that group definition.
In `@docs/ai/pi-chat.md`:
- Around line 267-271: The two bullets "Create new pages within projects." and
"Create new pages within workspaces." are repetitive; rewrite them to avoid
repeated sentence starts by combining or rephrasing—for example, merge into a
single bullet like "Create new pages within projects and workspaces" or change
to "Add new pages to projects" and "Add new pages to workspaces"; update the
list items in the Create and organize knowledge section accordingly to keep tone
consistent with surrounding bullets.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (16)
.github/workflows/build.yml.gitignore.oxfmtrc.json.prettierrcCLAUDE.mddocs/.vitepress/config.mtsdocs/.vitepress/theme/components/HomeLanding.vuedocs/ai/pi-chat.mddocs/core-concepts/cycles.mddocs/core-concepts/issues/visualise_filter.mddocs/core-concepts/issues/work-item-url.mddocs/core-concepts/projects/milestones.mddocs/devices/mobile.mddocs/integrations/slack.mdpackage.jsonsidebars.ts
💤 Files with no reviewable changes (1)
- .prettierrc
✅ Files skipped from review due to trivial changes (1)
- .oxfmtrc.json
🚧 Files skipped from review as they are similar to previous changes (3)
- package.json
- docs/.vitepress/theme/components/HomeLanding.vue
- .gitignore
docs/ai/pi-chat.md
Outdated
| <Tags tags={[{ name: "Pro", additionalClass: "pro" }]} /> | ||
| <Tags tags={[{ name: "Business", additionalClass: "business" }]} /> | ||
| </div> | ||
| # AI powered assistant for project management |
There was a problem hiding this comment.
Hyphenate “AI-powered” in the H1.
Static analysis flagged the missing hyphen; this is a minor grammar fix.
✏️ Proposed fix
-# AI powered assistant for project management
+# AI-powered assistant for project management📝 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.
| # AI powered assistant for project management | |
| # AI-powered assistant for project management |
🧰 Tools
🪛 LanguageTool
[grammar] ~6-~6: Use a hyphen to join words.
Context: ... tasks using natural language. --- # AI powered assistant for project management...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/ai/pi-chat.md` at line 6, Update the document H1 text "AI powered
assistant for project management" to include a hyphen so it reads "AI-powered
assistant for project management"; locate the header line containing that exact
string and replace it with the hyphenated version.
There was a problem hiding this comment.
♻️ Duplicate comments (1)
CLAUDE.md (1)
83-89: Formatting CI failure previously flagged — still needs resolution.The past review noted that
pnpm format:checkis failing in CI. Ensureoxfmt --writehas been run across the full working tree and the result committed before merging.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CLAUDE.md` around lines 83 - 89, CI is failing because formatting check (pnpm format:check) detects unformatted files; run the formatter (oxfmt --write) across the full working tree, review and stage all changes, commit them, and push so the build job (`pnpm format:check` in the CI workflow) passes; if the project uses a package script or toolchain hook, ensure the same command is invoked (pnpm format:check / oxfmt --write) locally before creating the PR.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@CLAUDE.md`:
- Around line 83-89: CI is failing because formatting check (pnpm format:check)
detects unformatted files; run the formatter (oxfmt --write) across the full
working tree, review and stage all changes, commit them, and push so the build
job (`pnpm format:check` in the CI workflow) passes; if the project uses a
package script or toolchain hook, ensure the same command is invoked (pnpm
format:check / oxfmt --write) locally before creating the PR.
There was a problem hiding this comment.
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 (1)
docs/ai/pi-chat.md (1)
547-547:⚠️ Potential issue | 🟡 MinorRemove the internal instruction from published content.
The line “Add this section at the very end of the document, after ‘What’s coming next’” reads like an authoring note and shouldn’t ship in user-facing docs.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/ai/pi-chat.md` at line 547, Remove the authoring note "Add this section at the very end of the document, after 'What's coming next'" from the published docs (docs/ai/pi-chat.md) so it doesn't appear in user-facing content; instead move that instruction into the PR description or an editorial/comment block, and ensure the final document only contains the intended section heading/content and not the internal instruction text.
♻️ Duplicate comments (2)
docs/ai/pi-chat.md (2)
93-95:⚠️ Potential issue | 🟡 MinorAdd language identifiers to fenced code blocks.
Markdownlint MD040 requires a language specifier (e.g.,
text) on all fenced blocks; several remain bare.Also applies to: 167-172, 185-189, 204-209, 222-226, 240-244, 258-262, 273-276, 288-291, 322-325, 334-337, 349-352, 362-365
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/ai/pi-chat.md` around lines 93 - 95, Several fenced code blocks are missing language identifiers (e.g., the block containing "Create a bug report for the login page crash"); update each bare triple-backtick block to include an appropriate language token such as ```text or ```markdown. Search for the shown snippet and the other affected blocks mentioned (blocks at the additional ranges) and add the language specifier to each fenced block so they comply with MD040.
6-6:⚠️ Potential issue | 🟡 MinorHyphenate “AI-powered” in the H1.
This repeats a prior review note; the header still lacks the hyphen.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/ai/pi-chat.md` at line 6, Update the H1 string in the docs file where it reads "AI powered assistant for project management" to hyphenate AI-powered so it becomes "AI-powered assistant for project management"; locate the header line in docs/ai/pi-chat.md (the H1) and replace the unhyphenated phrase accordingly.
🧹 Nitpick comments (2)
docs/core-concepts/pages/wiki.md (1)
43-45: Nit: missing space afterlink:in the Business tag propLine 44 has
link:"https://..."while line 8 useslink: "https://..."(with a space). Minor inconsistency — covered by the proposed fix above.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/core-concepts/pages/wiki.md` around lines 43 - 45, The Tags component's inline prop array has an inconsistent spacing for the Business tag's link property; update the Tags :tags value so the Business tag uses `link: "https://plane.so/pricing"` (add a space after `link:`) to match the other entries and maintain consistent formatting for the Tags :tags prop and the Business tag object.docs/.vitepress/theme/style.css (1)
201-205: Add a fallback for--colsto avoid invalid grid templates.If
--colsis missing,repeat(var(--cols), 1fr)becomes invalid and collapses the layout.♻️ Suggested change
.card-group { display: grid; gap: 16px; - grid-template-columns: repeat(var(--cols), 1fr); + grid-template-columns: repeat(var(--cols, 1), 1fr); }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/.vitepress/theme/style.css` around lines 201 - 205, The .card-group rule can produce an invalid grid when the CSS variable --cols is unset; update the grid-template-columns declaration to use a fallback for --cols (e.g., var(--cols, 1) or another sensible default) so repeat() always receives a valid number; modify the grid-template-columns in the .card-group selector to use var(--cols, <fallback>) to avoid collapsing layouts.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/.vitepress/theme/style.css`:
- Around line 1-3: Add Tailwind v4 at-rule allowlisting to the stylelint config
so the `@source` directive in docs/.vitepress/theme/style.css is not flagged:
update .stylelintrc.json's rules.at-rule-no-unknown to ignore at-rules like
"source" (and any other Tailwind v4 at-rules you use, e.g., "tailwind") by
adding them to the ignoreAtRules array, or alternatively add this file to
stylelint's ignoreFiles list to exclude it from linting; edit the
.stylelintrc.json entry rather than changing the CSS file.
- Around line 6-12: The `@font-face` rule for font-family "Satoshi" uses an
invalid combined descriptor "font-style: normal italic"; replace the single
`@font-face` block with two separate `@font-face` rules for "Satoshi" that reuse the
same src and font-weight range: one rule with font-style: normal and one rule
with font-style: italic (preserve font-display: swap and other descriptors like
src and font-weight), so the font selection is valid per CSS Fonts Level 4.
In `@docs/core-concepts/issues/epics.md`:
- Around line 90-93: The markdown heading "## Duplicate Epics" is currently
inside the HTML block <div class="tag-wrapper"> so it will not be parsed as an
<h2> or included in the TOC; move the "## Duplicate Epics" heading out of the
<div class="tag-wrapper"> and make the <Tags :tags='[...]' /> component an
inline sibling (e.g., heading first, then the tag wrapper containing only <Tags
/>), ensuring the wrapper only contains the <Tags /> component and not the
Markdown heading.
- Around line 163-166: The heading "Convert Epics to Work Items" is wrapped
inside a <div class="tag-wrapper"> which causes it to render as plain text and
be excluded from the table of contents; move the markdown heading out of that
wrapper (place the ## Convert Epics to Work Items line above or below the <div
class="tag-wrapper">) and keep the <Tags ... /> component inside the wrapper (or
wrap only the <Tags> element) so the heading is a top-level markdown heading
that will be picked up by the TOC.
In `@docs/core-concepts/pages/wiki.md`:
- Around line 2-6: Update the two occurrences of the phrase to use the
hyphenated compound modifier "company-wide": change the front matter title value
(the `title:` string) and the H1 heading text ("# Wiki for company wide
knowledge base") to "company-wide knowledge base" so both the `title` and the
displayed heading are corrected.
In `@docs/importers/notion.md`:
- Line 26: There's a contradiction between the "Export comments" guidance (the
"Export comments" toggle line) and the mapping table row "Comments | Not
supported"; pick one behavior and make both docs consistent: either (A) if
comments are not supported, change the "Export comments" line to instruct users
to keep the toggle OFF unconditionally and remove the parenthetical caveat,
leaving the mapping table as "Not supported", or (B) if comments are partially
supported, update the mapping table row "Comments | Not supported" to describe
the level of support and any limitations and adjust the "Export comments"
guidance to explain when to toggle ON and what will be imported; ensure both the
"Export comments" sentence and the mapping table row use the same wording and
include any caveats.
- Line 37: The image line in docs/importers/notion.md is indented by four spaces
so Markdown treats it as a code block; remove the leading spaces from the line
containing ""
so it becomes a normal top-level Markdown image line (no surrounding backticks
or additional indentation) and verify it renders as an image rather than inside
a <pre> block.
---
Outside diff comments:
In `@docs/ai/pi-chat.md`:
- Line 547: Remove the authoring note "Add this section at the very end of the
document, after 'What's coming next'" from the published docs
(docs/ai/pi-chat.md) so it doesn't appear in user-facing content; instead move
that instruction into the PR description or an editorial/comment block, and
ensure the final document only contains the intended section heading/content and
not the internal instruction text.
---
Duplicate comments:
In `@docs/ai/pi-chat.md`:
- Around line 93-95: Several fenced code blocks are missing language identifiers
(e.g., the block containing "Create a bug report for the login page crash");
update each bare triple-backtick block to include an appropriate language token
such as ```text or ```markdown. Search for the shown snippet and the other
affected blocks mentioned (blocks at the additional ranges) and add the language
specifier to each fenced block so they comply with MD040.
- Line 6: Update the H1 string in the docs file where it reads "AI powered
assistant for project management" to hyphenate AI-powered so it becomes
"AI-powered assistant for project management"; locate the header line in
docs/ai/pi-chat.md (the H1) and replace the unhyphenated phrase accordingly.
---
Nitpick comments:
In `@docs/.vitepress/theme/style.css`:
- Around line 201-205: The .card-group rule can produce an invalid grid when the
CSS variable --cols is unset; update the grid-template-columns declaration to
use a fallback for --cols (e.g., var(--cols, 1) or another sensible default) so
repeat() always receives a valid number; modify the grid-template-columns in the
.card-group selector to use var(--cols, <fallback>) to avoid collapsing layouts.
In `@docs/core-concepts/pages/wiki.md`:
- Around line 43-45: The Tags component's inline prop array has an inconsistent
spacing for the Business tag's link property; update the Tags :tags value so the
Business tag uses `link: "https://plane.so/pricing"` (add a space after `link:`)
to match the other entries and maintain consistent formatting for the Tags :tags
prop and the Business tag object.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (15)
docs/.vitepress/theme/style.cssdocs/ai/pi-chat.mddocs/core-concepts/issues/epics.mddocs/core-concepts/pages/inline-comments.mddocs/core-concepts/pages/nested-pages.mddocs/core-concepts/pages/wiki.mddocs/core-concepts/projects/initiatives.mddocs/core-concepts/projects/milestones.mddocs/core-concepts/projects/project-overview.mddocs/core-concepts/projects/project-states.mddocs/core-concepts/projects/recurring-work-items.mddocs/core-concepts/workspaces/teamspaces.mddocs/importers/confluence.mddocs/importers/notion.mdpackage.json
🚧 Files skipped from review as they are similar to previous changes (7)
- docs/core-concepts/projects/project-states.md
- docs/core-concepts/pages/inline-comments.md
- docs/core-concepts/projects/initiatives.md
- docs/core-concepts/projects/recurring-work-items.md
- docs/core-concepts/workspaces/teamspaces.md
- docs/importers/confluence.md
- docs/core-concepts/pages/nested-pages.md
| <div class="tag-wrapper"> | ||
| ## Duplicate Epics | ||
| <Tags tags={[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]} /> | ||
| <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' /> | ||
| </div> |
There was a problem hiding this comment.
## heading inside <div> won't render as <h2> and will be absent from the page TOC.
It's not possible to use Markdown inside an HTML block — ## Duplicate Epics on Line 91, nested inside the <div class="tag-wrapper">, will be emitted as the literal string ## Duplicate Epics rather than an <h2> element. The parsed headers are handled by VitePress and used for both the sidebar and document title, so this section will also be missing from the page's table of contents.
Move the heading outside the wrapper and position the <Tags /> component as an inline sibling:
🐛 Proposed fix
-<div class="tag-wrapper">
- ## Duplicate Epics
- <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' />
-</div>
+## Duplicate Epics <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' />📝 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.
| <div class="tag-wrapper"> | |
| ## Duplicate Epics | |
| <Tags tags={[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]} /> | |
| <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' /> | |
| </div> | |
| ## Duplicate Epics <Tags :tags='[{ name: "Pro", link: "https://plane.so/pricing", additionalClass: "pro" }]' /> |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/core-concepts/issues/epics.md` around lines 90 - 93, The markdown
heading "## Duplicate Epics" is currently inside the HTML block <div
class="tag-wrapper"> so it will not be parsed as an <h2> or included in the TOC;
move the "## Duplicate Epics" heading out of the <div class="tag-wrapper"> and
make the <Tags :tags='[...]' /> component an inline sibling (e.g., heading
first, then the tag wrapper containing only <Tags />), ensuring the wrapper only
contains the <Tags /> component and not the Markdown heading.
| <div class="tag-wrapper"> | ||
| ## Convert Epics to Work Items | ||
| <Tags tags={[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]} /> | ||
| <Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' /> | ||
| </div> |
There was a problem hiding this comment.
Same heading-inside-<div> problem as the "Duplicate Epics" block above — ## Convert Epics to Work Items will render as plain text and be missing from the TOC.
🐛 Proposed fix
-<div class="tag-wrapper">
- ## Convert Epics to Work Items
- <Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' />
-</div>
+## Convert Epics to Work Items <Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' />📝 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.
| <div class="tag-wrapper"> | |
| ## Convert Epics to Work Items | |
| <Tags tags={[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]} /> | |
| <Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' /> | |
| </div> | |
| ## Convert Epics to Work Items <Tags :tags='[{ name: "Business", link: "https://plane.so/pricing", additionalClass: "business" }]' /> |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/core-concepts/issues/epics.md` around lines 163 - 166, The heading
"Convert Epics to Work Items" is wrapped inside a <div class="tag-wrapper">
which causes it to render as plain text and be excluded from the table of
contents; move the markdown heading out of that wrapper (place the ## Convert
Epics to Work Items line above or below the <div class="tag-wrapper">) and keep
the <Tags ... /> component inside the wrapper (or wrap only the <Tags> element)
so the heading is a top-level markdown heading that will be picked up by the
TOC.
docs/core-concepts/pages/wiki.md
Outdated
| title: Wiki for company wide knowledge base | ||
| sidebar_label: Wiki | ||
| hide_title: true | ||
| description: Create and organize company-wide documentation, policies, guides, and knowledge that extends beyond individual projects. | ||
| --- | ||
|
|
||
| import Tags from "@site/src/components/Tags"; | ||
| # Wiki for company wide knowledge base |
There was a problem hiding this comment.
Fix hyphenation: "company-wide knowledge base"
"Company-wide" is a compound modifier and should be hyphenated. The issue appears in both the front matter title (line 2) and the H1 heading (line 6).
✏️ Proposed fix
-title: Wiki for company wide knowledge base
+title: Wiki for company-wide knowledge base-# Wiki for company wide knowledge base
+# Wiki for company-wide knowledge base📝 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.
| title: Wiki for company wide knowledge base | |
| sidebar_label: Wiki | |
| hide_title: true | |
| description: Create and organize company-wide documentation, policies, guides, and knowledge that extends beyond individual projects. | |
| --- | |
| import Tags from "@site/src/components/Tags"; | |
| # Wiki for company wide knowledge base | |
| title: Wiki for company-wide knowledge base | |
| description: Create and organize company-wide documentation, policies, guides, and knowledge that extends beyond individual projects. | |
| --- | |
| # Wiki for company-wide knowledge base |
🧰 Tools
🪛 LanguageTool
[grammar] ~6-~6: Use a hyphen to join words.
Context: ...vidual projects. --- # Wiki for company wide knowledge base <Tags :tags='[{ nam...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/core-concepts/pages/wiki.md` around lines 2 - 6, Update the two
occurrences of the phrase to use the hyphenated compound modifier
"company-wide": change the front matter title value (the `title:` string) and
the H1 heading text ("# Wiki for company wide knowledge base") to "company-wide
knowledge base" so both the `title` and the displayed heading are corrected.
|
|
||
| ## Import Notion content | ||
|
|
||
|  |
There was a problem hiding this comment.
Standalone image will render as a code block due to 4-space indentation.
In Markdown (including VitePress/markdown-it), a block indented with 4 spaces at the top level is treated as a fenced code block, not rendered content. This image will appear as literal text  inside a <pre> element.
Remove the leading spaces so the image renders correctly:
🐛 Proposed fix
- 
+📝 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.
|  | |
|  |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/importers/notion.md` at line 37, The image line in
docs/importers/notion.md is indented by four spaces so Markdown treats it as a
code block; remove the leading spaces from the line containing ""
so it becomes a normal top-level Markdown image line (no surrounding backticks
or additional indentation) and verify it renders as an image rather than inside
a <pre> block.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/workspaces-and-users/permissions.md (1)
14-2025: Centralize the permission-cell markup instead of hand-copying it across every table.This page duplicates the same allowed/denied cell HTML and inline color styles hundreds of times. That makes permission updates and future visual tweaks easy to apply inconsistently. Please consider moving the status rendering to a small VitePress/Vue component or, at minimum, replacing the inline styles with shared classes and generating the tables from data.
♻️ Example direction
- <td align="center"><span style="color: green; font-weight: bold; font-size: 16px" aria-label="Allowed">✓</span></td> - <td align="center"><span style="color: red; font-weight: bold; font-size: 16px" aria-label="Not allowed">x</span></td> + <td class="permission-cell"><PermissionStatus :allowed="true" /></td> + <td class="permission-cell"><PermissionStatus :allowed="false" /></td>That also gives you one place to control theme-aware colors, iconography, and accessibility text.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/workspaces-and-users/permissions.md` around lines 14 - 2025, The docs duplicate the same permission cell HTML (span with inline style and ✓/x) across many tables (e.g., under the Workspaces, Projects, Work items, Cycles, Modules, Views, Pages, Intake sections); refactor by creating a single Vue/VitePress component (e.g., PermissionCell) or a shared CSS class plus a small helper that accepts a boolean/status and renders the proper icon, aria-label, and theme-aware color, then replace every inline span usage in those tables with that component/helper and convert the hard-coded tables to be generated from a data structure where possible so visual and accessibility changes are made in one place.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/workspaces-and-users/permissions.md`:
- Around line 14-2025: The docs duplicate the same permission cell HTML (span
with inline style and ✓/x) across many tables (e.g., under the Workspaces,
Projects, Work items, Cycles, Modules, Views, Pages, Intake sections); refactor
by creating a single Vue/VitePress component (e.g., PermissionCell) or a shared
CSS class plus a small helper that accepts a boolean/status and renders the
proper icon, aria-label, and theme-aware color, then replace every inline span
usage in those tables with that component/helper and convert the hard-coded
tables to be generated from a data structure where possible so visual and
accessibility changes are made in one place.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f5afebcf-4865-4858-b14c-b71af9249b25
📒 Files selected for processing (3)
docs/importers/asana.mddocs/importers/jira.mddocs/workspaces-and-users/permissions.md
d3e166e to
2d54f30
Compare
Summary by CodeRabbit
New Features
Documentation
Chores