INTERLOCK

Spec-driven development for Claude Code · Layered on OpenSpec · v1.5.0

Two commands. One human checkpoint.

Spec a change, read it, then ship it start-to-commit with parallel agents. Every cap the run obeys is a CLI you can run yourself, with no model and no network. Zero-touch is a property of the runtime, not a promise in a prompt.

Every change is spec, then ship. Bootstrap runs once per repo; settle when you want the pull request.

One real run, cut to 34 s. spec asks one question, writes 11 specs and 12 tasks, then stops. ship runs three agents in parallel across two waves and ends in a commit with the suite green, 180 of 180.

12 tasks · 2 waves · 19 agents · 13m 54s · 57 files · 2,881 lines · 180 of 180 pass · 1 commit

Recorded 2026-10-10 on plugin 1.4.2 and Claude Code 2.1.295 against a demo repository; fast-forwarded where marked.

Run once, after you clone bootstrap Once per repo. Reads the code, writes an architecture doc and one spec per existing feature. Never modifies source.
settle The pull request, when you want it. Ends by reminding you to archive the change.

{{flowName}}{{flowDesc}}

ship is a dynamic workflow, so there is nobody to ask.

Install

{{p.label}}
{{l.c}}{{l.m}}

Requires Claude Code v2.1.154+ with dynamic workflows enabled, the openspec CLI, and Node.js 18 or newer. Claude Code only: Cursor and Copilot are not supported. The CLIs also install on their own with npm install -g @renzrollon/interlock.

Watch the whole run.

2:34 · mp4 · 9 MB · captioned

Every beat of the same run, in order, with a caption naming what you are looking at and a speed marker wherever it is fast-forwarded.

Recorded 2026-10-10 on plugin 1.4.2 and Claude Code 2.1.295 against a demo repository; fast-forwarded where marked.

download the mp4

1

required human stop, between spec and ship

0

runtime dependencies. Stdlib Node, nothing to install

28

interlock subcommands, each one a decision with an exit code