Skip to main content
A separate app. It’s a hub mounted at /synclair that runs on its own server (port 4100). It is not a dependency your product imports and not a runtime part of your app — it documents your app. In watcher mode it’s literally a separate repo beside the product; in embedded mode it shares the repo but still runs as its own app on its own port.
There isn’t one — git is the database. Every fact (tokens, component docs, knowledge digests, the system map) is a plain file committed to the repo. Sync between people is git pull / git push. A real database only enters the picture if you host one shared Synclair at a single URL, where per-user real-time state (comments, presence) would need somewhere to live. Running locally from a clone — the normal case — needs no database.
Not necessarily — it depends on the topology you install with, one repo or two:
  • Watcher (two repos) — Synclair is a separate repo beside yours. Your repo is untouched; no monorepo. Recommended for existing apps.
  • Embedded (one repo) — Synclair shares the repo. Either the clone is your repo (a new project built in it), or Synclair is co-located — vendored into your existing repo at ./synclair, isolated so builds don’t collide. Co-locating is the only case that adds a subdirectory to your repo, and it’s opt-in, not the default.
Yes — modify anything. Your clone is yours and diverges freely. The three-layer model tells you what’s safe to change without making future foundation updates painful: seed (your brand/knowledge/catalog) changes freely; adapter swaps per platform; heavy changes to brain (the hub UI, guardrails) are possible but better contributed upstream than privately forked.
Storybook executes your components in isolation — a component workshop tied to your stack. Synclair documents your whole design system (tokens, components, knowledge, system map) and its second audience is AI agents. They can coexist. Full comparison on the Synclair vs. Storybook page.
It works with any agent. Skills are portable markdown with a described when; Claude Code auto-surfaces them, and any other tool (Cursor, Copilot, Codex, Gemini) reads the same SKILL.md when a task matches. The router is AGENTS.md precisely so every agent reads one map.
The hub UI is Next + shadcn + Tailwind — and that’s unrelated to what your app is built in. A React Native or SwiftUI project still gets the same web-based hub; only the adapter changes to depict and export for your platform.
Deliberately, never automatically. Your clone keeps the foundation as a git upstream remote, so you pull improvements as an ordinary git merge when you want them — handled by the synclair-sync skill. Your seed (brand, domain, knowledge) never syncs in either direction.
Typically no — it’s a local/internal tool each teammate runs from a clone, the way you’d run a docs or design-system site. It can be hosted at a shared URL, but that’s the case that introduces the need for a real database (see above).
4100, not 3000 — so it doesn’t collide with your app’s dev server. You browse the hub at localhost:4100/synclair. The port and the mount path are both configurable.

Didn't find it? Start from the top

The overview, and links into every section of the handbook.