Chock.sh Build your plugin

CLI reference

chock init

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

Scaffold a consumer repo (wiring only -- no policies)

Syntax

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

chock init [-h] [--agents [AGENTS ...]] [--agent-agnostic] [--skip-hooks] [--force] [repo]

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.Target repo root
--agents [AGENTS ...]Agents to generate wrappers for (comma- or space-separated)
--agent-agnosticGenerate wrappers for all supported agents
--skip-hooksSkip git hook installation
--forceOverwrite scaffolded files that have local edits (destructive)

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 1 of 21, exit code 0.

$ chock init .
Installed pre-commit dispatcher to /work/demo/.git/hooks/pre-commit
No git-pre-commit.sh policies found; pre-commit dispatcher unchanged
Installed pre-merge-commit dispatcher to /work/demo/.git/hooks/pre-merge-commit
No git-pre-commit.sh policies found; pre-merge-commit dispatcher unchanged
Installed pre-push dispatcher to /work/demo/.git/hooks/pre-push
No git-pre-push.sh policies found; pre-push dispatcher unchanged
Installed commit-msg dispatcher to /work/demo/.git/hooks/commit-msg
No git-commit-msg.sh policies found; commit-msg dispatcher unchanged
Registered SessionStart arm hook in .claude/settings.json
INDEX.md: ~257 tokens (chars/4, max 2000)
INDEX.md: ~257 tokens (chars/4, max 2000)
Implementation registered at /work/demo/.git/hooks/pre-commit.d/99-chock-validate
[PASS] All checks passed.
Initialized Chock in /work/demo
Agents: AGENTS.md + claude, copilot, gemini
Skills: eval, optimize, policy-init, validate (refresh with `chock install-skills .`)
Policies: none. This repo enforces nothing yet.
  1. copy a policy folder from https://github.com/open-coder-ai/chock-catalog (base/<id>/) into .agents/policies/<id>/
  2. chock sync --repo .
Verify anytime with:  chock check --only verify

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 [-h] [--agents [AGENTS ...]] [--agent-agnostic] [--skip-hooks] [--force] [repo]

Initialize a consumer repo with Chock

positional arguments:
  repo                  Target repo root

options:
  -h, --help            show this help message and exit
  --agents [AGENTS ...]
                        Agents to generate wrappers for (comma- or space-separated)
  --agent-agnostic      Generate wrappers for all supported agents
  --skip-hooks          Skip git hook installation
  --force               Overwrite scaffolded files that have local edits (destructive)

Built from engine 5a4b6287a46e and catalog 1e60d211c1bb.