<!-- https://zerolog.ch/docs/buddy · Docs / Chat -->
Optional

# Buddy

A small collectible pet tied to your account. It appears as a card when you type `/buddy` in Claude Code inside a container terminal.

## Your pet

- **species**
- **rarity**
- **stats**

same look when you return

Species (one of 18), rarity from Common to Legendary, a possible shiny variant, eyes, a hat and five stats (debugging, patience, chaos, wisdom, snark) are worked out from your account. Nothing is stored for them, so your pet is always the same.

## Say hello

Type `/buddy` in Claude Code.

In a ZeroLog container, Claude Code prints your pet's card and greets you in its voice. Buddy is separate from the assistant and does not do your work.

## Name and limits

A name and personality are written once, by a low-cost model, when the pet hatches. Until then the card says the buddy is not hatched. The web chat has no Buddy corner and no `/buddy` command at the moment.

## Where Buddy comes from

Mermaid source of the diagram on this page:

```mermaid
%% Buddy: where the pet comes from and where it shows. Facts from server/buddy.js (buddyBones, species, rarities), server/routes/buddy.js (hatch), server/agent.js (provisionBuddyCommand).
flowchart TB
  acc["Your account"]
  bones["Species, rarity, shiny, eyes,<br/>hat, five stats: worked out<br/>from the account, never stored"]
  soul["Name and personality:<br/>written once at hatching<br/>by a low-cost model"]
  cc["/buddy in Claude Code<br/>inside a container"]:::hot
  card["Card in a code block,<br/>greeting in the pet's voice"]

  acc --> bones
  acc -.-> soul
  bones --> cc
  soul -.-> cc
  cc --> card

  linkStyle 2 stroke:#8f7ac9
  linkStyle 4 stroke:#8f7ac9
```
