feat(ide): add Mistral Vibe CLI suppor#1507
feat(ide): add Mistral Vibe CLI suppor#1507AntonioTriguero wants to merge 9 commits intobmad-code-org:mainfrom
Conversation
📝 WalkthroughWalkthroughThis PR introduces support for Mistral Vibe CLI by adding a custom installer that configures Mistral Vibe projects with skills derived from agent artifacts and workflows. It includes a new setup class, platform registry entry, installer manager integration, and .gitignore updates. Changes
Sequence Diagram(s)sequenceDiagram
participant CLI as CLI Installer
participant Setup as MistralVibeSetup
participant AgentGen as AgentCommandGenerator
participant WorkflowGen as WorkflowCommandGenerator
participant FS as File System
CLI->>Setup: execute(projectPath)
Setup->>Setup: Force CLI mode
Setup->>FS: Create .vibe/skills directory
Setup->>FS: Clear old BMAD files (keep README)
Setup->>AgentGen: Collect core agents
AgentGen-->>Setup: Agent artifacts
Setup->>Setup: Merge with BMM exclusions
Setup->>FS: Write agent SKILL.md files
Setup->>WorkflowGen: Load BMAD workflows
WorkflowGen-->>Setup: Workflows list
Setup->>Setup: Filter BMM-related workflows
Setup->>FS: Write workflow SKILL.md files
Setup->>FS: Write utility skills (brainstorm, help, party-mode)
Setup->>Setup: Aggregate skill counts
Setup-->>CLI: Return status with summary
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@tools/cli/installers/lib/ide/mistral-vibe.js`:
- Around line 113-125: The SKILL.md frontmatter uses the unprefixed
workflow.name while writeMistralVibeWorkflows creates directories named with the
bmm- prefix, causing a name mismatch; update generateWorkflowSkillContent to
accept the prefixed skillName (already passed where used) and set frontmatter
name: to skillName while still using workflow.name (or a local workflowName
variable) when building the workflowPath and description (e.g., call
this.getWorkflowDescription(workflowName) and build paths from workflowName),
ensuring generateWorkflowSkillContent(skill, skillName) writes name:
${skillName} but computes paths/descriptions from workflow.name.
- Around line 94-108: The agent naming and frontmatter are inconsistent: update
writeMistralVibeArtifacts to derive skillName from artifact.module when prefix
=== 'agent' (use `agent-bmm-${artifact.name}` if artifact.module === 'bmm' else
`agent-${artifact.name}`) instead of forcing `agent-bmm-*`, and ensure you pass
that final skillName into generateAgentSkillContent; then modify
generateAgentSkillContent(artifact, skillName) to use artifact.module to choose
the agentPath (`_bmad/bmm/agents/${artifact.name}.md` for bmm, otherwise
`_bmad/core/agents/${artifact.name}.md`) and set the SKILL frontmatter name to
the passed skillName so file paths and frontmatter names align (references:
writeMistralVibeArtifacts, generateAgentSkillContent, skillName,
artifact.module, artifact.name).
- Around line 145-156: The template string assigned to skillContent currently
hardcodes ".vibe/_bmad" which breaks configurable BMAD folder names; update the
path construction to use this.bmadFolderName (e.g., replace occurrences of
".vibe/_bmad" with `.vibe/${this.bmadFolderName}`) inside the skillContent
template and any other places in this file where "_bmad" is hardcoded
(referenced by the reviewer at line ~347); ensure you only change the path
segments and keep the rest of the template text intact, using the skill.name
variable as already present.
Addresses bmad-code-org#1286 This commit adds comprehensive Mistral Vibe CLI support to BMAD Method, enabling BMAD skills to work seamlessly with Mistral's CLI tools. ### Key Changes: 1. **Mistral Vibe IDE Handler** (`mistral-vibe.js`): - Complete Mistral Vibe CLI integration with skill generation - Generates agent skills with proper `agent-` and `agent-bmm-` prefixes - Creates workflow skills with `bmm-` prefixes - Includes core skills (brainstorming, help, party-mode) - Uses `artifact.module` for consistent agent type determination 2. **Base IDE Class Enhancement** (`_base-ide.js`): - Added `{bmad-folder}` placeholder support alongside existing `_bmad` - Maintains full backward compatibility - Enables configurable BMAD folder names for all IDE handlers 3. **Code Quality Improvements**: - Fixed hardcoded `_bmad` paths with configurable `{bmad-folder}` placeholder - Updated method signatures for consistency (`artifact, skillName`) - Removed duplicate method implementations - All changes pass ESLint validation ### Technical Details: - **Placeholder System**: Uses `{bmad-folder}` placeholder that gets replaced with actual folder name - **Configurable**: Supports custom BMAD folder names via `setBmadFolderName()` - **Backward Compatible**: Existing `_bmad` placeholder continues to work - **Pattern Compliance**: Follows BMAD's established IDE handler patterns ### Testing: - ✅ All linting passes - ✅ Placeholder replacement works with custom folder names - ✅ Existing IDE handlers unaffected - ✅ Mistral Vibe integration functional - ✅ Skill generation produces valid YAML frontmatter
…uero/BMAD-METHOD into feat/mistral-support
- Fix workflow name mismatch in generateWorkflowSkillContent
- Fix agent naming inconsistency in writeMistralVibeArtifacts and generateAgentSkillContent
- Replace hardcoded {bmad-folder} placeholders with configurable this.bmadFolderName
These changes ensure that directory names, frontmatter names, and file paths all align properly while maintaining support for configurable BMAD folder names.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
|
I think this can be reimplemented as just a configuration for most of this, instead of requiring a new ide file. trying to have everything be config driven going forward unless its drastically different. Can you change it to be config driven instead? |
bmadcode
left a comment
There was a problem hiding this comment.
This should be config driven and not add a new ide file.
|
requested changes - no updates. will close and consider Vibe CLI support with our roadmap |
|
Any chance to see this one reconsidered soon? @bmadcode @AntonioTriguero |
What
Adds Mistral Vibe CLI support to BMAD, enabling users to leverage Mistral's CLI tools with BMAD's agent framework and workflows. This integration allows BMAD skills to be used seamlessly with the Mistral Vibe CLI environment.
Why
Mistral Vibe CLI is becoming a popular CLI tool for AI development, and this integration enables BMAD users to take advantage of its capabilities while maintaining compatibility with BMAD's existing workflows and agents. This enhances human-AI collaboration by providing more tooling options for developers.
How
mistral-vibe.jsIDE handler that generates BMAD skills in Mistral Vibe formatplatform-codes.yamlfor proper IDE detectionmanager.jsto load the Mistral Vibe handler during IDE setupTesting
Addresses #128