Surfaces
MCP is the primary surface; the CLI is support tooling; the Claude Code skill and Studio are secondary.
A surface is a thin shim that calls the runtime with a manifest and inputs. The runtime is the same underneath each one. They are not peers: MCP is where you operate chit day to day; the rest are support tooling.
MCP (primary)
The primary surface. chit registers as a stdio MCP server and you drive it from a Claude Code conversation, so the human stays in the loop, the chat keeps context, and each handoff is a visible, cancellable tool call.
claude mcp add chit --scope local -- chit mcpFour tool groups:
- Run tools start and drive any run, with one
run_idas the handle:chit_startopens it,chit_nextadvances one unit (a one-shot wave or a loop iteration, each with a live heartbeat),chit_status/chit_traceinspect it,chit_waitblocks until a background run, plan, or batch needs attention (instead of polling), andchit_cancelstops it. - Plan tools run reviewed sequential work where later steps see earlier applied diffs:
chit_plan_start,chit_plan_status,chit_plan_drive,chit_plan_advance,chit_plan_list,chit_plan_cancel,chit_plan_cleanup. - Batch tools run several loop tasks in parallel, one git worktree each:
chit_batch_start,chit_batch_status,chit_batch_advance,chit_batch_list,chit_batch_cancel,chit_batch_cleanup. - Audit tools read recorded transcripts:
chit_audit_list,chit_audit_show.
chit_plan_start and chit_batch_start are approval-gated. A first call is a dry run that returns the normalized work, resolved base, and approval_hash; only a second call with confirm:true and that hash launches.
See the MCP reference.
CLI (support tooling)
The same binary, for debugging, inspection, audits, running the loop from a terminal, installs, and CI. Brand vocabulary stays out of the verbs; the CLI says what it does.
chit run # execute a manifest
chit show # render a manifest without running it
chit converge # run the autonomous implement/check loop
chit audit # read a recorded run transcript
chit doctor # preflight: check first-time setup
chit loop-log # read a convergence log
chit install # install a chit as a skill
chit list # list installed chits
chit uninstall # remove an installed chit
chit studio # open the live control tower
chit mcp # run the stdio MCP serverClaude Code skill (secondary)
Install a chit as a slash-invocable skill inside Claude Code. The skill surface declares its capabilities; install fails if the chit needs one the surface lacks. Generated skills currently run the CLI from a source checkout, so this surface is secondary to MCP for v0.
Studio (secondary)
Studio opens as a control tower for what is live across Chit right now, with a session rail of foreground loops and background jobs, the selected run's detail, and a small console of recent transitions. It reads GET /api/live; for durable background jobs, it can also request cancellation through the same intent-first path as chit_cancel. It does not launch runs, apply changes, or clean up worktrees. Launch it with chit studio; the client bundle ships with the CLI package, so it works from a published install. See the Studio reference.
Audit
An audited run records a full transcript (rendered prompts, outputs, and token usage as content-addressed blobs) under the local state dir. Read it over MCP with chit_audit_list / chit_audit_show, or from the terminal with chit audit list / chit audit show <runId>. See the audit log reference.