Mistral Vibe reads AGENTS.md in trusted folders
Mistral Vibe loads AGENTS.md from your working folder up to the folder you trusted, and adds deeper ones as it reads files below them. Nothing from the project loads until you trust the folder, which Vibe asks about once it sees an AGENTS.md. After an edit, it runs ultracite fix and check when the rules say to.
Mistral Vibe by Mistral AIChecked against Mistral Vibe 2.26.1
# Ultracite Code Standards
This project uses **Ultracite**, a zero-config preset that enforces strict code quality standards through automated formatting and linting.
## Quick Reference
- **Format code**: `npx ultracite fix`
- **Check for issues**: `npx ultracite check`
- **Diagnose setup**: `npx ultracite doctor`
Oxlint + Oxfmt (the underlying engine) provides robust linting and formatting. Most issues are automatically fixable.
…- 1
~/.vibe/AGENTS.mdYour instructions for every project. Loads in any folder. - 2
AGENTS.md, trusted folder to working folderUltraciteEvery one between the folder you trusted and where you started, outermost first. Skipped in an untrusted folder. - 3
Deeper AGENTS.md filesAdded to a read result the first time Vibe reads a file below one, once per directory.
How Mistral Vibe reads the rules
Vibe stacks your global ~/.vibe/AGENTS.md with every AGENTS.md from the working folder up to the trusted folder, outermost first, so the closest file wins a conflict.
- Trust first
- Project
AGENTS.mdfiles, skills and hooks load only in a trusted folder. Vibe asks when the folder or its repo root has anAGENTS.md,.vibeor.agents. - Trust the repo
- Started in a subfolder, Vibe offers to trust the whole repo, so every
AGENTS.mdfrom the root down applies. - Where trust lives
~/.vibe/trusted_folders.toml.--trusttrusts the folder for one run without saving it.- Priority
- Closer files override more distant ones, and
AGENTS.mdoverrides Vibe’s default prompt. - Extra folders
- Each
--add-dirfolder is trusted for the session and adds its ownAGENTS.md. - Found mid-session
- On your own machine Vibe looks for deeper files on every read, so one created mid-session is still picked up.
The rules drive the check, for now
Vibe has post_tool hooks that can add text to what the model sees after a tool runs, but Ultracite doesn’t set one up for Vibe yet. Until then the check is the commands in AGENTS.md, which Vibe runs with its bash tool.
- **Format code**: `npx ultracite fix`
- **Check for issues**: `npx ultracite check`
- **Diagnose setup**: `npx ultracite doctor`- 01Vibe changes a file with
write_fileoredit, which the defaultaccept-editsagent applies without asking. - 02Following
AGENTS.md, it runsnpx ultracite fixornpx ultracite checkwith itsbashtool. - 03Vibe asks before that command runs, unless you’re on
auto-approveor passed--yolo. - 04It reads the output and fixes what’s left.
Worth knowing about Mistral Vibe
Deeper rules arrive with the file
Reading a file below the working folder appends any
AGENTS.mdbetween the two to the read result, once per directory, so a package’s own rules arrive when Vibe opens its code.Edits go through, commands wait for you
The default
accept-editsagent applieswrite_fileandeditwithout asking but confirms shell commands,ultraciteincluded.planis read-only, andauto-approve(or--yolo) approves everything.post_agent hooks can send a turn back
A
post_agenthook runs when a turn ends with no tool calls pending. If it returnsdenywith areason, the reason goes back to the model as a new message asking for a retry, up to 3 times per user turn.The Ultracite skill
Vibe loads skills from
.agents/skills/and.vibe/skills/at the project root in trusted folders, and from~/.vibe/skills/and~/.agents/skills/, so once you trust the folder it finds the Ultracite skillinitinstalls in.agents/skills/.
Mistral Vibe questions, answered
- Does Mistral Vibe read AGENTS.md?
- Yes. It loads
~/.vibe/AGENTS.md, and everyAGENTS.mdfrom your working folder up to the folder you trusted. In a folder you haven’t trusted, only your global file loads. - Why isn’t Vibe following my AGENTS.md?
- Check that the folder is trusted. Vibe asks the first time it finds an
AGENTS.mdor a.vibeor.agentsfolder; if you declined, change the entry in~/.vibe/trusted_folders.toml. Forvibe --promptruns, pass--trust. - Does Mistral Vibe support hooks?
- Yes:
pre_tool,post_toolandpost_agenthooks in.vibe/hooks.toml(trusted folders only) or~/.vibe/hooks.toml. Apost_toolhook can append text to the tool output the model reads. Ultracite doesn’t set one up for Vibe yet. - How do I run Vibe with Ultracite in CI?
vibe --prompt "…" --trust --auto-approveloadsAGENTS.mdand lets Vibe runultracitewithout prompts. Add--max-turnsor--time-limitto bound the run. Exit code 0 means the agent finished; 3 means it stopped early, at a limit for example.
Keep going
- AgentKimi Code CLIMoonshot AI’s terminal agent that edits code and runs shell commands.
- AgentQwen CodeThe Qwen team’s open-source terminal coding agent, with editor and desktop front ends.
- AgentCrushCharm’s terminal coding agent that works with many model providers, with LSP context and MCP.
- DocsAgent rulesWhat
initwrites for every agent, and how to keep it current.
Ship less slop
One command sets up your linter, formatter, editor and agents. Works with Oxlint, Biome and ESLint.