Skip to content

feat: Add Mistral Vibe support with before_tool hooks#2464

Open
bashout wants to merge 3 commits into
rtk-ai:developfrom
bashout:feat/mistral-vibe-support
Open

feat: Add Mistral Vibe support with before_tool hooks#2464
bashout wants to merge 3 commits into
rtk-ai:developfrom
bashout:feat/mistral-vibe-support

Conversation

@bashout

@bashout bashout commented Jun 16, 2026

Copy link
Copy Markdown

Implement Mistral Vibe CLI integration using the experimental before_tool hook system introduced in Vibe 2.15.0. Closes #800

  • Add hooks/vibe/ hook script and configuration
  • Add Vibe installation/uninstallation functions
  • Update documentation

Requires:

  • Mistral Vibe >= 2.15.0
  • enable_experimental_hooks = true in Vibe config

Test plan

Manual testing verified hook functioning within the Vibe CLI
image

Tested against prompt:

explain the most recent two commits. Dig into the code, understand the goal and evaluate the code quality and completeness of the features.

The following rewrites were made:

  1. rtk git log --oneline -2 --stat
  2. rtk git show 2ed8977 --no-color
  3. rtk git show 3d37217 --no-color
  4. rtk git diff 3d37217..2ed8977 -- src/hooks/init.rs
  5. rtk git show 3d37217:src/main.rs
  6. rtk git show 3d37217 -- src/main.rs
  7. rtk grep "VIBE_HOOKS_TOML" src/hooks/constants.rs
  8. rtk git show 3d37217:hooks/vibe/hooks.toml
  9. rtk read hooks/vibe/tests/test_vibe_hook.py
 10. rtk grep vibe src/hooks/init.rs

Output from rtk gain following implementation and integration with Vibe CLI
image

  • cargo fmt --all && cargo clippy --all-targets && cargo test
test result: ok. 2201 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.49s

bashout and others added 3 commits June 16, 2026 17:21
Implement Mistral Vibe CLI integration using the experimental before_tool
hook system introduced in Vibe 2.15.0.

Changes:
- Add hooks/vibe/ directory with hook script and configuration
- Add Vibe to AgentTarget enum in src/main.rs
- Add Vibe installation/uninstallation functions in src/hooks/init.rs
- Add Vibe constants in src/hooks/constants.rs
- Refactor uninstall struct to avoid clippy too many params error
- Update documentation (README.md, hooks/README.md, docs/)

Requires:
- Mistral Vibe >= 2.15.0
- enable_experimental_hooks = true in Vibe config

Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai>
…nd errors

The issue was that hooks.toml used a relative path 'rtk-hook-vibe.sh' for the
command field. When Vibe executes hooks, it may not be in the hooks directory,
causing it to fail with 'command not found' errors.

Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
… tests

- Move Vibe hooks.toml generation from init.rs to new vibe_config.rs module
- Use serde-based struct serialization instead of string formatting
- Add unit tests for TOML generation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add transparent hook support for Mistral Vibe (BeforeTool)

1 participant