Skip to content
Ultracite
Esc
↑↓navigate↵open⌘Jpreview

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.

…
Ultracite’s rules
Where Mistral Vibe looks for instructions
  1. 1~/.vibe/AGENTS.mdYour instructions for every project. Loads in any folder.
  2. 2AGENTS.md, trusted folder to working folderUltraciteEvery one between the folder you trusted and where you started, outermost first. Skipped in an untrusted folder.
  3. 3Deeper 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.md files, skills and hooks load only in a trusted folder. Vibe asks when the folder or its repo root has an AGENTS.md, .vibe or .agents.
Trust the repo
Started in a subfolder, Vibe offers to trust the whole repo, so every AGENTS.md from the root down applies.
Where trust lives
~/.vibe/trusted_folders.toml. --trust trusts the folder for one run without saving it.
Priority
Closer files override more distant ones, and AGENTS.md overrides Vibe’s default prompt.
Extra folders
Each --add-dir folder is trusted for the session and adds its own AGENTS.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`
What the rules tell it to run
  1. 01Vibe changes a file with write_file or edit, which the default accept-edits agent applies without asking.
  2. 02Following AGENTS.md, it runs npx ultracite fix or npx ultracite check with its bash tool.
  3. 03Vibe asks before that command runs, unless you’re on auto-approve or passed --yolo.
  4. 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.md between 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-edits agent applies write_file and edit without asking but confirms shell commands, ultracite included. plan is read-only, and auto-approve (or --yolo) approves everything.

  • post_agent hooks can send a turn back

    A post_agent hook runs when a turn ends with no tool calls pending. If it returns deny with a reason, 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 skill init installs in .agents/skills/.

Mistral Vibe questions, answered

Does Mistral Vibe read AGENTS.md?
Yes. It loads ~/.vibe/AGENTS.md, and every AGENTS.md from 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.md or a .vibe or .agents folder; if you declined, change the entry in ~/.vibe/trusted_folders.toml. For vibe --prompt runs, pass --trust.
Does Mistral Vibe support hooks?
Yes: pre_tool, post_tool and post_agent hooks in .vibe/hooks.toml (trusted folders only) or ~/.vibe/hooks.toml. A post_tool hook 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-approve loads AGENTS.md and lets Vibe run ultracite without prompts. Add --max-turns or --time-limit to bound the run. Exit code 0 means the agent finished; 3 means it stopped early, at a limit for example.

Ship less slop

One command sets up your linter, formatter, editor and agents. Works with Oxlint, Biome and ESLint.