Stakeholder-Facing UI Routes
The pages of a registry meant for non-developer stakeholders to browse.
A registry isn't only an API/MCP endpoint; it's a browsable site. All of these routes read
through getDataProvider() (see Model), so they render whatever's been
pushed and show a useful empty state before anything has.
Foundations
/foundations and its sub-pages, the visual design-token reference for designers and
stakeholders, not just developers:
| Route | Shows |
|---|---|
/foundations | Landing page linking to every foundation below. |
/foundations/colors | Color palette, semantic tokens, light/dark usage. |
/foundations/typography | Type scale, families, sizes, weights, line heights. |
/foundations/spacing | Spacing scale for margins/padding/gaps. |
/foundations/border-radius, /effects, /elevation, /grid, /motion | The remaining token categories, one page each. |
/foundations/logo | The client logo, for all digital/offline materials — reads the logo set. |
/foundations/icons, /foundations/icons/[name] | The icon catalog and per-icon detail. |
/foundations/assets, /foundations/assets/[id] | General asset browsing (uploads, non-icon/logo media). |
/foundations/[...slug] | Catch-all for hand-authored/overridden foundation markdown pages, see Concepts → Pages / docs. |
System
/system, the developer/QA-facing counterpart to Foundations, oriented around components and
health rather than tokens:
| Route | Shows |
|---|---|
/system | Landing page. |
/system/component, /system/component/[component] | Component catalog and per-component doc/preview, see Concepts → Components. |
/system/pattern, /system/pattern/[pattern] | Saved pattern catalog and detail. |
/system/changelog | The unified changelog UI, see Concepts → Changelog / audit. |
/system/health | Validation health-score trend, built from handoff_validation_run snapshots recorded on push. |
/system/figma-sync | Figma component audit results — drift between Figma components and locally registered ones. |
Assets, design, and playground
| Route | Shows |
|---|---|
/assets, /assets/[id], /assets/fonts, /assets/logos | The general asset library — browse, filter by collection/type; fonts and logos get dedicated sub-views. |
/patterns | Saved layout patterns, searchable/browsable outside the /system/pattern developer view. |
/playground | The interactive pattern builder — compose component blocks into a saved pattern. |
/design, /design/library, /design/library/[id], /design/assets | The AI design workbench — generate/review design artifacts, browse the design library, see Concepts → Design artifacts. Requires HANDOFF_AI_API_KEY (or a cloud AI proxy) to be configured. |
Account (any signed-in user)
| Route | Shows |
|---|---|
/account | Profile — name, email, avatar. |
/account/appearance | Structured UI customization (logo, color/font overrides) — the handoff_registry_appearance singleton row, see Singleton config rows. |
/account/integrations | Linked accounts (e.g. Figma) and personal integration settings. |
/account/ai-cost | The signed-in user's own AI usage/cost, from handoff_event_log. |
/account/users | User invite/role/remove management. Admin only: see Auth → Roles & invites. |
Admin (admin role required)
| Route | Shows |
|---|---|
/admin/pages | The page/doc manager — create, edit, and organize markdown pages. |
/admin/builds | The merged component-build + design-asset-extraction job queue. |
/admin/ai-cost | Registry-wide AI usage/cost (vs. /account/ai-cost's per-user view). |
/admin/integrations | Registry-wide integration status/config. |
/admin/reference | AI-generated reference materials (design guidelines, brand voice) — view or regenerate. |
/admin/users | Redirects to /account/users — user management lives there, not under /admin. |
Developer
/developer, reference material and setup guides aimed at the engineers integrating with a
registry, mirroring this docs site's own Workspace/API/MCP
pillars from inside the running registry itself:
| Route | Shows |
|---|---|
/developer | Landing page linking to the five below. |
/developer/cli | CLI reference — install, authenticate, push/pull/fetch/build. |
/developer/api | Interactive OpenAPI 3.1 explorer. |
/developer/mcp | The MCP tool catalog, generated from the same getMcpToolCatalog() source as MCP → Tool catalog. |
/developer/push-pull | What push:all sends and how pull writes changes back. |
/developer/local-setup | OAuth device login, MCP config for Cursor/Claude, running push/pull locally. (/dev/local-setup redirects here.) |
Auth pages
/setup, /login, /reset-password, and /cli/device (the device-code approval page), see
First-admin setup and
MCP → Authentication for /cli/device
specifically.
Empty states before the first push
Every route above renders through getDataProvider(), so a freshly deployed, unpushed registry
doesn't error, foundation/system/asset pages show an empty or "nothing pushed yet" state
rather than a crash. Push content with handoff-app push:all to populate them, see
Deploy.