First-5-minute kata

~15 minutes to complete your first scoped mission loop. Every step has a headless variant for CI and IDE agents.

First-5-minute kata

~15 minutes to complete your first scoped mission loop. Every step has a headless variant for CI and IDE agents.

Prerequisites: Node.js 24+, empty Git repository (or use a throwaway branch).

Steps

#GoalInteractiveHeadless
1Install CLInpm install -g @jeger-ai/opengantrynpx @jeger-ai/opengantry --version
2Scaffold substrategantry init --tutorialgantry init --yes --no-ci
3Planner identitygantry planner set "$(git config user.email)"same (requires git config)
4Health checkgantry onboardinggantry doctor --json → exit 0
5Legislate missiongantry start "First kata change" --msn MSN-KATA --skill-key logic --gate-command "npm test"gantry legislate "First kata change" --msn MSN-KATA --skill-key logic --gate-command "npm test"
6Planner commitReview YAML, then git commit -m "[MSN-KATA] legislate mission"same
7Executor enveval "$(gantry runtime env --mission .gitagent/missions/MSN-KATA.*.yaml)"gantry runtime env --mission … --json
8Execute changeEdit within mission tmvc_rootsgantry runtime exec --mission … -- npm test (after edits)
9Trace evidenceAppend unique line to EXECUTOR_LOG.mdsame
10Verifygantry verify --mission …gantry verify --mission … --json
11Audit grepgit log --grep='MSN-KATA' --onelinesame

Replace MSN-KATA with a valid id (e.g. MSN-0001) and match the legislated mission filename.

Expected outcomes

  • gantry verify exits 0 with gate PASS and trace rows PASS (or PENDING cleared after quotes committed).
  • git log --grep='MSN-' shows at least one legislative commit from a Planner allowlisted email.
  • gantry status --json reports pinned or resolved mission context.

Friction log (optional)

When something fails in the first five minutes, capture:

step: <number>
expected: <what should happen>
actual: <what happened>
error_code: <GXT_* from --json if any>

File an issue or append to your team runbook — this is the highest-signal adoption feedback.