# coc-rpg AI-driven single-player, party-based fantasy RPG. Godot 4 client, FastAPI proxy, AI as Dungeon Master. **Read [`CLAUDE.md`](CLAUDE.md) first** — project charter and working agreement. It is the source of truth. If code disagrees with it, the charter wins until the charter is changed. ## The one rule > **Code owns state. AI owns text.** (charter §2) ## Repo layout ``` /client Godot 4.7 game client (GDScript) — ALL game state, ALL game rules /docs Client-specific docs (scenes, input, combat wiring) /api FastAPI proxy — auth, metering, prompt routing, logging (charter §4) /docs API-specific docs (endpoints, model routing, deploy) /prompts Role prompts — source code, versioned, reviewed (charter §5, §16) /content Authored game data — quests, NPC knowledge lists, fallback text /quests Story skeletons and quest definitions /npcs Per-NPC knowledge lists (charter §6 — "the whole design") /fallback Authored degraded-DM text for every AI surface (charter §13) /docs Cross-cutting docs — roadmap, ADRs, planning affecting both sides /adr Architecture Decision Records ``` ## The three processes (charter §4) ``` client (GDScript) ──HTTP──▶ api (FastAPI) ──▶ Replicate / Ollama ``` The client holds **no API key, ever**. It knows one base URL and a set of role endpoints. It sends game state, receives text.