pi-gacha
v0.0.1
Published
A gamified coding-agent harness — gacha/idle mechanics layered over pi.
Readme
pi-gacha
A gamified coding-agent harness. Real agentic coding (forked from pi) with Girls' Frontline-style gacha / idle / RPG mechanics layered on top: you are the Commander, your active Doll does the coding and talks back in-character, and XP, tokens, efficiency, currency, and affinity all climb as you work.
Status
MVP complete. See .claude/plans/ for the design and milestone plan.
- ✅ M0 scaffold & pi-on-DeepSeek · ✅ M1 pure game core · ✅ M2 telemetry · ✅ M3 HUD
- ✅ M4 persona/mood · ✅ M5 gacha & commands · ✅ M6 idle/upgrades · ✅ M7 ANSI portraits
57 unit tests, clean typecheck. Verified live on DeepSeek: real coding, persona voices (Springfield vs Klukai), gacha pull, live HUD, idle accrual, and persistence.
Architecture
vendor/pi/— pi, vendored as a git submodule (built with its own toolchain, unmodified). The launcher runs this; the game rides pi's extension API.packages/pi-gacha/— the game, as a pi package.src/— pure, pi-agnostic game logic (XP, economy, gacha, idle, characters). Unit-tested.extensions/index.ts— the only file that imports pi; adapts pi events/UI ontosrc/.themes/— the Frontline color theme.
bin/pi-gacha— launcher: vendored pi + pi-gacha extension + DeepSeek defaults.
Setup
git submodule update --init # fetch vendored pi
pnpm pi:build # build pi (npm, inside vendor/pi)
pnpm install # pi-gacha dev deps (vitest, ts)
export DEEPSEEK_API_KEY=sk-... # required to actually run the model
./bin/pi-gacha # launch (interactive)
./bin/pi-gacha "add a hello() to main.ts" # or with an initial taskOverride the model with FRONTLINE_MODEL (default deepseek/deepseek-v4-flash).
Develop
pnpm test # vitest over packages/pi-gacha/src
pnpm typecheck