-
Notifications
You must be signed in to change notification settings - Fork 3.6k
feat: add Mistral Vibe support #1125
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
Open
tbetous
wants to merge
5
commits into
Fission-AI:main
Choose a base branch
from
tbetous:add-mistral-vibe-support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
fe43279
feat: add mistral vibe support
tbetous 3752aa9
feat: add mistral vibe support
tbetous f3b7e63
chore: archive add-mistral-vibe-support change
tbetous 90f4891
chore: sync delta specs from add-mistral-vibe-support change
tbetous f77f63c
chore: fix archive directory date to match metadata
tbetous File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
openspec/changes/archive/2026-05-25-add-mistral-vibe-support/.openspec.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| schema: spec-driven | ||
| created: 2026-05-25 | ||
80 changes: 80 additions & 0 deletions
80
openspec/changes/archive/2026-05-25-add-mistral-vibe-support/design.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| # Add Mistral Vibe Support - Technical Design | ||
|
|
||
| ## Context | ||
|
|
||
| Mistral Vibe is an AI coding assistant that uses a SKILL.md format for defining custom skills. While Vibe already works with manually-installed OpenSpec skills (confirmed by user's existing `~/.config/vibe/skills/openspec-*` directory), it is not included in OpenSpec's official tool support list. | ||
|
|
||
| The existing OpenSpec architecture supports tool integration through the `AI_TOOLS` configuration array in `src/core/config.ts`. Each tool entry defines metadata including a `skillsDir` for project-local skill directory and optional `detectionPaths` for auto-detection. | ||
|
|
||
| Unlike command-based tools (Claude Code, Cursor, etc.), Mistral Vibe is **skill-based only** and does not use or support commands. OpenSpec already generates skills in the correct SKILL.md format that Vibe consumes directly. No command adapter is needed. | ||
|
|
||
| ## Goals / Non-Goals | ||
|
|
||
| **Goals:** | ||
| - Add Mistral Vibe to the list of officially supported OpenSpec tools | ||
| - Enable `openspec init --tools vibe` to create Vibe skill files automatically | ||
| - Enable `openspec update` to refresh Vibe skills when OpenSpec version changes | ||
| - Enable `openspec status` to detect and report Vibe skill configuration | ||
| - Follow existing patterns for tool configuration | ||
|
|
||
| **Non-Goals:** | ||
| - Global skills directory support (`.config/vibe/skills/`) - can be Phase 2 | ||
| - Vibe-specific customizations beyond standard skill format | ||
| - Integration with Mistral Vibe's MCP server | ||
| - Special handling for Vibe's unique features not related to skill management | ||
| - Command generation (Vibe is skill-based, not command-based) | ||
|
|
||
| ## Decisions | ||
|
|
||
| ### Decision: Skill-Based Tool Support Without Command Adapter | ||
|
|
||
| **Chosen**: Add Mistral Vibe to `AI_TOOLS` configuration only, without creating a command adapter | ||
|
|
||
| **Rationale**: | ||
| - Mistral Vibe consumes SKILL.md files directly and does not have a command system | ||
| - OpenSpec already generates skills in the correct format for Vibe | ||
| - The existing `skillsDir` and `detectionPaths` configuration is sufficient for Vibe integration | ||
| - Command adapters are only needed for tools that require tool-specific command file formats | ||
| - Adding Vibe without a command adapter keeps the architecture clean and honest | ||
|
|
||
| **Alternatives considered**: | ||
| - Create a Vibe command adapter that generates SKILL.md files — rejected as it conflates commands with skills | ||
| - Modify OpenSpec to have separate skill adapters — rejected as unnecessary complexity | ||
|
|
||
| ### Decision: Tool Configuration Metadata | ||
|
|
||
| **Chosen**: Use `value: 'vibe'`, `skillsDir: '.vibe'`, `detectionPaths: ['.vibe/skills']` | ||
|
|
||
| **Rationale**: | ||
| - User confirmed Vibe loads skills from `.vibe/skills/` directory | ||
| - Consistent with other tools that use dot-prefixed directories (`.claude`, `.cursor`, `.windsurf`) | ||
| - The `value` field matches CLI argument and internal identifier | ||
| - `detectionPaths` enables `openspec status` to detect existing configurations | ||
|
|
||
| ### Decision: Alphabetical Placement | ||
|
|
||
| **Chosen**: Insert Mistral Vibe after 'Lingma' and before 'OpenCode' in the AI_TOOLS array | ||
|
|
||
| **Rationale**: Maintains alphabetical ordering by `name` field for consistency ('Mistral Vibe' comes after 'Lingma' and before 'OpenCode'). | ||
|
|
||
| ## Risks / Trade-offs | ||
|
|
||
| **[Risk] Incomplete integration without command adapter** → **Mitigation**: Vibe doesn't need commands. The `skillsDir` configuration is sufficient for OpenSpec to place skill files in the correct location. The existing skill generation mechanism works without tool-specific adapters for skill-based tools. | ||
|
|
||
| **[Risk] Future Vibe features requiring commands** → **Mitigation**: If Vibe adds command support later, a command adapter can be added at that time without breaking existing skill support. | ||
|
|
||
| ## Migration Plan | ||
|
|
||
| 1. **Implementation**: Add Mistral Vibe entry to AI_TOOLS configuration | ||
| 2. **Documentation**: Update `docs/supported-tools.md` with Vibe entry | ||
| 3. **Testing**: | ||
| - Run `openspec init --tools vibe` in a test project | ||
| - Verify `.vibe/skills/openspec-*/SKILL.md` files are created | ||
| - Verify Vibe can load and use the skills | ||
| - Run `openspec update` and verify skills are refreshed | ||
| - Run `openspec status` and verify Vibe is listed as configured | ||
| 4. **Rollback**: Remove the Vibe entry from AI_TOOLS. No other files are modified. | ||
|
|
||
| ## Open Questions | ||
|
|
||
| None identified. The implementation is straightforward: add configuration entry and update documentation. |
35 changes: 35 additions & 0 deletions
35
openspec/changes/archive/2026-05-25-add-mistral-vibe-support/proposal.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # Add Mistral Vibe Support - Proposal | ||
|
|
||
| ## Why | ||
|
|
||
| Mistral Vibe is a popular AI coding assistant that works with OpenSpec skills, but it is not currently available through OpenSpec's standard setup workflows. Users must manually copy skills to use them with Vibe. | ||
|
|
||
| Adding official Mistral Vibe support enables users to set up and manage Vibe integration through OpenSpec's standard commands, eliminating manual copying and ensuring skills stay up-to-date automatically. | ||
|
|
||
| ## What Changes | ||
|
|
||
| - Enable Mistral Vibe as a supported tool that appears in tool selection | ||
| - Automatically set up Mistral Vibe skills in the correct location during initialization | ||
| - Detect existing Mistral Vibe configurations when checking project status | ||
|
|
||
| ## Non-goals | ||
|
|
||
| - Support for global Vibe skills directory - can be Phase 2 | ||
| - Vibe-specific customizations beyond standard skill format | ||
| - Integration with Mistral Vibe's additional features | ||
| - Command generation (Vibe uses skills, not commands) | ||
|
|
||
| ## Capabilities | ||
|
|
||
| ### New Capabilities | ||
| - `vibe-tool-config`: Enable Mistral Vibe as a supported OpenSpec tool | ||
|
|
||
| ### Modified Capabilities | ||
| - `ai-tool-paths`: Add Mistral Vibe to tool path configuration | ||
|
|
||
| ## Impact | ||
|
|
||
| - **Files Modified**: Configuration and documentation | ||
| - **New Dependencies**: None | ||
| - **Breaking Changes**: None | ||
| - **User Experience**: Users can set up Mistral Vibe through standard OpenSpec workflows |
38 changes: 38 additions & 0 deletions
38
...changes/archive/2026-05-25-add-mistral-vibe-support/specs/ai-tool-paths/spec.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| # ai-tool-paths Specification | ||
|
|
||
| ## MODIFIED Requirements | ||
|
|
||
| ### Requirement: All supported tools have proper directory configuration | ||
|
|
||
| The system SHALL define the correct directory for each supported tool. | ||
|
|
||
| #### Scenario: Claude Code directory | ||
| - **GIVEN** Claude Code is a supported tool | ||
| - **WHEN** the system uses Claude Code | ||
| - **THEN** it SHALL use the correct directory for that tool | ||
|
|
||
| #### Scenario: Cursor directory | ||
| - **GIVEN** Cursor is a supported tool | ||
| - **WHEN** the system uses Cursor | ||
| - **THEN** it SHALL use the correct directory for that tool | ||
|
|
||
| #### Scenario: Windsurf directory | ||
| - **GIVEN** Windsurf is a supported tool | ||
| - **WHEN** the system uses Windsurf | ||
| - **THEN** it SHALL use the correct directory for that tool | ||
|
|
||
| #### Scenario: Kimi CLI directory | ||
| - **GIVEN** Kimi CLI is a supported tool | ||
| - **WHEN** the system uses Kimi CLI | ||
| - **THEN** it SHALL use the correct directory for that tool | ||
|
|
||
| #### Scenario: Mistral Vibe directory | ||
| - **GIVEN** Mistral Vibe is a supported tool | ||
| - **WHEN** the system uses Mistral Vibe | ||
| - **THEN** it SHALL use the correct directory for that tool | ||
| - **AND** it SHALL recognize its standard skills location | ||
|
|
||
| #### Scenario: Unsupported tool | ||
| - **GIVEN** a tool is not supported | ||
| - **WHEN** attempting to use that tool | ||
| - **THEN** the system SHALL report that the tool is not available |
41 changes: 41 additions & 0 deletions
41
...nges/archive/2026-05-25-add-mistral-vibe-support/specs/vibe-tool-config/spec.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # vibe-tool-config Specification | ||
|
|
||
| ## ADDED Requirements | ||
|
|
||
| ### Requirement: Mistral Vibe appears as a selectable tool | ||
|
|
||
| The system SHALL include Mistral Vibe in its list of supported tools. | ||
|
|
||
| #### Scenario: Tool is available for selection | ||
| - **GIVEN** a user views the list of supported tools | ||
| - **WHEN** the list is displayed | ||
| - **THEN** Mistral Vibe SHALL appear as an option | ||
|
|
||
| #### Scenario: Tool can be identified uniquely | ||
| - **GIVEN** a user specifies Mistral Vibe | ||
| - **WHEN** the system processes the selection | ||
| - **THEN** Mistral Vibe SHALL be recognized as a distinct tool | ||
|
|
||
| #### Scenario: Tool uses its standard location | ||
| - **GIVEN** Mistral Vibe is selected | ||
| - **WHEN** setting up the tool | ||
| - **THEN** its files SHALL be placed in the tool's designated directory | ||
|
|
||
| #### Scenario: Tool configuration can be detected | ||
| - **GIVEN** a project has Mistral Vibe set up | ||
| - **WHEN** checking which tools are configured | ||
| - **THEN** Mistral Vibe SHALL be reported as configured | ||
|
|
||
| ### Requirement: Cross-platform compatibility | ||
|
|
||
| The system SHALL handle Mistral Vibe setups correctly on all operating systems. | ||
|
|
||
| #### Scenario: Setup on Windows | ||
| - **GIVEN** running on Windows | ||
| - **WHEN** creating Mistral Vibe directories | ||
| - **THEN** the paths SHALL work correctly on Windows | ||
|
|
||
| #### Scenario: Setup on Unix | ||
| - **GIVEN** running on macOS or Linux | ||
| - **WHEN** creating Mistral Vibe directories | ||
| - **THEN** the paths SHALL work correctly on Unix |
21 changes: 21 additions & 0 deletions
21
openspec/changes/archive/2026-05-25-add-mistral-vibe-support/tasks.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| ## 1. Configuration Updates | ||
|
|
||
| - [x] 1.1 Add Mistral Vibe entry to AI_TOOLS array in configuration | ||
| - [x] 1.2 Set tool metadata: name='Mistral Vibe', value='vibe', skillsDir='.vibe', detectionPaths=['.vibe/skills'] | ||
| - [x] 1.3 Verify Vibe entry is alphabetically placed after 'Lingma' and before 'OpenCode' | ||
|
|
||
| ## 2. Documentation Updates | ||
|
|
||
| - [x] 2.1 Add Mistral Vibe row to tool directory table in documentation | ||
| - [x] 2.2 Add 'vibe' to tool IDs list in documentation | ||
| - [x] 2.3 Verify documentation format matches existing entries | ||
|
|
||
| ## 3. Verification and Testing | ||
|
|
||
| - [x] 3.1 Run `openspec init --tools vibe` in a test project | ||
| - [x] 3.2 Verify `.vibe/skills/openspec-*/SKILL.md` files are created | ||
| - [x] 3.3 Verify each SKILL.md file has valid format and metadata | ||
| - [x] 3.4 Run `openspec status` and verify Vibe is listed as configured | ||
| - [x] 3.5 Run `openspec update` and verify Vibe skills are refreshed | ||
| - [x] 3.6 Run existing OpenSpec tests to ensure no regressions | ||
| - [x] 3.7 Test on Windows to verify cross-platform path handling |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # vibe-tool-config Specification | ||
|
|
||
| ## ADDED Requirements | ||
|
|
||
| ### Requirement: Mistral Vibe appears as a selectable tool | ||
|
|
||
| The system SHALL include Mistral Vibe in its list of supported tools. | ||
|
|
||
| #### Scenario: Tool is available for selection | ||
| - **GIVEN** a user views the list of supported tools | ||
| - **WHEN** the list is displayed | ||
| - **THEN** Mistral Vibe SHALL appear as an option | ||
|
|
||
| #### Scenario: Tool can be identified uniquely | ||
| - **GIVEN** a user specifies Mistral Vibe | ||
| - **WHEN** the system processes the selection | ||
| - **THEN** Mistral Vibe SHALL be recognized as a distinct tool | ||
|
|
||
| #### Scenario: Tool uses its standard location | ||
| - **GIVEN** Mistral Vibe is selected | ||
| - **WHEN** setting up the tool | ||
| - **THEN** its files SHALL be placed in the tool's designated directory | ||
|
|
||
| #### Scenario: Tool configuration can be detected | ||
| - **GIVEN** a project has Mistral Vibe set up | ||
| - **WHEN** checking which tools are configured | ||
| - **THEN** Mistral Vibe SHALL be reported as configured | ||
|
|
||
| ### Requirement: Cross-platform compatibility | ||
|
|
||
| The system SHALL handle Mistral Vibe setups correctly on all operating systems. | ||
|
|
||
| #### Scenario: Setup on Windows | ||
| - **GIVEN** running on Windows | ||
| - **WHEN** creating Mistral Vibe directories | ||
| - **THEN** the paths SHALL work correctly on Windows | ||
|
|
||
| #### Scenario: Setup on Unix | ||
| - **GIVEN** running on macOS or Linux | ||
| - **WHEN** creating Mistral Vibe directories | ||
| - **THEN** the paths SHALL work correctly on Unix |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.