Auf dieser Seite
System

How It Works

tokens.ts ──→ tokens.css ─────────┐  ({{ TOKENS_CSS }})
                                  ├──→ injected into ──→ templates/*.html ──→ pdf.ts/image.ts ──→ PDFs / PNGs
css/components.css ───────────────┘  ({{ COMPONENTS_CSS }})        ▲
  (catalogued in components.meta.ts)                                       │ compose from shared classes,
     │                                                                     │ not re-implemented inline
     ▼
site/*.njk  ──→  11ty  ──→  brand/dist/site/  ──→  website /brand/  (via git submodule)

Two layers are the single source of truth, and both feed every output. tokens.ts → tokens.css defines colors, type, and spacing; css/components.css defines the reusable components (steps, stat rows, testimonials, buttons, cards — catalogued in components.meta.ts and shown in the Library). Templates, documents, and social assets source both at render time{{ TOKENS_CSS }} and {{ COMPONENTS_CSS }} — so a LinkedIn card composes from the same component vocabulary the website uses, instead of forking a second copy. Components sit above tokens (their classes reference var(--…)), so tokens inject first. This is the composition discipline applied across formats: design a component once, use it everywhere.

Scripts

Build Scripts

ScriptCommandPurpose
build:tokenstsx scripts/build-tokens.tsRegenerate tokens.css + tokens.json from tokens.ts
build:assetstsx scripts/export-assets.tsRegenerate all raster assets + document previews (Playwright, slow)
build:sitebash scripts/build-site.shRender Brand Site → dist/site/
build:kittsx scripts/build-kit.tsAssemble dist/brand-kit/ + dist/brand-kit.zip
build:distbash scripts/build-dist.shMeta: tokens → assets → site → kit
build:skillbash scripts/build-skill.shPackage dist/escape-velocity-brand.skill
dev11ty --serveServe Brand Site at localhost:3000/brand/ with live reload
pdftsx generators/pdf.tsMarkdown → branded A4 PDF
imagetsx generators/image.tsHTML/SVG → PNG (banners, social)
prestsx generators/presentation.tsMarkdown → slide deck (HTML viewer + PDF + PNGs)
Token Workflow

Updating Tokens

1

Edit brand/tokens.ts — Change colors, fonts, or spacing values

2

Run npm run dev in brand/ — Brand Site at localhost:3000/brand/ updates live as you tweak tokens

3

Commit and push the brand repo — that becomes the new "release" the website can consume

4

In the website repo: git submodule update --remote _brand → commit the new pin → deploy. The live /brand/ page now reflects the new tokens.

Source Reference