Track Pokemon Infinite Fusion Nuzlocke runs with encounter logging, team and box management.
Live app: fusion.nuzlocke.io
Source: github.com/fbosch/infinite-fusion-nuzlocke
Note
This project started as a way to explore agentic workflows, and I still use it as a playground for this.
- Encounter tracking by location with quick actions and sorting
- Playthrough profiles with create/switch/delete and import/export
- Classic, Remix, and Randomized game mode support
- Team, PC, and graveyard flows that preserve run-state invariants
- Fusion-aware encounter handling and custom locations
Requirements:
- Node.js
22.x - Corepack-enabled pnpm
10.x
corepack enable
corepack prepare pnpm@10 --activate
pnpm install --frozen-lockfile
pnpm devOpen http://localhost:4000.
If you use devenv, devenv shell provides the pinned Node.js, pnpm, git, GitHub CLI, Worktrunk, and no-mistakes tooling, then runs dependency and git hook setup on entry. Run devenv tasks run no-mistakes:init once when setting up the gated push remote.
pnpm dev
pnpm build
pnpm start
pnpm type-check
pnpm lint
pnpm validate
pnpm test
pnpm test:run
pnpm test:coverage
devenv test
pnpm data:refresh
pnpm spritesheetScraper maintenance checks:
pnpm test:run tests/scrape-wild-encounters-wikitext.test.ts
pnpm scrape:encounters
pnpm exec biome format --write data --vcs-use-ignore-file=true --files-ignore-unknown=true
pnpm validate:route-articlesFor behavior or run-state changes, run checks in this order:
pnpm type-check
pnpm test:run
pnpm validateContributions are welcome via issues and pull requests.
MIT License. See LICENSE.