Petty is a desktop pet app for playing pets that are compatible with the Codex desktop pet asset format.
The app ships with one built-in pet, Hana, and lets you import your own local pet folder from the settings window or the pet context menu.
- Plays animated desktop pets from a spritesheet.
- Supports the
hatch-petpackage shape:pet.jsonplusspritesheet.webp. - Includes one built-in pet:
resources/hana/. - Lets you import custom pet folders locally.
- Lets you switch pets from the settings window.
- Supports basic interactions such as click, double click, drag, and right-click context menu.
- Provides size controls and a debug overlay toggle.
To create a custom pet package, use the Codex hatch-pet skill:
https://github.com/openai/skills/blob/main/skills/.curated/hatch-pet/SKILL.md
After generation, import the resulting folder into Petty. The folder must include:
pet.json
spritesheet.webp
Install dependencies:
npm installRun the Vite frontend:
npm run devRun the desktop app:
npm run tauri:devRun the desktop app with devtools enabled:
npm run tauri:dev-consoleBuild the web frontend:
npm run buildBuild the native Tauri app:
npm run tauri:buildsrc/: TypeScript frontend.src/pet-runtime/: pet loading, rendering, state, behavior, and screen-surface runtime code.src-tauri/: Tauri host shell and platform integrations.resources/: built-in pet packages.docs/: product and technical notes.