🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
Pet gallery, CLI, and desktop mascot for agents
Petdex combines a public pet gallery with a command-line installer and a desktop companion app. The CLI installs pet folders into `~/.petdex/pets/`, while the desktop app connects to supported agents and animates a pet as they work.
Builders who want a pet gallery, install flow, and desktop mascot tied to their coding agent.
You can install an animated pet, connect it to your agent, and see it react without re-explaining setup each time.
What it does
Pet gallery
Browse and submit animated pets on the public site, including community reviews and built-with listings.
One-command installs
Use the `petdex` CLI to install pets directly onto your machine from a slug or local path.
Desktop floater
Run a native desktop app that shows the selected pet over your workspace and follows agent activity.
Agent connections
Connect supported agents from the desktop app so pet animations map to tool calls and other activity.
Pet package format
Use the `pet.json` plus `spritesheet.webp` or `spritesheet.png` package layout, with documented frame grids and animation states.
Public manifest API
Consume `petdex.dev/api/manifest` to get approved pets, spritesheet URLs, and metadata for your own integrations.
How to get it
- 1Install a known pet
npx petdex install boba
README
Petdex
The public gallery of animated companions for Codex.
Browse, install, and submit pets with one command.
What is Petdex
Petdex is three things working together:
- A web gallery at petdex.dev where the community submits, reviews, and showcases animated pets in the Codex sprite format.
- A CLI that installs any pet on your machine with one command and ships them straight into Codex.
- A desktop app that floats a pet on your screen and reacts to your coding agent's activity in real time.
Every pet is a folder. Every folder is a Pokédex entry. Every entry is one npx petdex install away.
Quick start
Follow this checklist to get a pet installed, visible in Codex, and connected to the desktop app.
- Install a known pet:
npx petdex install boba
You should see ~/.petdex/pets/boba/ with pet.json and a spritesheet.
-
Get the desktop app from petdex.dev/download. It runs on macOS, Linux and Windows.
-
Open it, then hit Cmd+, over the pet to open Settings. Pick your pet under Pets, and connect your coding agents under Agents with one click each. No terminal involved.
The pet floats above your workspace and animates on every tool call your agent makes.
For users
| You want to... | Do this |
|---|---|
| Browse pets | Visit petdex.dev |
| Install a pet | npx petdex install <slug> |
| Switch active mascot | Open Settings in the desktop app (Cmd+,) |
| Run the desktop floater | Download it from petdex.dev/download |
| Make a pet | Use the hatch-pet skill inside Codex, or build one with the Petdex creator tools |
| Submit a pet | npx petdex submit ./my-pet/ or drop it through the web submitter |
| Join the community | Discord |
Full CLI reference: packages/petdex-cli/README.md.
For builders
If you want to build on top of Petdex (a desktop client, a wearable, an SDK, a Discord bot, anything), you have two stable surfaces:
- The HTTP API.
petdex.dev/api/manifestreturns every approved pet with its slug, spritesheet URL, animation states, and metadata. - The pet package format. Every pet is a
pet.jsonplus aspritesheet.{webp,png}rendered as an 8x9 grid of 192x208 frames, or the v2 8x11 grid.
21 open-source and source-available projects already build on these. See petdex.dev/built-with for the catalog, then submit yours via the issue template.
Architecture
crafter-station/petdex
├── src/
│ ├── app/[locale]/ Public site: gallery, /pets/<slug>, /collections, /built-with, /community, /create, /download, /submit, /u/<handle>, ...
│ ├── app/api/cli/ CLI endpoints: OAuth config, submit (zip → presigned R2), dedup check, register
│ ├── app/api/manifest/ Public manifest: every approved pet with its spritesheet URL
│ ├── app/api/admin/ Admin review surface for submissions, edits, collection requests
│ └── lib/db/schema.ts Drizzle schema (Postgres)
├── packages/
│ ├── petdex-cli/ npm `petdex` catalog client (auth, list, install, submit)
│ ├── petdex-desktop-native/ Native SDK floating mascot for macOS, Linux and Windows
│ ├── petdex-desktop-windows/ Legacy Tauri Windows implementation (not the release path)
│ └── discord-bot/ Discord.js bot for the Petdex server
├── public/built-with/ Screenshots for the community page
├── public/brand/ Logos, OS icons, Discord icon
└── drizzle/ SQL migrations (Postgres schema history)
Web stack: Next.js 16, React 19, Tailwind, Drizzle, Postgres, Redis, Clerk, R2.
CLI: Bun + TypeScript, ships as a single npm binary. Auth via Clerk OAuth + PKCE.
Desktop: Native SDK app with an in-process Zig hook server on 127.0.0.1:7777. The current release path has no WebView or Node sidecar.
Develop locally
Two paths are supported.
| Goal | Command | Setup |
|---|---|---|
| Local full stack | bun run dev:docker | Docker or Podman, ~30s warm-up. |
| Run against real services | bun run dev | .env.local filled (maintainers only). |
git clone https://github.com/crafter-station/petdex.git
cd petdex
bun install
bun run dev:docker
Open localhost:3000. Full guide in CONTRIBUTING.md.
Pet package format
Every pet is two files:
my-pet/
├── pet.json Metadata: name, slug, tags, vibes, kind, frame size, animation states
└── spritesheet.webp 8x9 or v2 8x11 frame grid of 192x208 px each (or .png)
The native renderer supports nine state rows: idle, running-right, running-left, waving, jumping, failed, waiting, running, and review. Codex and the supported coding agents map their activity hooks to these states. The v2 8x11 atlas leaves two additional rows available to the consuming client.
Contribute
- Submit a pet: petdex.dev/submit or
npx petdex submit <path>. - List your project: open a Built with Petdex issue.
- Fix a bug or add a feature: read
CONTRIBUTING.md, then open a PR. - Hang out: Discord has channels for shipping (
#wip,#ship-or-sink), feedback (#cli-feedback), and showcases (#showcase).
Pet IP and takedowns
Pets are user-submitted fan art. Petdex does not claim rights to any underlying IP. If you hold rights to a character and want a pet removed, file a takedown request and we review within 48 hours.
License
The source code is MIT. Pet assets are owned by their submitters under whatever license they choose to declare.
Made by Crafter Station. Lead: @RaillyHugo.
Files in the repo
- .agents
- .github
- .opencode
- docs
- drizzle
- packages
- patches
- pets
- plans
- public
- scripts
- src
- workers
- .env.dev
- .env.example
- .env.mock
- .gitignore
- AGENTS.md
- biome.json
- bun.lock
- CLAUDE.md
- components.json
- context7.json
- CONTRIBUTING.md
- docker-compose.dev.yml
- drizzle.config.ts
- LICENSE
- next.config.ts
- package.json
- postcss.config.mjs
- README.md
- skills-lock.json
- tsconfig.json
- wrangler.petdex-assets.toml
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More tools
The best-benchmarked open-source AI memory system. And it's free.
Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.