feat: add Mistral Vibe CLI platform support#1895
feat: add Mistral Vibe CLI platform support#1895welcoMattic wants to merge 1 commit intobmad-code-org:mainfrom
Conversation
📝 WalkthroughWalkthroughAdds Mistral Vibe as a new CLI platform (installer metadata and skill-format support), updates installation docs to surface the new layout and tool ID, and introduces comprehensive tests validating Mistral Vibe native-skill installation and SKILL.md parsing. Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer/CLI
participant Installer as Installer CLI
participant PlatformCfg as platform-codes.yaml
participant FS as Filesystem (.vibe/skills)
participant Test as Test Suite
rect rgba(200,200,255,0.5)
Dev->>Installer: run install --platform=mistral
end
rect rgba(200,255,200,0.5)
Installer->>PlatformCfg: lookup "mistral" metadata
PlatformCfg-->>Installer: return installer (target_dir: .vibe/skills, skill_format: true)
end
rect rgba(255,200,200,0.5)
Installer->>FS: create / write skill files under `.vibe/skills`
FS-->>Installer: confirm files written
end
rect rgba(200,255,255,0.5)
Test->>FS: detect installed skills and read SKILL.md
Test->>PlatformCfg: assert installer capabilities (skill_format, template_type)
Test-->>Dev: report pass/fail
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 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)
📝 Coding Plan
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 Tip You can enable review details to help with troubleshooting, context usage and more.Enable the |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (5)
docs/how-to/install-bmad.md (1)
84-90: Directory structure detail is inconsistent across platforms.The
.claude/section shows specific skill directory names (bmad-help/,bmad-persona/,...), while.cursor/and.vibe/only show a genericskills/with.... For consistency, either:
- Show the same level of detail for all platforms, or
- Collapse
.claude/to match the abbreviated styleAdditionally, the tree structure for
.cursor/and.vibe/uses inconsistent indentation compared to.claude/. Consider aligning them:📝 Suggested structure alignment
├── .claude/ # Claude Code skills (if using Claude Code) │ └── skills/ │ ├── bmad-help/ │ ├── bmad-persona/ │ └── ... -├── .cursor/ # Cursor skills (if using Cursor) -│ └── skills/ -│ └── ... -└── .vibe/ # Mistral Vibe skills (if using Mistral Vibe) +├── .cursor/ # Cursor skills (if using Cursor) +│ └── skills/ +│ └── ... +├── .vibe/ # Mistral Vibe skills (if using Mistral Vibe) +│ └── skills/ +│ └── ...🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 84 - 90, The README shows inconsistent directory-detail and indentation between the .claude/ block (which lists specific skill folders like bmad-help/ and bmad-persona/) and the abbreviated .cursor/ and .vibe/ blocks; update the document so the three blocks are consistent—either expand .cursor/ and .vibe/ to list their skill subfolders at the same level as .claude/ (e.g., .cursor/ -> skills/ -> bmad-help/, bmad-persona/, ...) or collapse .claude/ to the abbreviated form (skills/ with ...), and normalize indentation/spacing across .claude/, .cursor/, and .vibe/ to match the chosen style.test/test-installation-components.js (3)
1601-1607: Test doesn't verify absence oflegacy_targetsbehavior.Unlike tests for platforms with legacy cleanup (e.g., Gemini at lines 1224-1227), this test doesn't verify that the installer correctly handles the case where
legacy_targetsis undefined. Consider adding an explicit assertion that no unexpected cleanup occurs, or a comment explaining why this is intentionally not tested.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@test/test-installation-components.js` around lines 1601 - 1607, The test for Mistral's installer (using loadPlatformCodes and accessing platformCodes29.platforms.mistral?.installer) doesn't assert behavior when legacy_targets is undefined; add an explicit assertion that installer.legacy_targets is undefined (or that no cleanup behavior runs) or add a short comment explaining the omission so the intent is clear—specifically check that mistralInstaller?.legacy_targets === undefined (or assert no cleanup side-effects) immediately after the existing assertions to mirror the Gemini test pattern and prevent regressions.
1684-1688: Variable names are now misaligned with suite numbers after renumbering.After inserting Suite 29 (Mistral Vibe), the variable
tempFixture29on line 1688 belongs to what is now Suite 30. Similarly,tempFixture30on line 1801 belongs to Suite 31. This creates confusion when debugging test failures.Consider renaming to descriptive names rather than numeric suffixes:
📝 Suggested variable naming
- let tempFixture29; + let tempFixtureSkillScanner; ... - let tempFixture30; + let tempFixtureParseValidation;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@test/test-installation-components.js` around lines 1684 - 1688, Rename the confusing numeric-suffixed test fixture variables so they match their current test suites and are descriptive: change tempFixture29 (used in the "Unified Skill Scanner — collectSkills" suite) and tempFixture30 (used in the subsequent suite) to clear names like unifiedSkillScannerFixture and nextSuiteFixture (or another descriptive name). Update every reference to these symbols (declarations and any uses in hooks/tests such as before/after or it blocks) to the new names to keep naming consistent after renumbering.
1594-1680: Test is heavily duplicated from Suite 28 (Pi Native Skills).This test block is nearly identical to Suite 28, differing only in platform name, target directory, and variable suffixes. Consider extracting a shared helper function to reduce duplication and make the test more maintainable.
♻️ Suggested helper extraction pattern
async function testNativeSkillsInstall(platformCode, expectedTargetDir, opts = {}) { const { hasLegacyTargets = false, legacyDir = null, hasAncestorCheck = false } = opts; clearCache(); const platformCodes = await loadPlatformCodes(); const installer = platformCodes.platforms[platformCode]?.installer; assert(installer?.target_dir === expectedTargetDir, `${platformCode} target_dir uses native skills path`); assert(installer?.skill_format === true, `${platformCode} installer enables native skill output`); // ... common assertions ... const tempProjectDir = await fs.mkdtemp(path.join(os.tmpdir(), `bmad-${platformCode}-test-`)); // ... common setup and verification logic ... } // Usage: await testNativeSkillsInstall('pi', '.pi/skills'); await testNativeSkillsInstall('mistral', '.vibe/skills');🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@test/test-installation-components.js` around lines 1594 - 1680, The test block duplicates Suite 28 logic; extract a reusable helper (e.g., testNativeSkillsInstall) that encapsulates the repeated assertions and setup/detect/verify flow currently in the Suite 29 block (the code using tempProjectDir29, installedBmadDir29, ideManager29, ideManager29.setup('mistral', ...), skillFile29, fmMatch29, frontmatter/body checks, and reinstall check). The helper should accept parameters like platformCode ('mistral'), expectedTargetDir ('.vibe/skills'), selectedModules (['bmm']) and any name mapping for the skill directory ('bmad-master'), perform the clearCache/loadPlatformCodes checks, create temp dirs, run ensureInitialized/detectInstalledIdes/setup, assert frontmatter/body expectations, and clean up; then replace the duplicated Suite 29 body with a call to testNativeSkillsInstall('mistral', '.vibe/skills', { selectedModules: ['bmm'], skillDirName: 'bmad-master' }). Ensure the helper returns/throws so existing try/catch and finally cleanup behavior remains consistent.docs/how-to/non-interactive-installation.md (1)
64-65: Consider alphabetical ordering for the "Other CLIs" list.The current ordering (
mistral,gemini,codex,auggie,pi) appears arbitrary. Alphabetical ordering (auggie,codex,gemini,mistral,pi) would be more predictable and easier to scan, especially as the list grows.📝 Suggested reorder
-**Other CLIs:** `mistral`, `gemini`, `codex`, `auggie`, `pi` +**Other CLIs:** `auggie`, `codex`, `gemini`, `mistral`, `pi`🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/non-interactive-installation.md` around lines 64 - 65, Reorder the "Other CLIs" inline list that currently reads "**Other CLIs:** `mistral`, `gemini`, `codex`, `auggie`, `pi`" into alphabetical order so it becomes "`auggie`, `codex`, `gemini`, `mistral`, `pi`" to improve predictability and scanability; update the list text in non-interactive-installation.md where that exact string appears.
🤖 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/how-to/install-bmad.md`:
- Around line 50-53: The docs list "Mistral Vibe" as a top-level preferred
option while platform-codes.yaml marks it preferred: false; to fix, either set
preferred: true for the Mistral Vibe entry in platform-codes.yaml (update the
Mistral Vibe platform object) or remove it from the top-level list in
docs/how-to/install-bmad.md and move it under "Others" so the documentation
matches the platform-codes.yaml configuration; make sure the change targets the
"Mistral Vibe" entry in platform-codes.yaml or the top-level list in the
install-bmad.md file accordingly.
In `@test/test-installation-components.js`:
- Line 1665: The test currently asserts a fragile template string by checking
body29.includes('agent-activation'); update the assertion in
test/test-installation-components.js to avoid depending on exact template
wording: either assert that body29 is non-empty (e.g., truthy or length > 0) or
replace the check with a more semantic check (e.g., presence of a documented
keyword or regex that matches any acceptable activation instruction), and add a
short comment noting this is an intentional contract if you must keep the exact
phrase; reference the body29 variable and the assertion line to locate and
change the expectation.
---
Nitpick comments:
In `@docs/how-to/install-bmad.md`:
- Around line 84-90: The README shows inconsistent directory-detail and
indentation between the .claude/ block (which lists specific skill folders like
bmad-help/ and bmad-persona/) and the abbreviated .cursor/ and .vibe/ blocks;
update the document so the three blocks are consistent—either expand .cursor/
and .vibe/ to list their skill subfolders at the same level as .claude/ (e.g.,
.cursor/ -> skills/ -> bmad-help/, bmad-persona/, ...) or collapse .claude/ to
the abbreviated form (skills/ with ...), and normalize indentation/spacing
across .claude/, .cursor/, and .vibe/ to match the chosen style.
In `@docs/how-to/non-interactive-installation.md`:
- Around line 64-65: Reorder the "Other CLIs" inline list that currently reads
"**Other CLIs:** `mistral`, `gemini`, `codex`, `auggie`, `pi`" into alphabetical
order so it becomes "`auggie`, `codex`, `gemini`, `mistral`, `pi`" to improve
predictability and scanability; update the list text in
non-interactive-installation.md where that exact string appears.
In `@test/test-installation-components.js`:
- Around line 1601-1607: The test for Mistral's installer (using
loadPlatformCodes and accessing platformCodes29.platforms.mistral?.installer)
doesn't assert behavior when legacy_targets is undefined; add an explicit
assertion that installer.legacy_targets is undefined (or that no cleanup
behavior runs) or add a short comment explaining the omission so the intent is
clear—specifically check that mistralInstaller?.legacy_targets === undefined (or
assert no cleanup side-effects) immediately after the existing assertions to
mirror the Gemini test pattern and prevent regressions.
- Around line 1684-1688: Rename the confusing numeric-suffixed test fixture
variables so they match their current test suites and are descriptive: change
tempFixture29 (used in the "Unified Skill Scanner — collectSkills" suite) and
tempFixture30 (used in the subsequent suite) to clear names like
unifiedSkillScannerFixture and nextSuiteFixture (or another descriptive name).
Update every reference to these symbols (declarations and any uses in
hooks/tests such as before/after or it blocks) to the new names to keep naming
consistent after renumbering.
- Around line 1594-1680: The test block duplicates Suite 28 logic; extract a
reusable helper (e.g., testNativeSkillsInstall) that encapsulates the repeated
assertions and setup/detect/verify flow currently in the Suite 29 block (the
code using tempProjectDir29, installedBmadDir29, ideManager29,
ideManager29.setup('mistral', ...), skillFile29, fmMatch29, frontmatter/body
checks, and reinstall check). The helper should accept parameters like
platformCode ('mistral'), expectedTargetDir ('.vibe/skills'), selectedModules
(['bmm']) and any name mapping for the skill directory ('bmad-master'), perform
the clearCache/loadPlatformCodes checks, create temp dirs, run
ensureInitialized/detectInstalledIdes/setup, assert frontmatter/body
expectations, and clean up; then replace the duplicated Suite 29 body with a
call to testNativeSkillsInstall('mistral', '.vibe/skills', { selectedModules:
['bmm'], skillDirName: 'bmad-master' }). Ensure the helper returns/throws so
existing try/catch and finally cleanup behavior remains consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 08595170-3e96-4da0-8138-36dd9b4ce073
📒 Files selected for processing (4)
docs/how-to/install-bmad.mddocs/how-to/non-interactive-installation.mdtest/test-installation-components.jstools/cli/installers/lib/ide/platform-codes.yaml
430a79e to
fbcc244
Compare
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (10)
docs/how-to/install-bmad.md (10)
86-86:⚠️ Potential issue | 🟠 MajorGenerated artifacts directory is mentioned but never explained.
Line 86 shows
_bmad-output/with a comment "Generated artifacts", but nowhere in this document does it explain:
- What artifacts get generated?
- When are they created?
- Can users delete this directory?
- Should it be in
.gitignore?Either explain this directory inline or add a link to documentation that does. Users seeing a directory appear in their project deserve to know what it's for.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` at line 86, Document the _bmad-output/ directory: add a short inline explanation in docs/how-to/install-bmad.md next to the listed "_bmad-output/ # Generated artifacts" that states what artifacts are produced (e.g., compiled binaries, generated configs, logs), when the directory is created (e.g., during build/install or first run of the BMAD tool), whether it is safe to delete (yes/no and consequences), and whether it should be added to .gitignore (recommendation). If there is a canonical doc that already covers this, replace the inline explanation with a one-line summary and add a link to that documentation; reference the directory name "_bmad-output/" in the text so readers can easily locate it.
21-21:⚠️ Potential issue | 🟡 MinorPrerequisites list doesn't reflect the new Mistral Vibe support.
This line mentions "Claude Code, Cursor, or similar" but Mistral Vibe support was just added. Update this to explicitly list Mistral Vibe, or clarify what "similar" means (e.g., "any AI IDE with skill support").
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` at line 21, Update the prerequisites line that currently reads "AI tool (Claude Code, Cursor, or similar)" to explicitly include Mistral Vibe or clarify "similar"; edit the string "AI tool (Claude Code, Cursor, or similar)" so it either becomes "AI tool (Claude Code, Cursor, Mistral Vibe, or similar)" or "AI tool (Claude Code, Cursor, Mistral Vibe, or any AI IDE with skill support)" to reflect the new Mistral Vibe support and remove ambiguity.
50-54: 🛠️ Refactor suggestion | 🟠 MajorInstallation location guidance is confusing and lacks decision criteria.
"Current directory (recommended for new projects if you created the directory yourself and ran from within the directory)" is convoluted. The nested conditionals make it hard to parse. Also missing:
- What happens if I choose the wrong location?
- Can I move things later?
- Why would I ever choose "Custom path"?
Simplify to something like:
- "Current directory — use this if you're already in your project folder"
- "Custom path — use this to install into a subfolder or different location"
And add a note about what happens if users choose incorrectly.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 50 - 54, Replace the convoluted "Current directory (recommended...)" sentence in docs/how-to/install-bmad.md with two concise bullets: "Current directory — use this if you're already in your project folder" and "Custom path — use this to install into a subfolder or different location" (replace the existing installer options block in the diff). Add a short single-sentence note after the bullets explaining consequences and recovery: state what happens if the wrong location is chosen (files will be placed there, installer can be re-run or files moved manually), and a one-line tip about moving files later or re-installing into the correct location. Keep wording simple and avoid nested conditionals.
87-97:⚠️ Potential issue | 🟠 MajorInconsistent detail level across platform directories.
Claude Code (lines 87-91) shows specific skills like
bmad-help/andbmad-persona/, but Cursor and Vibe (lines 92-97) are abbreviated with└── .... This inconsistency tells users nothing about what actually gets installed for Cursor or Mistral Vibe.Either:
- Show the same skill names for all three platforms (if they're identical), or
- Document the differences (if skills vary by platform), or
- Add a note like "# Same skills as .claude/ above"
Users need to know what they're getting, not just that "something" gets installed.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 87 - 97, The directory tree shows concrete skill names under .claude/ (bmad-help/, bmad-persona/) but uses placeholders under .cursor/ and .vibe/, causing inconsistent documentation; update the docs so .cursor/ and .vibe/ list the same skill names if they are identical or explicitly list their platform-specific skills, or add a clarifying note such as "Same skills as .claude/ above" to the .cursor/ and .vibe/ sections; locate the block with ".claude/", ".cursor/", and ".vibe/" in the installation example and make the entries for bmad-help/ and bmad-persona/ consistent or add the explanatory comment.
100-108:⚠️ Potential issue | 🟠 MajorVerification section doesn't address platform-specific differences.
The verification instructions say to "run
bmad-help" but don't clarify:
- Is the invocation syntax the same across Claude Code, Cursor, and Mistral Vibe?
- Are there platform-specific issues users might encounter?
- What does "success" look like on each platform?
Given that line 63 explicitly states "Each tool has its own way of integrating skills", the verification section should reflect those differences. At minimum, add a note if invocation syntax differs by platform.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 100 - 108, Update the "Verify Installation" section to clarify platform-specific invocation and success criteria for the bmad-help command: explicitly state whether the `bmad-help` invocation syntax differs for Claude Code, Cursor, and Mistral Vibe (e.g., direct CLI vs tool-specific prefix or UI command), list any known platform-specific issues or prerequisites for each platform (authentication, path, or integration setup), and provide an example of what a successful `bmad-help` output looks like on each platform (e.g., confirmation message, available modules list, and recommended next step) so readers can tell it worked; reference `bmad-help` and include per-platform notes for Claude Code, Cursor, and Mistral Vibe.
87-97:⚠️ Potential issue | 🟡 MinorConditional comments "(if using X)" create ambiguity about when directories appear.
Lines 87, 92, and 95 all say "(if using [Platform])", but this doesn't clarify:
- Are these directories created only during installation if the user selects that platform?
- Are they always created but only populated if the platform is detected?
- If a user adds a platform later, do they need to re-run the installer?
Make the conditionality explicit: "Created during installation if you select [Platform]" or similar. Users need to know whether they'll see these directories in their project.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 87 - 97, The conditional notes "(if using X)" are ambiguous; update the entries for the .claude, .cursor, and .vibe directories so each explicitly states when the directory is created and when it's populated (for example: "Created during installation if you select Claude; populated with skill templates only when Claude is enabled" or "Directory is always created but remains empty until you enable/add the platform"). Locate the three items for .claude, .cursor, and .vibe in the listing and replace the parenthetical text with clear, consistent wording that answers whether the directory is created at install time, only populated when the platform is enabled, and whether re-running the installer is required to add it later.
65-67:⚠️ Potential issue | 🟠 Major"Ask your AI assistant how to enable skills" is circular and platform-naive.
If a user's AI assistant doesn't know about their specific platform's skill enablement process, this advice is useless. Worse, you're telling users to ask their AI how to enable skills that will teach their AI things — a chicken-and-egg problem.
Either:
- Link to platform-specific documentation for Claude Code, Cursor, and Mistral Vibe skill enablement, or
- Provide inline instructions for each platform, or
- At minimum, clarify "or consult your platform's documentation"
Don't rely on the AI assistant having knowledge it might not have, especially for a newly added platform like Mistral Vibe.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 65 - 67, Replace the circular/naive advice in the "Enabling Skills" note (the block starting with "Enabling Skills" that currently tells users to "ask your AI assistant how to enable skills") with explicit, actionable guidance: either add direct links to platform-specific skill enablement docs for Claude Code, Cursor, and Mistral Vibe, or include brief inline steps for each platform, and at minimum change the sentence to "or consult your platform's documentation" so it no longer instructs users to query their AI assistant; update the note content accordingly to reference the specific platforms by name.
115-118:⚠️ Potential issue | 🟠 MajorTroubleshooting section ignores platform-specific issues.
This section has generic troubleshooting but nothing specific to Mistral Vibe (which was just added) or differences between platforms. If Mistral Vibe has known gotchas, missing dependencies, or configuration quirks, document them here. If it's identical to other platforms, state that explicitly so users don't wonder.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 115 - 118, Update the Troubleshooting section to surface platform-specific guidance for Mistral Vibe: add a "Mistral Vibe" subsection under "Troubleshooting" that lists any known gotchas, missing dependencies, required configuration changes, and common error messages (with suggested fixes), or explicitly state "No platform-specific differences from other supported runtimes" if it's identical; also ensure other platform subsections (Linux, macOS, Windows) mention any Vibe-specific variations where applicable and reference the Mistral Vibe subsection for details.
63-63:⚠️ Potential issue | 🟠 MajorVague statement about tool differences provides no actionable information.
"Each tool has its own way of integrating skills" — okay, but what are those ways? Users choosing between Claude Code, Cursor, and Mistral Vibe would benefit from understanding:
- Whether there are setup differences
- Platform-specific limitations or features
- How skill discovery differs between platforms
Either add a brief comparison table/list, or link to platform-specific documentation. Don't just acknowledge differences exist and leave users guessing.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` at line 63, Replace the vague sentence "Each tool has its own way of integrating skills" with a short, actionable comparison or links: add a 3‑bullet mini-list (one line each) summarizing setup differences for Claude Code, Cursor, and Mistral Vibe (e.g., whether they use prompt files, config APIs, or plugin manifests), note any platform-specific limitations/features (authentication, file locations, hot-reload), and include direct links to platform-specific docs (or a "See: <platform> docs" link) so readers can follow up for detailed steps; update the surrounding paragraph that mentions "tiny prompt files" to reference the platform-specific discovery method for each named tool.
10-10:⚠️ Potential issue | 🟡 MinorClarify Mistral Vibe support in non-interactive installation guide reference.
The linked non-interactive-installation.md guide lists
mistralas an available tool ID, but doesn't explicitly mention "Mistral Vibe" by name. Users looking specifically for Mistral Vibe support may not realize thatmistralis the relevant option. Update the link text or add an inline note to clarify that the non-interactive guide includes Mistral Vibe configuration.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` at line 10, Update the sentence linking to non-interactive-installation.md to clarify that the guide's `mistral` tool ID corresponds to "Mistral Vibe"; for example, change or append the link text to mention "Mistral Vibe (use tool ID `mistral`)" or add a parenthetical note after the link indicating that `mistral` is the identifier for Mistral Vibe so readers know the non-interactive guide covers Mistral Vibe configuration.
♻️ Duplicate comments (1)
docs/how-to/install-bmad.md (1)
59-61:⚠️ Potential issue | 🟠 MajorMistral Vibe is missing from the tools list but appears in the directory tree.
Lines 95-97 show a
.vibe/directory structure, indicating Mistral Vibe support was added. Yet this section lists only "Claude Code", "Cursor", and "Others". Either:
- Add "Mistral Vibe" as an explicit bullet point here (if it's a first-class supported platform), or
- Move the
.vibe/example under a conditional note explaining it's an "other" platformUsers need to know Mistral Vibe is an option before they see its directory appear in the tree.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/how-to/install-bmad.md` around lines 59 - 61, The tools list omits Mistral Vibe even though the directory tree shows a .vibe/ entry; update the bullets (the list containing "Claude Code" and "Cursor") to explicitly include "Mistral Vibe" as its own bullet if it is a first-class supported platform, or alternatively move the .vibe/ example under the "Others" section and add a clarifying note that .vibe/ represents Mistral Vibe; ensure references to ".vibe/" and the existing bullets ("Claude Code", "Cursor", "Others") are updated so readers see Mistral Vibe before encountering the directory tree.
🤖 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/how-to/install-bmad.md`:
- Around line 92-97: Replace the ambiguous "└── ..." entries under the .cursor/
→ skills/ and .vibe/ → skills/ trees with a concrete example list or a
clarifying comment; e.g., show representative filenames like bmad-help,
bmad-persona, bmad-config (or add a trailing comment "# (bmad-help,
bmad-persona, etc.)") so readers know what skills to expect; update both the
.cursor and .vibe blocks (the skills/ entries) to use these explicit examples
instead of the ellipsis.
---
Outside diff comments:
In `@docs/how-to/install-bmad.md`:
- Line 86: Document the _bmad-output/ directory: add a short inline explanation
in docs/how-to/install-bmad.md next to the listed "_bmad-output/ # Generated
artifacts" that states what artifacts are produced (e.g., compiled binaries,
generated configs, logs), when the directory is created (e.g., during
build/install or first run of the BMAD tool), whether it is safe to delete
(yes/no and consequences), and whether it should be added to .gitignore
(recommendation). If there is a canonical doc that already covers this, replace
the inline explanation with a one-line summary and add a link to that
documentation; reference the directory name "_bmad-output/" in the text so
readers can easily locate it.
- Line 21: Update the prerequisites line that currently reads "AI tool (Claude
Code, Cursor, or similar)" to explicitly include Mistral Vibe or clarify
"similar"; edit the string "AI tool (Claude Code, Cursor, or similar)" so it
either becomes "AI tool (Claude Code, Cursor, Mistral Vibe, or similar)" or "AI
tool (Claude Code, Cursor, Mistral Vibe, or any AI IDE with skill support)" to
reflect the new Mistral Vibe support and remove ambiguity.
- Around line 50-54: Replace the convoluted "Current directory (recommended...)"
sentence in docs/how-to/install-bmad.md with two concise bullets: "Current
directory — use this if you're already in your project folder" and "Custom path
— use this to install into a subfolder or different location" (replace the
existing installer options block in the diff). Add a short single-sentence note
after the bullets explaining consequences and recovery: state what happens if
the wrong location is chosen (files will be placed there, installer can be
re-run or files moved manually), and a one-line tip about moving files later or
re-installing into the correct location. Keep wording simple and avoid nested
conditionals.
- Around line 87-97: The directory tree shows concrete skill names under
.claude/ (bmad-help/, bmad-persona/) but uses placeholders under .cursor/ and
.vibe/, causing inconsistent documentation; update the docs so .cursor/ and
.vibe/ list the same skill names if they are identical or explicitly list their
platform-specific skills, or add a clarifying note such as "Same skills as
.claude/ above" to the .cursor/ and .vibe/ sections; locate the block with
".claude/", ".cursor/", and ".vibe/" in the installation example and make the
entries for bmad-help/ and bmad-persona/ consistent or add the explanatory
comment.
- Around line 100-108: Update the "Verify Installation" section to clarify
platform-specific invocation and success criteria for the bmad-help command:
explicitly state whether the `bmad-help` invocation syntax differs for Claude
Code, Cursor, and Mistral Vibe (e.g., direct CLI vs tool-specific prefix or UI
command), list any known platform-specific issues or prerequisites for each
platform (authentication, path, or integration setup), and provide an example of
what a successful `bmad-help` output looks like on each platform (e.g.,
confirmation message, available modules list, and recommended next step) so
readers can tell it worked; reference `bmad-help` and include per-platform notes
for Claude Code, Cursor, and Mistral Vibe.
- Around line 87-97: The conditional notes "(if using X)" are ambiguous; update
the entries for the .claude, .cursor, and .vibe directories so each explicitly
states when the directory is created and when it's populated (for example:
"Created during installation if you select Claude; populated with skill
templates only when Claude is enabled" or "Directory is always created but
remains empty until you enable/add the platform"). Locate the three items for
.claude, .cursor, and .vibe in the listing and replace the parenthetical text
with clear, consistent wording that answers whether the directory is created at
install time, only populated when the platform is enabled, and whether
re-running the installer is required to add it later.
- Around line 65-67: Replace the circular/naive advice in the "Enabling Skills"
note (the block starting with "Enabling Skills" that currently tells users to
"ask your AI assistant how to enable skills") with explicit, actionable
guidance: either add direct links to platform-specific skill enablement docs for
Claude Code, Cursor, and Mistral Vibe, or include brief inline steps for each
platform, and at minimum change the sentence to "or consult your platform's
documentation" so it no longer instructs users to query their AI assistant;
update the note content accordingly to reference the specific platforms by name.
- Around line 115-118: Update the Troubleshooting section to surface
platform-specific guidance for Mistral Vibe: add a "Mistral Vibe" subsection
under "Troubleshooting" that lists any known gotchas, missing dependencies,
required configuration changes, and common error messages (with suggested
fixes), or explicitly state "No platform-specific differences from other
supported runtimes" if it's identical; also ensure other platform subsections
(Linux, macOS, Windows) mention any Vibe-specific variations where applicable
and reference the Mistral Vibe subsection for details.
- Line 63: Replace the vague sentence "Each tool has its own way of integrating
skills" with a short, actionable comparison or links: add a 3‑bullet mini-list
(one line each) summarizing setup differences for Claude Code, Cursor, and
Mistral Vibe (e.g., whether they use prompt files, config APIs, or plugin
manifests), note any platform-specific limitations/features (authentication,
file locations, hot-reload), and include direct links to platform-specific docs
(or a "See: <platform> docs" link) so readers can follow up for detailed steps;
update the surrounding paragraph that mentions "tiny prompt files" to reference
the platform-specific discovery method for each named tool.
- Line 10: Update the sentence linking to non-interactive-installation.md to
clarify that the guide's `mistral` tool ID corresponds to "Mistral Vibe"; for
example, change or append the link text to mention "Mistral Vibe (use tool ID
`mistral`)" or add a parenthetical note after the link indicating that `mistral`
is the identifier for Mistral Vibe so readers know the non-interactive guide
covers Mistral Vibe configuration.
---
Duplicate comments:
In `@docs/how-to/install-bmad.md`:
- Around line 59-61: The tools list omits Mistral Vibe even though the directory
tree shows a .vibe/ entry; update the bullets (the list containing "Claude Code"
and "Cursor") to explicitly include "Mistral Vibe" as its own bullet if it is a
first-class supported platform, or alternatively move the .vibe/ example under
the "Others" section and add a clarifying note that .vibe/ represents Mistral
Vibe; ensure references to ".vibe/" and the existing bullets ("Claude Code",
"Cursor", "Others") are updated so readers see Mistral Vibe before encountering
the directory tree.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 75f01c98-590a-4220-b0d8-1d6a260f69d4
📒 Files selected for processing (2)
docs/how-to/install-bmad.mddocs/how-to/non-interactive-installation.md
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/how-to/non-interactive-installation.md
|
|
* Initial plan * feat: add Mistral Vibe CLI platform support Co-authored-by: welcoMattic <773875+welcoMattic@users.noreply.github.com> * docs: add Mistral Vibe to installation documentation Co-authored-by: welcoMattic <773875+welcoMattic@users.noreply.github.com> * Fix directory name for Mistral Vibe skills in docs * Update Mistral Vibe target directory in tests * Change target directory for Mistral's CLI installer --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: welcoMattic <773875+welcoMattic@users.noreply.github.com> Co-authored-by: Mathieu Santostefano <msantostefano@proton.me> # Conflicts: # test/test-installation-components.js # tools/cli/installers/lib/ide/platform-codes.yaml
|
this will be enabled very soon with the new skills based installer - thank you @welcoMattic |
Follow up #1507, this PR adds support for Mistral Vibe CLI.