Introduction and Goals
Vibe is Mistral’s minimal CLI coding agent: a terminal coding assistant
that gives a conversational interface to a codebase, powered by Mistral’s
models [pyproject.toml:5, README.md:20-22]. It ships two entry points —
vibe/ (an interactive Textual TUI, also runnable non-interactively) and
vibe-acp (an Agent Client Protocol server for editors and IDEs)
[pyproject.toml:143-144].
Requirements Overview
The system lets a developer explore, modify and run a project through natural language, backed by a safe tool suite [README.md:92-109]. Its core capabilities:
-
Run an interactive coding session driven by an agent loop that calls the LLM, then executes tool calls, until the assistant produces no further tool call [vibe/core/agent_loop.py:855-937].
-
Run non-interactively (vibe/ -p) for scripting and CI, with turn and cost limits and machine-readable output [vibe/core/programmatic.py:27-91, vibe/core/output_formatters.py:46-119].
-
Provide a built-in tool suite: shell, file read/write/patch, code search, todo, subagent delegation, interactive questions, web fetch and search [vibe/core/tools/builtins/].
-
Extend the agent through MCP servers, skills, custom agent profiles and hooks [README.md:340-579].
-
Persist, resume and rewind sessions [vibe/core/session/session_logger.py:36-97].
The full functional specification — persona use cases and per-interface
system use cases — is in ../../use-cases-vibe.adoc; the product framing
is in ../../prd-vibe.adoc.
Quality Goals
The quality goals below are inferred from the emphasis the code and README place on them. The code cannot rank the eight ISO/IEC 25010 characteristics, so both the selection of these as the top goals and their priority ranking could not be recovered from code and are deferred — the Product Owner and Architect must confirm them before they can drive trade-off decisions.
| Quality Goal | Motivation | Chapter 4 Approach |
|---|---|---|
Security / Safety |
"Safety first" is an explicit README theme; tool execution is gated by a tiered permission system and a trust-folder gate [README.md:108, vibe/core/tools/base.py:83-113, vibe/core/trusted_folders.py:75-122]. |
Tiered tool permissions, trust gate, workdir boundary (see [section-solution-strategy]). |
Usability |
A rich Textual TUI, a first-run onboarding wizard and autocompletion target a low-friction developer experience [vibe/cli/textual_ui/app.py:327-348, vibe/setup/onboarding/screens/welcome.py:46-80]. |
Textual TUI, onboarding wizard, slash-command and path autocompletion. |
Maintainability |
Strict pyright and ruff gate CI; hexagonal ports decouple the engine from adapters [AGENTS.md:24-69, vibe/core/llm/backend/base.py:13-126]. |
Hexagonal ports/adapters, strict static analysis, test doubles. |
Compatibility |
The agent works against multiple LLM providers and integrates the MCP and ACP protocols and the agentskills.io standard [vibe/core/llm/backend/factory.py:7, vibe/acp/entrypoint.py:78]. |
LLM backend factory, MCP registry, ACP bridge. |
Reliability |
The LLM call retries with backoff and the loop recovers from context overflow and user interruption [vibe/core/llm/backend/mistral.py:212-222, vibe/core/agent_loop.py:1681-1749]. |
Retry/backoff, middleware limits, auto-compaction recovery. |
|
Note
|
Chapter 10 covers all eight ISO/IEC 25010 characteristics in its quality tree and gives measurable six-part scenarios for the characteristics that concretise these top goals; this section names only the top goals that drive architecture decisions. |
Stakeholders
| Role | Contact | Expectations |
|---|---|---|
Interactive developer |
(team to supply) |
A trustworthy conversational agent that explores and edits the codebase with explicit approval [vibe/cli/textual_ui/app.py:322]. |
Scripter / CI automation |
(team to supply) |
Deterministic non-interactive runs with turn and cost ceilings and machine-readable output [vibe/core/programmatic.py:27]. |
Editor / IDE integrator |
(team to supply) |
A stable ACP server to embed the agent in an editor [vibe/acp/entrypoint.py:78-108]. |
Product Owner |
(team to supply) |
Owns the deferred business questions: why Vibe was built, success KPIs, and segment priority. |
|
Note
|
Open issues — deferred to the team
The following could not be recovered from code and are deferred:
|
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.