How the four dimensions differ
Each dimension has a different rigidity profile — knowing which is which tells the agent what to honor literally and where to use judgment.| Dimension | Rigidity | What the pack ships | What the agent does |
|---|---|---|---|
| Style | Literal | A canonical style.css — palette tokens, type, focus ring, motion guard, buttons, decor | Inline the pack’s CSS verbatim; author with its classes. Never re-create the brand’s look by hand. |
| Voice | Rules-literal, application-interpretive | A machine-checked banned-phrase list + prose on tone and CTA discipline | Honor the banned list absolutely; apply the tone guidance to the actual copy. (Voice ships no CSS.) |
| Shape | Interpretive | A description of the kind of page — a guide, a content schema, structural invariants | Infer the specific layout from the topic, the style, and the voice. (Shapes ship no layout CSS.) |
| Valence (optional) | Pure interpretive | Prose only — a hint per vertical | Lean toward what it suggests inside the shape’s freedom. Nothing fails verify if it’s ignored. |
local-service landing page meaningfully different from a saas one, without changing how the site sounds or looks.
Dark mode
When the playbook or workspace declares dark mode, every emitted page wires up a dark/light toggle. sitekit owns the contract — thedata-palette attribute on <html>, persistence under a localStorage key, and a first-paint script that reads the OS preference to avoid a flash. The agent writes the button and the toggle logic; the active style pack must declare both a light and a dark palette (that pairing is verified).
Saved playbooks
When you’ll build several pages with the same composition, save it once and re-run by name:- Workspace (default) —
<workspace>/playbooks/<name>.json, committed alongside the site. - Global (
--global) —~/.config/sitekit/playbooks/<name>.json, shared across every site.
default_playbook so sitekit run resolves it with no positional name at all — which is what sitekit init --shape=... --voice=... --style=... sets up for you.
How packs resolve
Whenever sitekit looks up a voice, style, shape, or valence by name, it resolves in three tiers and takes the first match:Site-local
Packs in your workspace (
<workspace>/voices/, <workspace>/styles/, …). Project-specific, committed with the site.Workshop
Your machine-local library at
~/.sitekit/. Packs you authored or captured, reusable across every project.Learn the dimensions
Style packs
The visual dimension and the twelve bundled styles.
Shapes & tiers
Page types, the platform shape, and the tier ladder.