OpenGantry is tool-agnostic: any agent that can run shell commands can work inside the mission graph. Missions, gates and Git hooks run in your repository, not through a hosted dashboard. Vendor CLIs change; the wrap line and the context files below do not.
The rule for every tool
- The Planner legislates a mission under
.gitagent/missions/(Missions). In IDE chat, the Mission Architect produces one copy-pastegantry legislatecommand or drafts it through MCP. - Load the mission’s runtime environment before the executor starts.
- Append gate evidence to
EXECUTOR_LOG.md. - Finish with
gantry verify --mission <path>before merge or before claiming the work is done.
# Process boundary: the strongest scope trap, for subprocess executors
gantry runtime exec --mission .gitagent/missions/MSN-0001.<slug>.yaml -- <agent command>
# IDE terminal or a manual shell, any tool
source scripts/gxt-runtime-env.sh .gitagent/missions/MSN-0001.<slug>.yaml
# Orchestrator or CI bootstrap as JSON
gantry runtime env --mission .gitagent/missions/MSN-0001.<slug>.yaml --json
On a runtime exec failure, read the file named by GANTRY_LAST_ERROR_FILE for machine-oriented remediation. After a verify failure, read findings[] from gantry verify --json (Verify). The variables these commands set are listed in Session variables.
Point every tool at the same law
Do not copy rules into each tool’s prompt file. Point each tool at three files:
| File | Role |
|---|---|
AGENTS.md | Cross-tool entry point: read RULES and MANIFEST before acting |
.gitagent/planner/RULES.md | Governance rules |
.gitagent/foreman/MANIFEST.yaml | Routing: edit roots and forbidden zones per skill |
gantry init scaffolds AGENTS.md, the pointer files for the tools you select, the runtime scripts, and docs/INTEGRATIONS.md, setup notes for humans composed from the recipes for your tools.
Per tool
| Tool | Context | Wrap or bootstrap |
|---|---|---|
| Cursor | .cursor/rules/opengantry-gxt-substrate.mdc, .cursor/hooks.json, .cursor/mcp.json | Session-start hook; gantry mission pin <mission>; source scripts/gxt-runtime-env.sh |
| Claude Code | CLAUDE.md or .claude/CLAUDE.md linking the canonical files | scripts/gxt-shell-agent.sh claude <mission>; gantry runtime exec … -- claude "<task>" |
| OpenAI Codex CLI | Root AGENTS.md; optional .codex/config.toml | scripts/gxt-shell-agent.sh codex <mission>; gantry runtime exec … -- codex exec "<task>" |
| OpenCode | AGENTS.md; optional opencode.json instructions | scripts/gxt-shell-agent.sh opencode <mission>; gantry runtime exec … -- opencode run "<task>" |
| JetBrains Junie | .junie/AGENTS.md or .junie/guidelines.md | Terminal: source scripts/gxt-runtime-env.sh <mission> |
| Google Antigravity | AGENTS.md and .agent/rules/gxt.md (always_on) | gantry runtime exec … -- <agent command> |
| Cline | .clinerules/gxt.md and root AGENTS.md | Terminal: source scripts/gxt-runtime-env.sh <mission> |
| Aider | .aider.conf.yml read: list | gantry runtime exec … -- aider --message "<task>" |
| OpenHands | .openhands/microagents/gxt.md and root AGENTS.md | Terminal: source scripts/gxt-runtime-env.sh <mission> |
Related tools without their own row: Gemini Code Assist is an IDE plugin that uses the same three canonical files and is distinct from the Antigravity IDE. The OpenAI Codex API (2021–2023) was a code-completion API and is not the Codex CLI agent.
How strongly each setup holds the scope is on Enforcement boundary: an IDE agent’s own edits are advisory unless the tool runs inside gantry runtime exec.
Checklist for any tool
gantry init,export GANTRY_PLANNER_EMAILS="$(git config user.email)",gantry doctorgantry legislate "<intent>" --msn MSN-NNNN --skill-key <key>, then the Planner[MSN-NNNN]commitsource scripts/gxt-runtime-env.sh .gitagent/missions/<file>.yaml- The executor works and appends PASS quotes to
EXECUTOR_LOG.md gantry verify --mission .gitagent/missions/<file>.yamlgit push(the pre-push hook uses--pre-pushhandoff rules)