Skip to content

Profiles

A profile swaps vocabulary and a few optional blocks — not the spine shape. Pick the one that fits the work; the safe-regeneration machinery underneath is identical.

ProfileForWork unitProduces designs
softwareFeatures, code work, PRswork packageyes
generalCampaigns, org changes, researchworkstream / deliverableno
contentEditorial series, campaigns with key artpiece / assetyes
design-systemComponent & token librariespartyes

You choose the profile at init. It’s recorded in .groundwork.json and read by every action.

design-system adds its own spine docs (a parts gallery + a per-part quality gate) on top of the standard six. Tokens, fixtures, and a quality gate per part — with a living gallery that tracks what’s locked, tier by tier.

A design-system profile's living gallery — foundations and components rendered against their own tokens

Profiles are data: a profile.json (vocabulary + optional blocks + spine overrides) plus any template overrides. Drop your own under profiles/<name>/ and init --profile <name> resolves it like a built-in, once it passes the conformance gate. The four built-ins are the canonical worked examples.