scripts/
Tool-agnostic automation helpers. Logic lives here; Claude Code wraps them
via .claude/ and Codex CLI invokes them directly.
| Script |
Purpose |
Used by |
pre-pr-check.sh |
Full local CI parity (fmt, smoke, test, vet, analyze, lint, race) |
Claude Code skill pre-pr-check; Codex CLI: run directly |
format-and-vet.sh |
gofmt + go vet on a single edited file (reads hook JSON) |
Claude Code PostToolUse hook |
check-no-git-add-all.sh |
Block git add . / -A / --all per AGENTS.md |
Claude Code PreToolUse hook |
generate-dot-golden/ |
Regenerates index/vector/testdata/dot_golden.bin from the committed scalar reference protocol |
Manual Stage 2 determinism maintenance |
From Codex CLI
Codex CLI does not have hooks or skills, but it reads AGENTS.md natively
and can call any script:
./scripts/pre-pr-check.sh
AGENTS.md already encodes the policies the hooks enforce ("Stage explicit
paths", "Run the smallest check"), so a Codex agent that reads AGENTS.md
will behave consistently. The hooks are belt-and-braces enforcement for
Claude Code.
From Claude Code
Hooks and skills wire these up automatically — see .claude/settings.json
and .claude/skills/. You can also invoke pre-pr-check.sh manually via
the slash command /pre-pr-check.
MCP servers (Claude Code + Codex CLI)
Project-shared MCP servers are declared in .mcp.json (Claude Code
auto-loads it). For Codex CLI, merge the snippet in
codex/mcp.snippet.toml into your
~/.codex/config.toml.