A terminal-based Pokédex built with Rust. Browse Gen 1 Pokémon, view colored sprite art, check type matchups, and build teams.
- Pokédex — Scrollable list of 151 Pokémon with search and type labels
- Detail — Colored sprite art, base stats with bar charts, abilities, height/weight
- Type Chart — 18×18 scrollable type effectiveness matrix
- Team Builder — 6-slot teams with Pokémon picker, move selection, and type coverage analysis
Download pokedex-macos.tar.gz from Releases, then:
tar -xzf pokedex-macos.tar.gz
xattr -d com.apple.quarantine pokedex
./pokedexThe
xattrcommand removes the macOS quarantine flag that blocks downloaded binaries. If you get "No such xattr", the file is already fine to run.
Requires Rust (1.70+).
git clone https://github.com/rae89/pokedex.git
cd pokedex
cargo build --release
./target/release/pokedexrustup target add x86_64-apple-darwin
cargo build --release
cargo build --release --target x86_64-apple-darwin
lipo -create target/release/pokedex target/x86_64-apple-darwin/release/pokedex -output pokedexThe resulting pokedex binary works on both Apple Silicon and Intel Macs.
Run the unit test suite:
cargo testGenerate code coverage report:
cargo install cargo-tarpaulin
cargo tarpaulin --out Html --output-dir coverage/To publish a new release, trigger the Release workflow from the GitHub Actions tab:
- Go to Actions → Release → Run workflow
- Enter the version number (e.g.
1.0.0) - Click Run workflow
This builds a universal macOS binary (Apple Silicon + Intel), tags the commit as v{version}, and creates a GitHub Release with pokedex-macos.tar.gz attached.
| Key | Action |
|---|---|
Tab / Shift+Tab |
Cycle screens |
1–4 |
Jump to screen |
↑↓ / jk |
Navigate lists |
/ |
Search |
Enter |
Select / view details |
Esc |
Back / close modal |
a |
Add Pokémon to team (detail screen) |
d |
Remove from team (team builder) |
n |
New team |
←→ / hl |
Switch teams / scroll type chart |
q |
Quit |
- Data is fetched from PokéAPI and cached locally for instant subsequent loads
- Sprites are rendered as colored Unicode half-block characters (
▀▄█) with true-color RGB - Teams are saved to
~/Library/Caches/pokemon-tui/teams.json(macOS)
See our GitHub Milestones for planned features and progress.
Rust, Ratatui, Crossterm, Tokio, Reqwest, Serde, image
