https://github.com/ericchansen/pokedex
Competitive Pokemon trade pipeline and HOME tracker
https://github.com/ericchansen/pokedex
Last synced: about 2 months ago
JSON representation
Competitive Pokemon trade pipeline and HOME tracker
- Host: GitHub
- URL: https://github.com/ericchansen/pokedex
- Owner: ericchansen
- License: other
- Created: 2026-04-12T23:20:46.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-11T03:41:22.000Z (2 months ago)
- Last Synced: 2026-05-11T05:27:44.664Z (2 months ago)
- Language: JavaScript
- Size: 320 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Pokémon HOME Tracker
A local-first single-page web app for tracking your Pokémon HOME inventory, competitive Builds, and Teams across Pokémon Champions and classic games (SV/SwSh). See [`docs/handoff/`](docs/handoff/) for the canonical specification.
## Quick start
Prereqs: [uv](https://docs.astral.sh/uv/) (Python dev server), Node.js (linting + dev tooling).
```powershell
uv run serve.py # http://127.0.0.1:8138/
uv run serve.py --port 8080 # custom port
```
## Linting
```powershell
npm install # first time only
npm run lint # ESLint (JS) + Stylelint (CSS)
npm run lint:py # Ruff (Python)
```
## Project layout
```
data/ Single source of truth for app data
├── builds.json Library of reusable Builds (competitive ideals, factory sets)
├── inventory.json 200-box HOME grid; each occupied slot is a Pokémon Instance with its own Current Build
├── teams.json Team compositions (FK to builds)
├── champions_pokemon.json Species + Megas available in Pokémon Champions
├── champions_filter.json Derived lookup table for Champions availability
├── sv_filter.json Derived lookup for Scarlet/Violet
├── presets/ HOME / SV box-layout presets
└── reference/ Generated by convert_smogon_data.py (gitignored)
docs/
├── handoff/ Canonical functional spec + schema (read this first)
└── research/ Personal research notes (not project doc)
site/ The SPA (vanilla HTML/CSS/JS, no framework)
serve.py Dev server + persistence endpoint
convert_smogon_data.py Rebuild data/reference/* from Smogon Showdown
fetch_legends_arceus.py Refresh data/reference/legends_arceus_pokemon.json
fetch_legends_za.py Refresh data/reference/legends_za_pokemon.json
```
## Source of truth
The functional spec and schema live under [`docs/handoff/`](docs/handoff/):
- [`functional-spec.md`](docs/handoff/functional-spec.md) — what the app does (FR-* requirements)
- [`schema.md`](docs/handoff/schema.md) — JSON contracts for every data file
- [`legality-notes.md`](docs/handoff/legality-notes.md), [`showdown-format.md`](docs/handoff/showdown-format.md) — domain references
Anything in this README that contradicts the spec is wrong; the spec wins.
## Rebuilding reference data
```powershell
uv run python convert_smogon_data.py # Smogon-derived dex/moves/items/abilities/etc.
uv run python fetch_legends_arceus.py # Hisui dex from PokeAPI
uv run python fetch_legends_za.py # Z-A dex from PokeAPI
```
These regenerate files under `data/reference/` (gitignored) used at runtime by the SPA.