open source  ·  GPL-3.0

One source of truth, in sync for humans and agents.

Synclair is an open-source project foundation: one shared surface for your design tokens, components, knowledge, and AI context. Humans browse it. Agents build from it. Nothing drifts.

View on GitHub
The Synclair hub overview — live counts of components, skills, and agents, plus recent changes across code, docs, and design

The hub — the management space where humans explore what agents consume. Every count reads live from the repo.

tokens ⇄ synced components ⇄ synced knowledge ⇄ synced ai context ⇄ synced
The problem

Humans and AI are building from different truths.

Product teams now build alongside AI — but the people live in Figma, Notion, and Drive, while the AI starts every session blank, re-deriving context and drifting from the design system. Synclair is the one surface both read from, so nobody works from a different truth.

curate build Product team PMs · design · engineering AI teammates any agent & its diggers Synclair one shared surface tokens · components knowledge · context

The same bytes power both sides — the docs a person browses and the context an agent loads come from one place.

How it works

Seed it. Build from it. It documents itself.

01

Seed it

Clone Synclair beside a new or existing project. Digger agents read your code, PRDs, and Figma and fill the hub — it starts full, not blank.

02

Build from it

Agents load the same truth humans browse, so every session starts oriented. Guardrails keep generated work on your design system.

03

It documents itself

Whatever you build writes back into the shared surface, so the next thing starts from everything built before it. Nobody stops to write docs.

Knowledge flywheel faster every turn Diggers explore code · PRDs · designs seeds it once Build a view or component Document as you build Knowledge next build starts here
A crew of specialists, not one know-it-all: Explorers survey the sources Retrievers fetch just what the task needs Builders stay on your system Reviewers check the work
Why it can't drift

One source, two renderings.

Every fact lives once in the repo and is projected two ways: an HTML page a person browses, and a machine-readable form an agent loads. Same bytes — they can't drift.

One source every fact, once, in git Human view browsable HTML pages Agent view machine-readable context

Multiplayer without a server — git is the database. Each person runs the hub from a clone; no accounts, no backend. Sync is git pull / git push.

What's inside

Everything that drifts, kept in one place.

Every project accumulates four things that fall out of sync: the design tokens, the components that implement them, the knowledge behind them, and the context an AI agent needs to work on all of it. Synclair keeps them in one governed, browsable place.

--token-*

Design tokens

Change a token once; everything downstream agrees. A governed token vocabulary with tiers — browsable by people, machine-readable by agents.

The Foundations page — token swatches rendering live from the theme
<Component />

Component library

What you see in the library is what the app renders — never a stale mirror. Components, blocks, and templates documented next to the code that ships them.

The component library — live-rendered previews with origin and usage filters
knowledge/

Knowledge

Link, don't copy. Specs, PRDs, and Figma stay canonical where they live — Synclair holds the distilled brief, linked to its source, so it never goes stale the day the doc is edited.

.claude/

AI context

Agents never start blank. Skills, agents, and MCP setup wired in from day one, so every session begins already knowing your tokens, patterns, and decisions.

/ overview /foundations tokens /components library /knowledge sources of truth /ai-setup skills & agents /system codebase map

Yours to take anywhere

The workbench UI is Next.js + shadcn, but what it governs is platform-neutral. One adapter seam retargets the whole foundation — web today, React Native via react-native-web.

Read the layer diagram →
Get started

Clone it, seed it, build.

Synclair ships as a blank foundation — ready to seed with your brand, theme, and knowledge. It works two ways:

new projectThe clone is your repo

Start from the foundation: reseed brand, theme, and knowledge sources, then build your product on top of a design system that's already governed.

existing appRun it beside your code

Intake agents survey the codebase and catalog its tokens, components, and docs into the hub — your app gets a shared surface without changing a line of it.

terminal
$ git clone https://github.com/joshuaiwata/synclair.git $ cd synclair $ npm install && npm run dev → ready on http://localhost:4100
Built on Hatchable