create, list, show <id>, update <id>, delete <id>. Once you know how brand works you know how persona, ref, template, batch, asset, workspace, profile, and config work. This page documents the contract; the auto-gen reference covers per-resource flags.
The shape
delete removes both the on-disk file and the registry entry.
Worked example: brand
ralphy <resource> --help for the create-time flag set; the auto-gen reference has the full surface.
Resource map
For ref and template, the resource layer is the cheap CRUD shape; the heavy lifting (URL pulls, vision analyses, template loading) lives in dedicated verbs —
ralphy ref pull/frames/analyze/blueprint, ralphy template use/suggest.
Filters on list
Everylist returns the full set by default and accepts targeted filters. Common ones:
jq for arbitrary post-filtering:
Create vs. update
create requires a --name and rejects on collision (E_ALREADY_EXISTS). update requires the id and is additive — fields you don’t pass stay unchanged. There’s no “patch” / “replace” distinction; the verb merges into the existing JSON.
Delete is registry-aware
delete <id> removes the on-disk JSON and the registry entry together. Per AGENTS.md invariant #13, this is the only blessed deletion path. Don’t rm files directly — you’ll desync the registry and the next list will lie.
What’s not in CRUD
generate— model calls. Not a resource verb; see Generation verbs.render— the HyperFrames pipeline. See Rendering verbs.doctor/setup/status— env-level utilities. See Setup and doctor.assets(plural) — pulls from the companion repo, not local CRUD. See Assets.
Related
- Project verbs —
projectis the most-used CRUD resource - Templates —
templateCRUD plus the loader semantics - Concepts: workspace — where each resource physically lives
- Per-resource reference: /reference/cli/brand, /reference/cli/persona, /reference/cli/ref, /reference/cli/template, /reference/cli/batch, /reference/cli/asset, /reference/cli/workspace, /reference/cli/profile, /reference/cli/config