-
Notifications
You must be signed in to change notification settings - Fork 35
migrate: docusarus to vitepress #394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThis pull request migrates the documentation system from Docusaurus to VitePress while simultaneously refactoring React components to Vue. The change includes removing Docusaurus configuration, replacing React components with Vue equivalents, updating all markdown files from JSX syntax to Vue template syntax, and reconfiguring build and styling infrastructure with Tailwind CSS integration. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes The review requires careful assessment of the framework migration's completeness (Docusaurus → VitePress), validation of Vue component implementations, verification of systematic syntax conversions across 100+ markdown files, evaluation of new configuration correctness, and confirmation that all content remains semantically intact despite structural changes. While many changes follow repetitive patterns, the diversity of file types, infrastructure changes, and the breadth of the migration warrant substantial review effort. 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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;
| <h2 class="!text-2xl !font-[640] !mb-6 !mt-0 !border-none !pt-0 tracking-tight text-[var(--vp-c-text-1)]">Explore by Topic</h2> | ||
| <div class="grid grid-cols-1 sm:grid-cols-2 min-[960px]:grid-cols-3 gap-4"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# First, check the project's Tailwind version
find . -type f \( -name "package.json" -o -name "tailwind.config.*" \) | head -20Repository: makeplane/docs
Length of output: 72
🏁 Script executed:
# Check the actual file content at the specified lines
wc -l docs/.vitepress/theme/components/HomeLanding.vueRepository: makeplane/docs
Length of output: 110
🏁 Script executed:
# Read the file to see the code at specified lines
sed -n '90,160p' docs/.vitepress/theme/components/HomeLanding.vueRepository: makeplane/docs
Length of output: 3833
🏁 Script executed:
# Check Tailwind version in package.json
cat package.json | grep -i tailwindRepository: makeplane/docs
Length of output: 123
🌐 Web query:
Tailwind CSS v4 important modifier syntax
💡 Result:
In Tailwind CSS v4, the important modifier uses a postfix !:
- Utility:
bg-red-500!(preferred) instead of!bg-red-500(old style) [1] - With variants: put
!at the very end:hover:bg-red-500!,md:hover:bg-red-500![1] - The change was made so the
!is always in a consistent position (at the end), even when variants are present [1].
Example:
<div class="bg-sky-500 bg-red-500! hover:bg-green-500!"></div>Sources: [1]
🏁 Script executed:
# Count all instances of prefix important modifier in the file
rg '!\w+' docs/.vitepress/theme/components/HomeLanding.vue | wc -lRepository: makeplane/docs
Length of output: 59
🏁 Script executed:
# Find all lines with prefix important modifiers to verify scope
rg -n '!\w+' docs/.vitepress/theme/components/HomeLanding.vue | head -20Repository: makeplane/docs
Length of output: 1538
Update all prefix ! important modifiers to suffix form for Tailwind v4 compatibility.
This file uses the old prefix syntax (!text-2xl) which is incompatible with Tailwind v4. The project has @tailwindcss/postcss@^4.0.6 installed, which requires the postfix form (text-2xl!). There are 9 instances across the file (lines 94, 100, 123, 130, 135, 150, 157, 169, 177) that need updating.
Example fix
-<h2 class="!text-2xl !font-[640] !mb-6 !mt-0 !border-none !pt-0 tracking-tight text-[var(--vp-c-text-1)]">Explore by Topic</h2>
+<h2 class="text-2xl! font-[640]! mb-6! mt-0! border-none! pt-0! tracking-tight text-[var(--vp-c-text-1)]">Explore by Topic</h2>📝 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.
| <h2 class="!text-2xl !font-[640] !mb-6 !mt-0 !border-none !pt-0 tracking-tight text-[var(--vp-c-text-1)]">Explore by Topic</h2> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 min-[960px]:grid-cols-3 gap-4"> | |
| <h2 class="text-2xl! font-[640]! mb-6! mt-0! border-none! pt-0! tracking-tight text-[var(--vp-c-text-1)]">Explore by Topic</h2> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 min-[960px]:grid-cols-3 gap-4"> |
🤖 Prompt for AI Agents
In `@docs/.vitepress/theme/components/HomeLanding.vue` around lines 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.
|
|
||
| # GitHub Importer | ||
|
|
||
| :::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.::: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix malformed directive syntax.
The tip directive is malformed - there's no space or newline between :::tip and the content. This will cause rendering issues in VitePress.
🔧 Proposed 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.
+:::📝 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.
| :::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. | |
| ::: |
🤖 Prompt for AI Agents
In `@docs/importers/github-imp.md` at 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.
| @@ -68,27 +67,27 @@ To import Jira issues to a Plane project, follow these steps: | |||
| :::warning | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
VitePress admonition blocks syntax spacing rules
💡 Result:
VitePress “admonition” (callout) syntax + spacing rules
1) Custom container admonitions (::: ...)
- Opening fence must be on its own line and starts with
:::, then a space, then the type:::: tip Content... :::
- Custom title (optional) goes on the same opening line, after a space following the type:
::: danger STOP Danger zone, do not proceed :::
- Attributes (optional) go at the end of the same opening line in
{...}, typically separated by a space from the title/type:::: details Click me {open} Content... ::: - Closing fence is
:::alone on its own line. (vitepress.dev)
2) GitHub-flavored alert blocks (> [!NOTE])
- The marker line is a blockquote with
>then[!TYPE]:> [!NOTE] > Your text...
- Every line in the alert block should be prefixed with
>(including blank lines if you want a blank line inside the callout). - Separate multiple alerts with a blank line between blockquote groups (as in the docs examples). (vitepress.dev)
Citations:
🏁 Script executed:
# Check the actual content of the file at the relevant lines
sed -n '10p;18p;50p;67p' docs/importers/jira.mdRepository: makeplane/docs
Length of output: 120
Update line 67 to use correct VitePress admonition syntax.
Lines 10, 18, and 50 were updated to use ::: info and ::: tip with a space after :::, but line 67 still contains :::warning without a space. VitePress requires a space between ::: and the admonition type. Update line 67 to ::: warning.
🤖 Prompt for AI Agents
In `@docs/importers/jira.md` at 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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
| ::: info | ||
| The Asana importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. | ||
| ::: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo: "importert" should be "importer".
Line 11 contains a typo that needs correction.
🐛 Proposed fix
::: info
-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.
:::📝 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.
| ::: info | |
| The Asana importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. | |
| ::: | |
| ::: info | |
| The Asana importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. | |
| ::: |
🧰 Tools
🪛 LanguageTool
[grammar] ~11-~11: Ensure spelling is correct
Context: ... existing projects. ::: info The Asana importert is available on Plane Cloud and on all ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
In `@docs/importers/asana.md` around lines 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."
| <details> | ||
| <summary><b>Workspaces</b></summary> | ||
| <div> | ||
| <table style="width: 100%; display: table; margin-left: 2px"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improve accessibility: Add table captions and reconsider color-only indicators.
The tables lack <caption> elements, which are important for screen readers to provide context. Additionally, while the checkmark/cross symbols provide some redundancy, the heavy reliance on color (green/red) to convey permission status may not be sufficient for users with color vision deficiencies.
♿ Suggested improvements for accessibility
Add a <caption> element to each table:
<div>
<table style="width: 100%; display: table; margin-left: 2px">
+ <caption>Workspace permissions by role</caption>
<thead>Consider adding aria-label attributes to the permission indicators or using more descriptive text alongside the symbols to ensure the information is conveyed through multiple channels, not just color.
Also applies to: 29-31, 206-206
🤖 Prompt for AI Agents
In `@docs/workspaces-and-users/permissions.md` at 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.
Summary by CodeRabbit
Documentation
Chores