Chock.sh Build your plugin

CLI reference

chock new

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

Create a deterministic artifact skeleton

Syntax

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

chock new [-h] [--root ROOT] [--kind {content_regex,guard,script,rule,skill}]
          {policy,skill,subagent} id

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
{policy,skill,subagent} one of: policy, skill, subagent (required)Artifact type
id (required)Artifact id
--root, --repo ROOT.Repo root
--kind one of: content_regex, guard, script, rule, skillPolicy only: start from a tested template of this kind (outside a catalog the id gains my-)

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

$ chock new policy block-marker --kind content_regex
INDEX.md: ~336 tokens (chars/4, max 2000)
Created policy 'my-block-marker' at /work/demo/.agents
Next:  python -m chock sync --repo .
       python -m chock check --repo .

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] [--root ROOT] [--kind {content_regex,guard,script,rule,skill}]
             {policy,skill,subagent} id

Create a deterministic artifact skeleton

positional arguments:
  {policy,skill,subagent}
                        Artifact type
  id                    Artifact id

options:
  -h, --help            show this help message and exit
  --root ROOT, --repo ROOT
                        Repo root
  --kind {content_regex,guard,script,rule,skill}
                        policy only: start from a tested template of this kind (outside a catalog
                        the id gains `my-`)

Built from engine 5a4b6287a46e and catalog 1e60d211c1bb.