dshbase

Plugin directory / Developer / petdex

petdex

Verified · install-tested on dsh crafter-station

✓ Actively maintained 37 contributors Pure TypeScript

View on GitHub ↗ ← Back to plugin directory

3975Stars
189Forks
25Open issues
TypeScriptLanguage
2026-08-26Last push
Cross-platformPlatform

What it does

A public gallery of animated pets for Codex, Claude Code, DeepSeek Harness, Hermes, OpenCode, Gemini CLI, and more.

Our take
Recommended — verified working and popular

A public gallery of animated pets for Codex, Claude Code, DeepSeek Harness, Hermes, OpenCode, Gemini CLI, and more. It installs cleanly and boots without issues in our testing. With 3975+ stars it's a community-endorsed, low-risk pick.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

Petdex

Petdex

The public gallery of animated companions for Codex.
Browse, install, and submit pets with one command.

petdex.dev  ·  Built with Petdex  ·  Discord  ·  npm

npm version GitHub stars MIT license GitHub issues


What is Petdex

Petdex is three things working together:

  1. A web gallery at petdex.dev where the community submits, reviews, and showcases animated pets in the Codex sprite format.
  2. A CLI that installs any pet on your machine with one command and ships them straight into Codex.
  3. 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.

  1. Install a known pet:
npx petdex install boba

You should see ~/.petdex/pets/boba/ with pet.json and a spritesheet.

  1. Get the desktop app from petdex.dev/download. It
    runs on macOS, Linux and Windows.

  2. 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/manifest returns every approved pet with its slug, spritesheet URL, animation states, and metadata.
  • The pet package format. Every pet is a pet.json plus a spritesheet.{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

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.


Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install petdex for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:crafter-station/petdex

Headless (CLI) profile:

dsh plugin --profile headless add github:crafter-station/petdex

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

When to use it

Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.

Who it's for

Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.

For developers — extending it

The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.

⚠ High risk static scan · 25 files · 2026-08-27
  • Dangerous command (high)

Share this badge

More in Developer

Browse all 7795 plugins →