Skip to documentation
Documentation navigation

Documentation navigation

Documentation / start

Choose an interface and extend the agent

Keep the coding assistant runtime and choose a TUI, Web UI, ACP or MCP protocol boundary, Workflows, and evaluation according to the product you are building.

developer

The coding assistant runtime does not depend on the CLI. Keep the Loop, Rig, Session, tools, storage, and sandbox composition, then choose the interfaces and orchestration features your product needs.

Choose an interface

InterfaceUse it whenStart here
CLIA small command or service owns input and output directlyThe tutorial application
TUIYou want a ready terminal experience with session lists, input, events, and restoreTUI Getting Started
Web UIYou want React, Vue, Svelte, Solid, or vanilla DOM to consume the same Session contractWeb UI Client SDK

The Web UI client is framework-neutral. The optional Svelte adapter does not require applications to use Svelte.

Expose a protocol

Use the ACP module when an editor or another ACP host should create and drive agent sessions. Use the MCP module when the coding assistant publishes tools or adopts tools from another process.

Session runtime → ACP Serve → editor or external ACP client
Tool catalog    → MCP Serve → external MCP client
External tools  → MCP Client → Harness tool definitions

Protocols adapt an existing runtime boundary. They do not replace Harness session ownership, tool policy, storage, or sandboxing.

Add durable Workflows

Use Flow for typed graph execution and interruption. Use Workflows when the product needs durable definitions, history, recovery, resume, cancellation, and workflow-facing tools. A workflow checkpoint is separate from a Harness journal and workspace snapshot.

Evaluate the agent

Use Evals to run repeatable cases against the coding assistant and collect typed results. Start with exact evaluators for deterministic behavior, then add judge-based evaluation only when the rubric needs model interpretation. Pluto adds capability and qualification suites when you need to compare model or provider candidates.

# Keep evaluation in an ordinary Go test or dedicated evaluation command.
go test ./...

Runnable checkpoint

The evaluation checkpoint runs an exact suite, serializes its report, runs a Pluto capability pack, and evaluates a release profile. Related runnable checkpoints cover HTTP serving and the TUI adapter.

For deeper API details, continue through Inference, Harness, Tools, and Sandboxing.

← back to documentation