CLI

Every schema’d API domain is a command group, generated from the manifest and registered by construction — domain names are singular: peer10 season list, not seasons. peer10 --help is always the authoritative list.

Auth

peer10 login --api-key <key>                              # recommended for scripts
PEER10_SUPABASE_ANON_KEY=<anon> peer10 login <email> <pw>  # password login
peer10 whoami

The grammar

peer10 <domain> list [--filters...]
peer10 <domain> get <id>
peer10 <domain> create [--fields...]
peer10 <domain> update <id> [--fields...]
peer10 <domain> remove <id>
# plus domain verbs in kebab-case:
peer10 season get-timeline
peer10 season get-health <id>

Output for pipes

peer10 season list --json | jq '.data[].name'
peer10 game list --quiet | head        # IDs only
peer10 player list --csv > players.csv

Hand-written where it matters

status, voice, changesets (the simulation-first workflow) and admin api-keys are hand-written and better than their generated equivalents would be; the generator deliberately skips those domains.

CLI — Peer10 Developers