The command line
One command. It puts omarchy-pets, one file needing Python 3.11 or newer, into ~/.local/bin after checking it against /cli/omarchy-pets.sha256, adds that folder to your PATH where it is missing, and lists your pets.
sh -c "$(curl -fsSL https://omarchy-pets.com/install.sh || echo 'exit 1')"
Pets live in ~/.omarchy-pets/pets. The first run offers to copy the pets you have in ~/.codex/pets; the originals stay. Then omarchy-pets install <id> adds any pet from this site and the bar panel lists it. The script is at /install.sh to read first.
Sign in the command line
omarchy-pets login prints a code. Sign in to approve it here.
Install pets
No account needed. Each pet gets its own folder in ~/.omarchy-pets/pets; open the bar panel to pick it.
One pet, by the id on its page
omarchy-pets install <id>Every pet in a collection
omarchy-pets install --collection <slug>
--force- Replaces a copy whose sheet differs from the one on this site. Without it that copy is left alone, and an identical copy reports "already installed".
--dir <path>- Installs into another directory instead.
Publish a pet
Sign this machine in once. It prints a code and opens this page to approve it.
omarchy-pets loginPublish a pet from ~/.omarchy-pets/pets. It asks for the kind when pet.json has none and for your word that you may publish the artwork, then prints the pet's page and its install command.
omarchy-pets upload <id>
A pet is a folder named after the id in its pet.json, holding pet.json and spritesheet.webp. The first run offers to copy your Codex pets from ~/.codex/pets; the originals stay. To publish straight from Codex's folder, add --dir ~/.codex/pets.
--kind <kind>- object, animal, person or creature, instead of the question.
--tags <a,b>- Up to eight tags, separated by commas.
--yes- Confirms you may publish the artwork, instead of the question.
--as <new-id>- Publishes under another id when the one in pet.json belongs to someone else. The folder keeps its name.
--dir <path>- Reads the pet from another directory.
What the site accepts: pet.json with an id of lowercase letters, digits and single hyphens, a displayName and a description; spritesheet.webp 1536 pixels wide and 1872 high for version 1 or 2288 high for version 2, at most 6 MiB. A 2288-high sheet needs "spriteVersionNumber": 2 in pet.json. The command checks all of this before it sends anything and names the fix.
One sheet, one pet: a sheet already published under any id is refused. Publishing your pet again with the same sheet says "already published" and sends nothing. An account can publish 20 times a day.
Update
A pet you published, with a new sheet: it becomes a new version of the same pet
omarchy-pets upload <id> --updateA pet you installed: your copy is replaced by the current version
omarchy-pets install <id> --forceThe bar plugin: update it, then restart the shell; the new version runs only after the restart
omarchy plugin update raiden-meixelysia.omarchy-petsRestart the shell
omarchy restart shell
To change only a published pet's name, description, kind or tags, use "Manage this pet" on its page; the sheet stays. To update the command line itself, run the install command at the top of this page again; it replaces ~/.local/bin/omarchy-pets.
Your pets and your account
The pets in your directory, with their sprite version and, when signed in, which are published
omarchy-pets listThe pets you published
omarchy-pets list --remoteThe account this machine is signed in as
omarchy-pets whoamiSign this machine out: the token is revoked and the credentials file deleted
omarchy-pets logout
omarchy-pets login --no-browser prints the approval address instead of opening a browser. The token is kept in ~/.config/omarchy-pets/credentials.json, readable only by you.
In scripts
One JSON object instead of prose; --json goes before the command
omarchy-pets --json list --remote
The exit code is 0 when it worked, 1 for something to fix, which the message names, and 2 for a network or server failure. Without a terminal nothing is asked and nothing is copied from Codex, so give upload both --kind and --yes. omarchy-pets --version prints the version.