Install

Send an agent here. Every command on this page runs without prompts when you add --yes.

Requirements

Verified on Windows and Linux. macOS is not verified yet.

Install

curl -fsSL https://interlock-a05.pages.dev/install.sh | sh -s -- --yes
irm https://interlock-a05.pages.dev/install.ps1 | iex
npx interlock-cli@latest check tasks.md

once published

/install.sh · /install.ps1 · interlock-cli-0.1.0.tgz

What happens

  1. Checks Node >= 22.6 and git are on PATH, and fails with a message naming the missing one and where to get it. Node 20 LTS is refused by name.
  2. Confirms, unless non-interactive. install.sh needs --yes when piped; install.ps1 cannot take flags through irm | iex, so it defaults to yes when piped and installs to $HOME\.interlock. Run either as a file for --prefix <dir> / -Prefix <dir>, or set INTERLOCK_PREFIX.
  3. Downloads the tarball to <prefix>/tmp, extracts to <prefix>/lib, writes a shim at <prefix>/bin/interlock (and interlock.cmd on Windows).
  4. Runs interlock doctor --json on the installed copy and prints the result. Success is the printed {"ok":true,...}, not the absence of an error.

Neither writes outside the prefix. Neither edits PATH or a shell profile; both print the line to add. Neither phones home; the one network request is the tarball GET.

Coding agents

Send an agent here. Every command on this page runs without prompts when you add --yes.

curl -fsSL https://interlock-a05.pages.dev/install.sh | sh -s -- --yes
irm https://interlock-a05.pages.dev/install.ps1 | iex

Verify

interlock doctor --json
exits 0 and prints {"ok":true,...} when Node and git are present
interlock check tasks.md --json
reads one task list and reports which tasks are not independent, as a machine-readable object

interlock check on a 20-task plan reports the exact two shared files. It runs with no git, no node_modules, no network.

Commands

interlock check <tasks.md|dir> [--json] [--strict]
Reads one file and reports. It never edits, never touches git, a database, a bus, or the network. Exit code is 0 by default; --strict exits 1 when tasks overlap, for CI. --json emits the same finding as a machine-readable object.
interlock doctor --json
Exits 0 when Node and git are present.
interlock --version
Prints the version.
--yes
installer: skip the confirmation; required when install.sh is piped
--prefix <dir>
installer: install somewhere other than ~/.interlock (run the script as a file, or set INTERLOCK_PREFIX)
--json
check, doctor: machine-readable output
--strict
check: exit 1 when tasks overlap

Enforcement currently requires Claude Code. `check` does not.

Recovery