QuestCode.sh is a command-line Dungeon Master powered by agentic AI. Drop in your lore files, roll initiative, and let the DM take it from there — tool calls, world state, and all.
QuestCode reads your context files before every session — then the AI takes over as DM, calling tools to manage state, dice, NPCs, and narrative.
Drop Markdown or plain text files into your world directory. Lore, characters, maps, items — anything
the DM should know. Use world.md, npcs.md, inventory.md or your
own structure.
Run questcode start --world ./myworld. The agent loads all context files, builds a DM
persona, and opens the session prompt. No config ceremony needed.
Type your actions in plain English. The AI narrates, makes decisions, rolls dice, updates world state files, and tracks encounters — all autonomously via tool calls.
After each session, world state is written back to disk. Return tomorrow and the DM remembers exactly where things stand — who's dead, what you've found, what changed.
The AI doesn't just respond — it acts. It calls tools autonomously to roll dice, update lore, manage NPCs, and drive the story forward without hand-holding.
Your world lives in plain text files you control. Edit lore between sessions, version control everything with git, share worlds with other players trivially.
Rolls are cryptographically random and logged. The DM interprets results narratively — success, failure, and critical moments feel earned, not scripted.
State is written to disk after each exchange. NPCs remember you. Doors you've opened stay open. Consequences ripple through the world across sessions.
Works with Claude, GPT-4o, Gemini, or any local model via Ollama. Swap the engine without touching your world files or losing your save state.
This is not another RAM hungry AI tool. It is carefully architected Rust CLI program that uses
Bevy as it's core and Ratatui as it's renderer.
QuestCode exposes a set of tools to the underlying AI. The model chooses when and how to call them — you just play.
"The best DM you've ever had
never needed a screen."
No dependencies. No account. No cloud required. Just a terminal and an API key.