id = "mistral-vibe"
name = "Mistral Vibe"
homepage = "https://github.com/mistralai/mistral-vibe"
description = "An agentic command-line coding assistant from Mistral AI."
executables = ["vibe"]
[dotfiles]
paths = [
"~/.vibe/config.toml",
"~/.vibe/trusted_folders.toml",
"~/.vibe/agents/",
"~/.vibe/prompts/",
"~/.vibe/tools/",
]
secret = ["~/.vibe/.env"]
exclude = [
"~/.vibe/logs/",
"~/.vibe/connector_bootstrap_cache.json",
]
side_effect = false
[commands]
format = 1
label = "Mistral Vibe"
description = "Start Vibe interactively, or run one non-interactive prompt with limits. Setup, resume and agent-socket options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "readme"
kind = "manual"
url = "https://raw.githubusercontent.com/mistralai/mistral-vibe/HEAD/README.md"
revision = "HEAD 2026-10-27"
evidence = """
Use the `--agent` flag to select a different agent:
vibe --prompt "Refactor the main function in cli/main.py to be more modular." --auto-approve
- **`--max-turns N`**: Limit the maximum number of assistant turns.
- **`--max-price DOLLARS`**: Set a maximum cost limit in dollars for this run.
- **`--agent NAME`**: Select the agent profile for this run.
- **`--auto-approve`, `--yolo`**: Approves all tool calls without prompting
- **`--output FORMAT`**: Set the output format. Options:
- `text` (default): Human-readable text output
- `json`: All messages as JSON at the end
- `streaming`: Newline-delimited JSON per message
- **`--prompt-file PATH`**: Read the prompt from a file instead of `--prompt`.
- **`--time-limit SECONDS`**: Stop the run after this many seconds.
`-p` / `--prompt`
"""
[[commands.field]]
id = "prompt"
label = "Prompt (non-interactive)"
type = "string"
option = ["--prompt", "-p"]
sources = ["readme"]
[[commands.field]]
id = "prompt_file"
label = "Prompt file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--prompt-file"]
sources = ["readme"]
[[commands.field]]
id = "agent"
label = "Agent profile"
type = "string"
option = ["--agent"]
suggestions = [{ value = "ask", label = "ask" }, { value = "accept-edits", label = "accept-edits" }, { value = "auto-approve", label = "auto-approve" }]
sources = ["readme"]
[[commands.field]]
id = "auto_approve"
label = "Approve all tool calls"
type = "boolean"
option = ["--auto-approve"]
effect = "exec"
sources = ["readme"]
[[commands.field]]
id = "max_turns"
label = "Max turns"
type = "integer"
option = ["--max-turns"]
sources = ["readme"]
[[commands.field]]
id = "max_price"
label = "Max price (USD)"
type = "number"
option = ["--max-price"]
sources = ["readme"]
[[commands.field]]
id = "time_limit"
label = "Time limit (seconds)"
type = "integer"
option = ["--time-limit"]
sources = ["readme"]
[[commands.field]]
id = "output"
label = "Output format"
type = "enum"
option = ["--output"]
choices = [{ value = "text", label = "Text" }, { value = "json", label = "JSON" }, { value = "streaming", label = "Streaming" }]
sources = ["readme"]
[[commands.task]]
id = "interactive"
label = "Interactive session"
fields = ["agent"]
[[commands.task]]
id = "one_shot"
label = "One-shot prompt"
fields = ["prompt", "agent", "max_turns", "max_price", "output"]
required = ["prompt"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["prompt", "prompt_file", "agent", "output"]
[[commands.group]]
id = "advanced"
label = "Limits"
fields = ["auto_approve", "max_turns", "max_price", "time_limit"]