Petfolio
ChatGPT Pets compatible
Gallery

Petfolioone issued every morning

Pets for your coding agent. Issued daily.

Each one stands for something we actually shipped, and comes with a ticker, an edition number and a hash. Free to hold. Install one in a line or request your own.

No account, no card. Works as a ChatGPT / Codex pet, and in Claude Code, Cursor, OpenCode and Gemini CLI through OpenPets.

Today's issueNo. ··· $····   Issued· Hash· Supply1 Pricefree Hold it

THE COLLECTION

Every issue so far.

Every card is a finished pack with its ticker, edition and hash. Install it with one line, download the zip, or open it to see all nine states.

Loading the gallery...

All of them

WHAT YOU GET

A zip, not a screenshot.

Frames cut to cell size, alpha cleaned, the whole sheet checked against OpenAI's validator before it reaches you. A sheet that fails does not ship.

8 rows of states 192 x 208 per cell
Plate I  ·  Lil Mayo, row 02, run right
57 frames transparent, validated
  • A 1536 x 1872 atlas, 8 by 9 grid of 192 x 208 frames
  • 57 frames across 9 states: idle, running, waving, jumping, failed, waiting, working, review
  • A pet.json manifest, named and pointed at the sheet
  • Clean alpha, so no colored halo on a dark terminal
  • One zip, one folder, no build step

HOW IT WORKS

Four steps. About two minutes.

Answer four short questions. The builder draws the base pose, builds eight animation rows from it, cuts every frame and assembles the atlas while you watch.

  1. 01 Style.

    Pixel, clay, plush or sticker. Everything after follows that choice.

  2. 02 Character.

    What it stands for, and what it looks like. The side project, the bug that would not die, the dog.

  3. 03 Details.

    Name it, color it, add one specific detail.

  4. 04 Hatch.

    Base pose, eight rows, every frame cut and checked.

WHERE IT LIVES

One file. Every harness.

Codex reads the format natively and ChatGPT on the web takes the same atlas as an upload. OpenPets runs the same file in Claude Code, Cursor, OpenCode and Gemini CLI. A build for whatever comes next follows when its format is published.

Codex Desktop app and CLI. Native. The folder is ~/.codex/pets/. Install guide
ChatGPT web Personalization, Pets, upload the atlas from the zip. It wants a transparent PNG or WebP at exactly 1536 x 1872, under 20 MiB. That is what every pack holds.
OpenPets The bridge. Same file in Claude Code, Cursor, OpenCode and Gemini CLI. How
Whatever comes next When a new surface publishes its format, the same companions get a build for it. The files you have now do not change.

INSTALL IN ONE LINE

Replace <id> with the last part of a gallery URL, for example byte-toad. The Install button on every card copies the line with the id filled in.

macOS and Linux
curl -fsSL https://3ps.online/pets/install.sh | sh -s -- <id>
Windows PowerShell
& ([scriptblock]::Create((irm https://3ps.online/pets/install.ps1))) <id>

Each script downloads the zip, unzips it into ~/.codex/pets/<id>/ (Windows: %USERPROFILE%\.codex\pets\<id>\) and tells you to restart the agent. Add --dir (or -Dir) to put it somewhere else. Both scripts are short and readable: install.sh, install.ps1.

THE MORNING ISSUE

Supply: one a day.

Every morning one new pet is issued. Most stand for something we shipped that week, and the tag says what. Each gets the next edition number and its own page. Send yours and it joins the queue with your name on it.

Submit yours

One email a day, the new pet and nothing else. Leave any time.

QUESTIONS

The things people ask.

What is a Codex pet, and is this the same thing?

Yes. Codex and the ChatGPT desktop app call the feature Pets: a small animated character in the agent's window that changes with what the agent is doing. Petfolio makes companions in that exact format. Other harnesses read the same format through OpenPets.

Is it free?

Yes. You describe it, we hatch it the next morning and email you the link. No account, no card.

Where do the files go?

On macOS and Linux, ~/.codex/pets/<id>/. On Windows, %USERPROFILE%\.codex\pets\<id>\. The folder holds pet.json and the sprite sheet. Restart the agent and it is there. The one-line installer does exactly this.

Does it work with Claude Code, Cursor or Gemini CLI?

Through OpenPets, which bridges the Codex pet format to Claude Code, Cursor, OpenCode and Gemini CLI. The same atlas installs unchanged.

Can I use one in ChatGPT on the web?

Yes. Personalization, Pets, upload the atlas from the zip. ChatGPT accepts a transparent PNG or WebP at exactly 1536 x 1872 pixels, no larger than 20 MiB, which is what every pack holds.

What is in the download?

A zip holding a 1536 x 1872 transparent atlas, 8 columns by 9 rows of 192 x 208 frames, one row per state, plus the pet.json manifest.

Why do sprites from other tools have ugly edges?

Most of them scale after cutting frames, which leaves color on pixels that should be fully transparent. You see it as a halo on dark backgrounds. Petfolio exports at native cell size and cleans the alpha.

Is it checked before I get it?

Yes. Every pack runs through OpenAI's open-source pet validator before it is zipped. A sheet that fails does not ship.

What are the ticker and the number on each card?

Its ticker, its edition (the first one published is No. 001), the day it was issued, and a short hash of its sprite sheet. The same marks are on its page.

What is the small tag on a card?

What that pet stands for: a project, a workflow, a skill or agent we built, a keepsake from home. Puns do not get one. A pet you request stands for whatever you tell us it is for.

Can I put my own in the gallery?

Yes. Submitted companions get their own page with your name and a link back to you. Use the submit page. Submissions are reviewed each morning.

Hold one.

Or have one made. Say what it stands for and how it should look, name it, leave an email. It is issued the next morning and the link comes to you.

No puts. Holders only.

MADE BY

One person in Kentucky. Petfolio is built in Elizabethtown, Kentucky. The companions in the gallery are free to use.