chit

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 mcp

Four tool groups:

  • Run tools start and drive any run, with one run_id as the handle: chit_start opens it, chit_next advances one unit (a one-shot wave or a loop iteration, each with a live heartbeat), chit_status / chit_trace inspect it, chit_wait blocks until a background run, plan, or batch needs attention (instead of polling), and chit_cancel stops 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 server

Claude 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.

On this page