About this project
PokeTokenBar is a macOS menu bar app that gamifies AI coding token usage by turning your token spend into a Pokémon companion. It tracks usage from Claude Code, Codex, Gemini CLI, Antigravity, OpenCode, Hermes Agent, Cursor, Grok CLI, Copilot CLI, Kiro CLI, Pi Agent, omp, and Aside by reading local logs directly—no external CLI needed.
**Core mechanics:**
- 🥚 **Hatch**: Tokens you burn incubate an egg that hatches into a Pokémon from Gen 1–5 (329 possible starts), weighted by official capture rates—legendaries are rare (1-in-129). Each hatch rolls one of 25 natures, with a rare chance of a ✨ Shiny.
- ⚡ **Evolve**: Continued coding grows your Pokémon through its real evolution tree (1/2/3 stages, branching), with flash celebrations at each step.
- 🎓 **Graduate & collect**: Final form + threshold permanently archives it in your Pokédex (rarer takes longer: ~3 days common → ~24 days legendary at heavy use), and a fresh egg arrives.
- 🍬 **Rare Candy**: Fill a 5-hour or weekly usage limit to earn Rare Candy, spendable from the Bag to grow your current Pokémon.
- 🛒 **Shop**: Tokens you've used are currency for Rare Candy, a Mint (re-roll nature), a Shiny Charm (permanently raises shiny odds), or eggs (Pokémon Egg, Uncommon Egg, Rare Egg) to start over.
**Features:**
- **Menu bar**: Animated Gen-V sprite next to today's total tokens (compact format like `200.7M`), with optional cost or limit percentage display.
- **Floating desktop pet**: Move your companion onto the desktop at any size (48–384px), with hover callouts, click-to-open, right-click menu, and speech-bubble limit alerts.
- **Pokédex & Catch log**: One cell per species (24 per page, dex-number order, ✨ for shinies), plus a catch log with full evolution lines, rarity, nature, and capture date.
- **Official limits**: Track Claude, Codex, and Antigravity 5-hour/weekly utilization with reset countdowns and burn-rate forecasts.
- **Per-model breakdown**: Pi Agent usage attributed to real model IDs when multiple models share a session log.
- **Settings**: Menu-bar items, refresh interval (1–15 min or manual), launch at login, Keychain opt-out, limit alerts with thresholds, companion notifications, and full KO/EN/JA/ES/FR/PT/DE UI and Pokémon names.
- **Growth difficulty**: Adjust thresholds and shop prices from 10% to 200%; hatches from already-graduated lines grow 2× faster.
- **Daily chart**: Compact monthly chart showing tokens (and cost) per day.
- **Additional scan folders**: Point at logs outside built-in paths (per-provider, with wildcards).
- **claude.ai session key**: Optional paste for official limits without Keychain access.
- **Low Power Mode**: Menu-bar animation continues at Power saver quality.
- **In-app updates**: One-click update check.
**Supported tools and tracking:**
| Tool | Tracked | Official limits |
|---|---|---|
| Claude Code | today · 5h block · week · month | ✅ 5h / weekly |
| Codex | today · week · month | ✅ 5h / weekly |
| Gemini CLI | today · week · month | — |
| Antigravity | today · 5h block · week · month | ✅ 5h / weekly |
| OpenCode | today · 5h block · week · month | — |
| Hermes Agent | today · 5h block · week · month | — |
| Cursor | today · 5h block · week · month | — |
| Grok CLI | today · 5h block · week · month | — |
| Copilot CLI | today · 5h block · week · month | — |
| Kiro CLI | today · 5h block · week · month | — (estimated) |
| Pi Agent | today · 5h block · week · month | — |
| omp (oh-my-pi) | today · 5h block · week · month | — |
| Aside | today · 5h block · week · month | — |
**Data sources:** Reads local logs (JSONL, SQLite, etc.) from each tool's standard paths, plus PokéAPI for species/evolution data and sprites (fetched at runtime, cached locally). Official limits use unofficial endpoints (Anthropic, codex app-server, Antigravity Google APIs) with Keychain access only on manual refresh.
**Privacy:** On-device first—no usage uploads. Outbound requests go to 12 hosts (PokéAPI, GitHub sprites, Anthropic, claude.ai, cursor.com, Google APIs, status pages, GitHub update check) but never carry usage logs, prompts, or project paths. Keychain is optional and only read on manual refresh.
**Install:** macOS 14+ (Apple Silicon or Intel). Homebrew cask (`brew install --cask chattymin/tap/poke-token-bar`), manual zip download, or build from source with Swift 6. Ad-hoc/self-signed, so Gatekeeper warning on first launch (clear via right-click → Open or `xattr -dr com.apple.quarantine`).
**License:** MIT (covers original source code only; Pokémon assets are not bundled—fetched at runtime). Unofficial, non-commercial Pokémon fan project.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.