Install commands (click to expand)
# ๐ macOS โ drag .dmg to /Applications, then clear quarantine on first launch:
xattr -cr /Applications/petpet.app
# ๐ช Windows โ double-click the .msi (or _x64-setup.exe for the NSIS variant)
# ๐ง Debian / Ubuntu
sudo dpkg -i petpet_*_amd64.deb
# ๐ง Fedora / RHEL
sudo rpm -i petpet-*-1.x86_64.rpm
# ๐ง Portable (any distro, no install)
chmod +x petpet_*_amd64.AppImage && ./petpet_*_amd64.AppImagepetpet is a desktop companion that quietly listens to Claude Code / Codex / OpenCode / Aider โ and more providers landing soon โ then turns your real AI usage into the pet's growth. Code seriously, your pet thrives. Idle, it sleeps.
- ๐ Zero-risk, fully local. No cloud, no telemetry, no account, no data ever leaves your machine. Open source, MIT-licensed, fully auditable.
- ๐ชถ Zero-setup. No hook configuration. petpet auto-discovers existing session logs on launch.
- ๐ค Multi-agent. One pet eats events from every supported AI coding tool; XP accumulates in a single pool.
- ๐๏ธ Multi-pet. Raise a fleet โ switch the active companion any time; the rest hold their state.
Hard mode philosophy โ KingKong won't budge for idle chat. Only deliberate work counts: AI token usage, completed tasks, dispatched subagents. Want a titan? Earn it.
Every pet has 10 evolution stages โ egg โ newborn โ six juvenile / adult forms โ final apex form. XP accrues from real-world events; level thresholds gate visual transformations.
The XP pipeline
Token usage โ
Activity โโผโโโ Algorithm โโโ Rule multiplier โโโ XP
Manual grantsโ (invariant) (per-template)
Algorithm core (src/xp/algorithm.rs, version-pinned, cross-install identical):
weighted = inputยท1 + outputยท5 + reasoningยท5 + cache_createยท1.25 + cache_readยท0.1
raw = weighted / 60,000 ร tier_mult ร confidence ร growth_curve(level)
xp = round(raw).clamp(0, tier_cap)
Tier multipliers โ capability bands stay stable across vendor price changes:
| Tier | Examples | Mult | Per-event cap |
|---|---|---|---|
| ๐ Frontier | Opus 4.7, GPT-5, o1+ | 1.5ร | 10 XP |
| ๐ Mid | Sonnet, GPT-4o, Gemini 2.5 | 1.0ร | 6 XP |
| ๐ฐ Mini | Haiku, GPT-4o-mini, nano | 0.7ร | 3 XP |
Growth curve โ 1 / (1 + 0.02 ยท level). High levels naturally diminish: at L25 you earn 67% per event, at L50 only 50%. No way to whale-rush to L99 in a weekend.
Per-template personality โ rule multipliers [0.5, 2.0] let each template flavor its preferences. Unicorn rewards every chat (chat-friendly), Sun halves it (medium pacing), KingKong zeros it out (token-only diet).
Switch any time. The active pet absorbs live events; the rest preserve their state forever. Run a parallel breeding program if you like.
Roll your own pet. The built-in Template Creator gets you from blank to playable in under 3 minutes:
- Pick a levels preset โ
short/medium/longXP curve - Pick a stages preset โ
simple(5 stages) /balanced(7) /extended(10) - Fill in:
- Name, description, flavor text
- 10 sprite PNGs (drag-and-drop)
- Per-rule XP weights and per-model boosts
- Theme color + label chips
Templates live at ~/.petpet/templates/<id>/ โ pure JSON + PNGs. Hand-edit, git-version, share with friends. No proprietary format anywhere.
Click your pet โ opens the Trainer Card: a per-pet (or "All") usage dashboard tracking your spend, XP gains, model breakdown, and every recent move.
- ๐ฐ Feeding Bill โ today / this week / this month / lifetime USD + token totals
- ๐ Per-provider breakdown โ Claude vs Codex vs OpenCode vs Aider, tokens + XP earned each
- ๐ Recent moves โ every XP gain logged with timestamp, pet, amount, and source (
usage/activity/manual) - ๐ All vs single-pet toggle โ
Allaggregates every pet you've ever raised (including pre-install historical sessions, display-only)
On launch, petpet performs async historical import of past session logs โ your dashboard isn't empty on Day 1.
Pack any pet (snapshot + XP history + custom name) or any template into a .petpet archive. Toss it on USB / Discord / GitHub releases. The recipient imports, schema is validated end-to-end:
โ Manifest schema version โ Sprite completeness (10 ร PNG)
โ XP curve monotonicity โ Rule shape (no unknown source_type)
โ SHA-256 checksums โ No path traversal in archive
Invalid archives are rejected, never silently importing broken state.
# Prerequisites: Rust toolchain, Node 22+, pnpm
git clone https://github.com/ppXD/petpet.git
cd petpet/desktop
pnpm install
pnpm tauri dev # hot-reload dev build
# Release bundles โ desktop/src-tauri/target/release/bundle/
pnpm tauri buildMIT โ see LICENSE. Fork it, modify it, ship it commercially. Pet sprites and engine code all under the same hat.
Made with ๐ by humans who use AI too much.


