Getting started¶
Clone and install¶
--target takes claude, codex, or all. It symlinks skills/ and
rules/*.md into the agent's config directory, commands/*.md into
~/.claude/commands (or renders each as ~/.codex/skills/<name>/SKILL.md),
and merges the hook lines from settings.example.json into
~/.claude/settings.json. Rerunning it is a no-op.
Add --deps to install the tools the pack expects on PATH:
git gh jq docker python3 ast-grep pytest, plus mutation-gate itself.
Verify it worked¶
Every entry should be a symlink back into the cloned repo, not a real directory:
If you ran --deps and had mutation-gate on PATH at install time, confirm
the Stop hook landed:
tests/install.sh runs the full set of these checks, plus the Codex tree,
against a throwaway $HOME — read it if a check here doesn't match what you
see.
First real use¶
Start a Claude Code session in the repo and park a tangential idea with the
ps skill:
It appends the line to a scratchpad file and replies 📌 queued (1): write a
getting-started page, then returns to whatever you were doing — nothing else
happens until you ask for the list back. That round trip is the whole
contract: a skill is a SKILL.md file Claude reads on demand, not a program
it runs.
The gate¶
Every commit and every session Stop also runs mutation-gate: it mutates
your diff and blocks on any mutant your tests don't kill. That's a separate
component (mutation_gate/, tracked in
#8) with its own
waiver file. See Gate for how it fires and what to do when it
blocks you.