Chock.sh Build your plugin

CLI reference

chock doctor

Ask the user before running chock doctor: what it takes and prints, from the engine at the pinned commit.

Check each client's hooks on each route: present, current, and seen running (--client X)

Syntax

This is the usage line argparse builds from this command's parser.

chock doctor [-h] [--repo REPO] [--client CLIENT] [--client-version CLIENT_VERSION]
             [--sessions SESSIONS] [--json]

Arguments and options

The table lists every argument the parser declares, except -h, --help, written as argparse prints it. Default is the value the parser uses when you leave the option out. It is empty for a flag or when the parser sets none.

ArgumentDefaultHelp
--repo REPO.The repository whose chock sync hooks to check
--client CLIENTOne client: an install client id (claude-code) or agent id (claude_code)
--client-version CLIENT_VERSIONThe client's version, compared with what agentseam witnessed
--sessions SESSIONS3Sessions the heartbeat check covers
--jsonOne JSON object per target

Exit codes

  • 2: argparse rejected the arguments, for example an option this command does not have. The site's tests run every command with an unknown option and check that it exits 2.
  • Chock documents no other exit codes. Each example below shows the code its run returned.

Examples

Real runs, recorded by python -m sitegen.cliexamples with the engine at the pinned commit. The steps of data/cli-examples.yaml ran in order, offline, in one fresh git repository at /work/demo (made with git init -b main), with HOME at /home/demo. Those paths stand for the throwaway folders the runs used, and <time> stands for a timestamp. Output is stdout and stderr together.

Step 14 of 21, exit code 0.

$ chock doctor
claude_code [sync] /work/demo
  PASS  hooks: /work/demo/.claude/settings.json runs claude_code.py
  PASS  launcher: launch.sh present; python3 is 3.12
  PASS  engine: runtime matches chock 1.0.0 (5a4b6287a46e)
  INFO  client: agentseam witnessed 2.1.263, 2.1.275; doctor does not run the client
        fix: pass --client-version to compare
  INFO  last fired: no hook record yet
  WARN  heartbeat: no session_start heartbeat yet
        fix: start a new session; if none appears, the client is not loading it: run `chock sync --repo /work/demo`
gemini_cli [sync] /work/demo
  PASS  hooks: /work/demo/.gemini/settings.json runs gemini_cli.py
  PASS  launcher: launch.sh present; python3 is 3.12
  PASS  engine: runtime matches chock 1.0.0 (5a4b6287a46e)
  INFO  client: agentseam has witnessed no gemini_cli version
        fix: see agentseam's evidence wanted issues
  INFO  last fired: no hook record yet
  WARN  heartbeat: no session_start heartbeat yet
        fix: start a new session; if none appears, the client is not loading it: run `chock sync --repo /work/demo`
vscode_copilot [sync] /work/demo
  PASS  hooks: /work/demo/.github/hooks/chock.json runs vscode_copilot.py
  PASS  launcher: launch.sh present; python3 is 3.12
  PASS  engine: runtime matches chock 1.0.0 (5a4b6287a46e)
  INFO  client: agentseam has witnessed no vscode_copilot version
        fix: see agentseam's evidence wanted issues
  INFO  last fired: no hook record yet
  WARN  heartbeat: no session_start heartbeat yet
        fix: start a new session; if none appears, the client is not loading it: run `chock sync --repo /work/demo`

Help as printed

This is what --help prints, from the same parser. The usage line names the program as the engine's parser does.

usage: chock doctor [-h] [--repo REPO] [--client CLIENT] [--client-version CLIENT_VERSION]
                    [--sessions SESSIONS] [--json]

`chock doctor [--client X] [--repo .]`: each client's hooks on each route, PASS/WARN/FAIL with a
fix.

options:
  -h, --help            show this help message and exit
  --repo REPO           the repository whose `chock sync` hooks to check
  --client CLIENT       one client: an install client id (claude-code) or agent id (claude_code)
  --client-version CLIENT_VERSION
                        the client's version, compared with what agentseam witnessed
  --sessions SESSIONS   sessions the heartbeat check covers
  --json                one JSON object per target

Built from engine 5a4b6287a46e and catalog 1e60d211c1bb.