Config commands
Pick, create, and install document themes, and generate docs from external sources like OpenAPI.
avo theme
Six built-in themes (textbook — the default — minimal, soft, dark,
teal, slate) plus your own custom themes:
avo theme # interactive picker — built-ins + saved themes (✓ marks current)
avo theme list # list built-ins + saved themes (global + project, marked)
avo theme use dark # set the project theme (shorthand: avo theme dark)
avo theme use sunset --global # set the default for EVERY project (~/.avodado/avodado.theme.json)
avo theme new sunset [--global] # scaffold a new custom theme to fill in
avo theme install ./my.theme.json # validate + add a theme GLOBALLY (~/.avodado/themes)
avo theme install ./my.theme.json --local # …or only this project (.avodado/themes)A theme file picks a base theme and overrides any friendly color (primary,
accent, ink, paper, …) or font slot (display, body, mono). No
rebuild — just re-render. What each built-in looks like:
Slides & theming.
avo sync
Generate Avodado content from an external source — OpenAPI specs and CSV exports:
avo sync openapi spec.yaml --out docs/api.md # whole API doc (--check fails on drift, for CI)
avo sync csv sales.csv # ready-to-paste block on stdout (copied to the clipboard in a terminal)
avo sync csv sales.csv --out docs/sales.md # …or wrap it in a new doc and validate itThe generated output is normal Avodado Markdown you can edit and validate
like any other doc. The MCP server exposes the same OpenAPI import as the
sync_openapi tool.
avo sync csv auto-picks the best block for the data — a status-like column
makes a statustable, numeric columns make a chart, anything else a
table — and prints the reason; override with
--block table|statustable|chart. --title names the doc (with --out) and
--delimiter ","|";"|"tab" overrides the auto-detected separator. Parse
warnings go to stderr; a CSV that can't be imported (e.g. an unterminated
quote) exits 1.