Roadmap
Condensed from the founding plan
(notes/plans/roadmap-2026-07.md
— the repository copy is canonical and more detailed).
Why this exists
Minecraft plugin/mod development accumulates automation piecemeal — a bot script here,
a screenshot harness there, a playtest bootstrapper, CI jobs that boot real servers.
This project unifies those layers, generalizes them beyond any one plugin, and puts them
behind a single MCP tool surface an AI assistant can drive end to end.
Three lanes for driving a client
| Lane | What it is | When |
| Agent mod | Kotlin Fabric mod inside a real rendering client: widgets by name, keybinding invocation, movement, in-process screenshots, reflection state | The main lane — live interactive testing |
| Protocol bot | Mineflayer — a headless protocol-level player | Cheap smoke and load work |
| OS level | Window discovery, PrintWindow screenshots, open/close | Any client, vanilla included, nothing installed |
Phases
| Phase | Delivers | Status |
| 0 — Scaffold & gates | Mesh standards, working MCP skeleton, 3-layer test suite, coverage gate ≥90%, CI/CodeQL/Scorecard, this docs site | done |
| 1 — MCP core + OS layer | Job model, instance registry, window discovery + OS screenshots, open/close | next |
| 2 — Build/test orchestration | Gradle driver, Paper provisioning/boot/console/logs | planned |
| 3 — Control protocol + Paper agent | One loopback protocol spec; server-side state, commands, world ops, events | planned |
| 4 — Fabric client agent | Semantic UI driving by name, player control, in-process screenshots, opt-in gating | planned |
| 5 — Client lifecycle | Dev-client spawns (no launcher), attach handshake, Mineflayer lane | planned |
| 6 — Deep state access | Reflection gateway — reads session-gated, writes per-session grant | planned |
| 7 — Release engineering | Full CI matrix incl. client gametests, GitHub-only releases with provenance | partially pulled forward (CI, Scorecard, this site) |
| 8 — Extended targets | NeoForge agents, Folia-ready Paper agent, 26.x line when tooling catches up | planned |
Deliberate constraints
- Semantic, never pixels — driving is by widget/keybinding/screen
name; pixel input is only the floor for unmodded clients.
- MC 1.21.11 / Java 21 — the ceiling shared by Mineflayer and
MockBukkit; Paper forward-compat covers 26.x servers meanwhile.
- No launcher automation — dev clients cover instancing; your real
client is attach-only, by explicit in-game consent.