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:

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:

  • The business rationale for building an open-source CLI agent and its relation to the paid Mistral Code / Vibe Code offering.

  • The success KPI (adoption, retention, task-completion, conversion).

  • Which user segment — interactive, programmatic or ACP — is the priority.

  • The selection and priority ranking of the quality goals above.