An open API service indexing awesome lists of open source software.

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

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.