The control plane for game-dev agents — close the loop with verified compile, test, and cross-model review…
quick-question
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
The control plane for game-dev agents.
Close the loop — compile, test, review, and ship — across Unity, Godot, Unreal, and S&box.
Claude Code -first.
Open to any agent via HTTP and MCP.
Unity
Godot
Unreal
S&box
English |
中文 |
日本語 |
한국어
---
> **✅ Verified path:** **Claude Code + Unity 2021.3+ on macOS or Windows.** Daily-driven, end-to-end battle-tested. This is the recommended setup if you want everything in this README to "just work".
>
> **🧪 Experimental — contributions welcome:** Godot, Unreal, and S&box adapters ship as scaffolds. The bridge code, command surface, and CI smoke tests are in place, but **no one has yet shipped a real game using any non-Unity adapter** — they have not been validated in actual development use. Same caveat for non-Claude hosts (Codex CLI, Cursor, Continue, other MCP hosts): the runtime is agent-agnostic *by design*, but the verified loop is Claude Code-only. If you're building with one of these, your bug reports and PRs are how the adapter graduates to "verified" — see CONTRIBUTING.md.
Why qq
AI agents can write code. They cannot, by default, tell you whether the code compiles, the tests pass, the behavior is right, or whether they just produced 500 lines of plausible-looking nonsense. In a game project — where "running" means the editor opens, the scene loads, and frame N+1 looks like you wanted — that gap is the entire problem.
quick-question is the runtime layer that closes it. Four work modes — prototype, feature, fix, hardening — are first-class state, not flavor text. A prototype keeps the compile green and stays playable; a hardening pass forces tests, review, and document/code consistency before shipping. The artifact-driven controller (/qq:go) reads .qq/state/*.json and your work_mode, then recommends the concrete next skill — instead of guessing from chat history.
The runtime is engine-symmetric and agent-agnostic. Unity has the deepest integration: compile and test drive the open Editor through the official Unity CLI (unity command / unity job). Godot, Unreal, and S&box are at runtime parity through Python bridges. Claude Code gets 28 skills, auto-compile hooks, and review gates. Codex, Cursor, Continue, and any MCP-compatible host get the same underlying runtime through MCP and plain scripts. Structured state in .qq/ is plain JSON on disk — readable by any agent, across sessions.
The methodology is grounded in the document-first approach described in *AI Coding in Practice: An Indie Developer's Document-First Approach*.
How it works
Four layers cooperate:
- **Hooks** fire on every Claude Code tool call. PostToolUse compiles after Edit/Write on engine source files via qq-compile.sh (the multi-engine dispatcher). PreToolUse blocks edits during review verification, or after a red compile, until the relevant gate clears. Stop blocks session end if skills were modified without /qq:self-review. All gate files are keyed by the Claude Code session id, so concurrent sessions never block each other.
- **Controller** — /qq:go reads .qq/state/*.json, recent run records, your work_mode, and the active policy_profile, then routes to the next skill. It is a controller, not an implementation engine — it only falls back to context heuristics when state is ambiguous.
- **Engine bridges** — the official Unity CLI for Unity (tykit only as a fallback in projects that still have it), godot_bridge.py, unreal_bridge.py, sbox_bridge.py. Compile, test, console, find / inspect — verified execution, not blind file writes.
- **Runtime data** — .qq/runs/*.json (raw run logs), .qq/state/*.json (latest compile / test state), .qq/state/session-decisions.json (cross-skill decision journal), .qq/telemetry/. Plain JSON, readable by any agent across sessions.
For code review, two symmetric modes share the same verification loop: **Codex review** (code-review.sh → codex exec, cross-model) and **Claude review** (claude-review.sh → claude -p, single-model). Each produces findings, then independent verification subagents check every finding against actual source and flag over-engineering — up to 5 rounds until clean. The unified review gate (scripts/hooks/review-gate.sh) blocks edits until all verification subagents complete (three-field format: : : ). MCP exposes one-shot qq_code_review and qq_plan_review tools for non-Claude hosts.
See Architecture Overview, Hook System, Cross-Model Review, and Worktrees for layer-by-layer detail.
Engines
| Engine | Compile | Test | Editor control | Bridge |