glitchdelve
v0.1.0
Published
Glitchdelve — a corrupted-core crawler. A roguelike deckbuilder that lives alongside Claude Code: crawl the dungeon while Claude works, return to the surface when it needs you.
Maintainers
Readme
Glitchdelve
a corrupted-core crawler
A roguelike deckbuilder that plays alongside Claude Code — crawl the dungeon while Claude works, and return to the surface when it needs you. Failing builds spawn elites named after your stack trace; passing tests rain gold; when Claude stops and waits for you, the dungeon kicks you back to the terminal.
Not affiliated with, endorsed by, or sponsored by Anthropic. Claude and Claude Code are trademarks of Anthropic. Glitchdelve is an independent game that integrates with Claude Code via its public hooks.

Quickstart
npx glitchdelve # play standalone, right nowTo wire it into a real coding session:
npm i -g glitchdelve # puts `glitchdelve` on your PATH
# (plus `ccc` and `crawler`, legacy aliases)
cd your-project
glitchdelve init # installs Claude Code hooks (merges, never clobbers)
glitchdelve # run this in a second terminal paneNow give Claude a task in one pane and crawl in the other. glitchdelve doctor checks the wiring.
How it works
Claude Code fires hooks as it works. glitchdelve init installs small hook commands that append those events to a per-session log; the running game tails it and turns real activity into bounded game effects:
| Real event | In the dungeon | | --------------------- | ------------------------------------------- | | Tests pass | a purse of gold | | Build / tests fail | an elite is summoned, named after the cause | | Claude spawns a sub-agent | a familiar grants +Strength next combat | | Claude stops & waits | return to the surface — the game pauses | | deepPairing wants a review | the dungeon pings you to go judge it |
The guiding rule is LLM flavors, code decides: the deterministic game engine owns all mechanics and balance (runs are seeded and replay byte-for-byte); the AI only ever writes flavor — narration lines and the names of things — and can never invent mechanics.
The Dungeon AI
A snarky announcer narrates your run and christens the monsters your mistakes summon. It resolves a backend automatically, so an API key is optional:
ANTHROPIC_API_KEY→ Claude Haiku directly (fastest)- the
claudeCLI on your PATH → narrates on your existing Claude Code login, no key needed - a local Ollama (or any OpenAI-compatible server) → fully offline
- none of the above → hand-authored static flavor; the game is complete regardless
Snark is a setting ([s] on the title screen): dry, wry, or roast. It applies to the static lines too, so offline play still respects your taste.
Plays nicely with deepPairing
glitchdelve init merges its hooks alongside any you already have (it won't touch your existing config), and the game treats deepPairing review requests as a first-class "return to the surface" ping.
Upgrading from the old name
Glitchdelve was previously developed under a different working title. Everything is backwards compatible:
- Binaries:
cccandcrawlerstill work — they're the same CLI. Hooks already installed asccc hook <type>keep firing;glitchdelve initwon't duplicate them, andglitchdelve init --removecleans up both spellings. - Env vars:
GLITCHDELVE_*is the primary prefix (e.g.GLITCHDELVE_SAVE_DIR); the legacyCCC_*forms are still honored (new → old → default). - Saves: untouched — same location (
~/.claude-code-crawlerby default), same format. - Co-op invites: existing room codes (the
ccc1.prefix) keep working; the prefix is a wire constant, not a brand.
Status
v0.1 — playable and broadly built out. Two character classes (Knight, Apothecary), 50 cards, 20 enemies (incl. 2 elites + a boss, tiered for act escalation), 12 relics, 10 events, plus Poison and Dexterity mechanics. Choose your run on the title screen:
- Mode (
[m]): a session-sized single act, or a 3-act arc. - Difficulty (
[d]): Story / Normal / Gritty / Hard / Nightmare — matched in win-rate across both modes. - Snark (
[s]) and Class ([k]).
Balance is validated by a headless playtest harness and an MCTS search bot, not by guesswork. Roadmap:
- an optional graphical renderer (terminal stays the default)
- more character classes and class-gated cards
- richer Dungeon AI authority (curating encounters, not just naming them)
Issues and PRs welcome.
Development
npm install
npm test # vitest (141 tests)
npm run lint # includes the engine-purity layering rules
npm run typecheck
npm run dev # run the TUI from sourceSee CONTRIBUTING.md for the architecture contract. Licensed MIT.
