Skip to content

keryx theme

Manage the theme catalog — keryx's config-driven aesthetic profiles (palette, style, music tone, voice). Themes live in config, never in code — see the Themes concept.

keryx theme list
keryx theme show  <keyword>
keryx theme add   <keyword> [--from <keyword>] [--set key=value ...]
keryx theme edit  <keyword>  --set key=value ...
keryx theme rm    <keyword>
Flag Subcommands Meaning
--from add clone an existing theme as a starting point.
--set add, edit set a dotted field, repeatable; each --set is one whole value (commas are kept, so prose styles like --set "style=Neon, glowing" are safe); values coerce to bool/int/float when unambiguous (e.g. voice.stability=0.74, palette.amber=#E8923B, card.mode=block).

Add --output json for machine-readable output (R-GLOBAL-3).

There is no --type

A theme is an aesthetic, and an aesthetic has no type. What makes a cover 16:9 and a card 9:16 is the target being generated, which keryx supplies itself (spec 0047). One list, and any theme usable for any output.

--type was removed outright rather than deprecated — see Themes for what to run if your config still has the old layout.

Examples

keryx theme list                 # the whole catalog (* marks the default)
keryx theme show editorial
keryx theme add editorial-steady --from editorial --set voice.stability=0.74
keryx theme edit clay --set music.gain=0.18
keryx theme rm editorial-steady

Behaviour & contracts

  • list prints one flat list and marks the default — R-THEME-1.
  • add creates/clones and persists via the config layer; a keyword identifies exactly one theme, so a duplicate is refused — R-THEME-2, R-THEME-3.
  • add claims the default only when the catalog has none; a later add never changes it.
  • edit round-trips (--set then show reflects it) — R-THEME-4.
  • rm refuses to delete the default — R-THEME-5.
  • Writes go to the active config file; secrets are never written there — R-CFG-2.

See also