About these docs
This site is the estate’s documentation platform for tcp.systems. It is a static
build of Markdown that already exists in the repositories that own it, wearing the
estate’s design canon. Nothing here is deployed; the build output is a directory and
the deploy is a decision, not a detail.
What builds it
Section titled “What builds it”| Part | Where it lives | What it does |
|---|---|---|
| Generator | docs/docs-site/package.json | Astro with the Starlight integration, pinned to exact versions |
| Config | docs/docs-site/astro.config.mjs | Picks the brand file at build time from DOCS_BRAND |
| Theme | docs/docs-site/src/styles/canon.css | The canon’s faces, size ramp, geometry, shadow and motion, mapped onto Starlight’s variables |
| Brand | docs/docs-site/src/styles/brands/ | One file per front door: the accent, and on tcp.systems the Wire data colour |
| Fold | docs/docs-site/scripts/sync-docs.mjs | Reads this repository’s own docs, injects frontmatter, writes the pages |
cd docs/docs-sitenpm install # 279 packages, measured 2026-10-21npm run build # folds the sources, then builds to dist/DOCS_BRAND=foxcore npm run buildThree brands build from one content pipeline:
tcp— Ember for action and identity, Wire#1F6F6Blight /#6FC3BCdark for measured data only.foxcore— Ember only. No data hue: a measured value is marked by a rule and tabular figures.xenode— inherits Ember; machine-first labels, so navigation and eyebrows are set in Commit Mono.
Why a fold and not a copy
Section titled “Why a fold and not a copy”A copy drifts. The capacity programme, the wayfinder map and the worker fleet are operating documents that change when the company changes; a docs site that holds its own duplicate of them is wrong within a week and nobody notices, because the wrong copy is the one people read.
So the pages for those sections are gitignored build artefacts. The committed document is the source. The fold fails the build when a source disappears, rather than shipping an empty section.
What this surface does not do
Section titled “What this surface does not do”- No third-party request. Fonts are self-hosted from
docs/docs-site/public/fonts, 55,504 bytes for four files. Search is Pagefind, indexed at build time. No analytics, no font CDN, no embedded video. - No second palette. Values come from the canon; a brand file may set an accent and nothing else.
- No decorative motion. Hover and focus only. Nothing enters, nothing counts up, nothing shimmers.
- No card shadows. A card is separated by a hairline. One shadow exists, and it belongs to overlays.
The canon this follows
Section titled “The canon this follows”The design canon is a decision document in the Foxcore ops repository
(foxcorecloud/ops, docs/design/design-direction-v2-2026-10-21.md): two faces, one
hue per front door, one radius, one shadow, a motion contract and a banned-tells
registry. This site implements it rather than restating it, so the canon has one home.