open source · GPL-3.0

One view for
human+agent product teams.

Synclair gives your product one browsable surface — design system, components, knowledge, codebase map, and AI setup, live from the repo. Humans get visibility. Agents get context. Both stay aligned because they're reading the same place.

View on GitHub
synclair.dev / overview
The Synclair hub overview — live counts of foundations, components, blocks, skills, agents and MCP servers, plus recent changes across code, docs and design, all read live from the repo
Live from the repo
The hub renders straight from git — always current, never a snapshot.
Two renderings
One fact, projected as a page for people and a payload for agents.
Pull / push sync
No server, no accounts. Sync is just git.
Stays aligned
Humans and agents read the same place, so nothing drifts.
— 01 · the problem

Humans and AI build in the same repo —
but no one can see the shape of it.

You can't see which skills and agents are in play, and AI-written code quietly drifts from your system's rules of composability. There's no shared picture of what humans or agents are actually doing — so the two fall out of alignment. Synclair draws that shape: one surface where the whole repo's structure, work, and rules are visible to both.

Product team PMs · design · eng curate Synclair one shared surface tokens · components knowledge · context build AI teammates any agent & its crew
— 02 · how it works

Four steps from repo
to a living project surface.

1embed

Add Synclair to your repo

One clone drops a synclair/ folder into your repository — versioned in git, right beside your code. Nothing about your app changes.

your-repo/app/src/package.jsonsynclair/foundations/library/knowledge/lives insideyour repo
2map

Diggers discover and map your view, backend, docs and AI setup

Intake agents read your code, tokens, PRDs, and Figma, then map it all — components cataloged, tokens traced, briefs distilled. It starts full, not blank.

your-repo/app/src/package.jsonsynclair/foundations/library/knowledge/mapped
3surface

Your repo gets its own dashboard and registry for humans + agents

The whole project becomes one browsable surface. People explore it, agents load it — the same place, always current.

your-repo/app/src/package.jsonsynclair/foundations/library/knowledge/synclair.dev
4sync

Stewards keep what you build in sync with Synclair’s view

As you build, steward agents keep the library, docs, and tokens healthy, and git keeps the surface aligned with your code — every commit, both ways.

your-repo/app/src/package.jsonsynclair/foundations/library/knowledge/synclair.devgit
— 03 · the crew

A team of nerds
that work for your repo.

Specialist agents seed the hub from what you already have, then keep it healthy as you build. Four crews, each with a job.

Diggers
Read your code, tokens, PRDs, and Figma — and fill the hub with what they find.
codebase-surveyor · token-archaeologist · knowledge-harvester
Mappers
Chart what the codebase is made of and keep the system map current.
system-mapper · component-cataloger
Builders
Design, document, and assemble components into the living library.
ui-designer · design-system-architect · ux-doc-writer
Stewards
Keep the library curated, docs reviewed, and tokens healthy as you build.
library-curator · tier-arbiter · render-auditor
— 04 · what's inside

One surface,
everything the project knows.

library48 comp · 120 tokButtonCardInputBadgeModalTabsAa

UX mapping

Design system and component library, collected into one place — every token, variant, and live preview, traced to where it’s used.

knowledge42 docsPRDSPECBRIEFFIGMAone place

Knowledge base

Every PRD, spec, brief, and Figma manifest, gathered in one place and stored as-is — each linked back to its source, never a lossy copy.

ai setup12 skills · 8 agentsskills12agents8mcp servers+3

AI setup

See every skill, agent, and MCP server the project fields — the whole AI toolkit, listed in one browsable place.

system map3 tiers · 7 svcappsvcdatawebadminapiauthjobsdbcache

System & environment map

Services, environments, and dependencies collected into one diagram — how the whole system fits together, at a glance.

every surface, one click away · /synclair
Foundations/foundations

Design tokens — color, type, spacing — as one semantic vocabulary, lint-enforced.

Component library/components

Components, blocks, and templates in three tiers — each with a live preview and derived API.

Knowledge/knowledge

PRDs, specs, and Figma linked to their source and distilled for agents. Link, don't copy.

References/references

The project's research memory — prior art, competitive notes, and decisions with rationale.

System map/system

The backend at a glance — areas, API surface, data model, jobs, and integrations.

App sitemap/pages

Every route with a live preview and the components each screen is built from.

Reports/reports

Dated build reports with ranked, trackable recommendations — every count cross-checked against live data.

Hygiene/hygiene

An advisory sweep of where code steps outside its own foundation. It flags, never touches.

Environment/environment

The running stack, plus an opt-in check for whether your foundation has drifted behind upstream.

GitHub/github

Recent commits and diffs read straight from git. The activity feed is just git, rendered.

AI setup/ai-setup

Every skill, agent, and MCP server the project fields — categorized, one click from its source.

Search⌘K

One command palette across components, tokens, docs, and pages.

— 05 · isn't this storybook?

Storybook renders your components.
Synclair documents your whole system.

Storybook is a component workshop — a dev dependency you import to render components in isolation. Synclair treats a component as a documented entity, so it catalogs things it can't execute, and it covers everything a component gallery leaves out: tokens, knowledge, the system map, the AI setup — for humans and agents alike.

Storybook
Synclair
What it does
Executes components in isolation to build and test them.
Documents each as an entity — tokens, spec, usage, code, and a picture. Rendering is one way to draw it.
Scope
Components only.
Tokens, components, knowledge, system map, sitemap, and AI setup — the whole app.
Second audience
Developers.
Developers and AI agents — every fact is machine-readable context.
Cost to your repo
A dependency you import, plus a story file per component to maintain.
In watcher mode, zero — no dependency, no story files, nothing in your repo.
Source of truth
A third place a component is defined — free to drift from the shipped code.
A lens over your real sources — never a third definition. Derived facts can't drift.

They can coexist. For the narrow job of “see my components rendered in a gallery,” Storybook is the more focused, mature tool — Synclair can even embed a Storybook story as an item's picture. It's the other four-fifths — knowledge, maps, governance, agent context — where they diverge.

— 06 · stays honest

A catalog you can trust,
because it checks itself.

Documentation rots the moment it drifts from the code. So every rule Synclair can machine-check ships with its check — the same gate runs on your machine and in CI, and a wrong catalog is treated as worse than a smaller one.

derived, never typed

Facts are computed

Props, usage counts, and coverage are read live from the real source — so they can't drift, because nobody transcribes them. Anything authored is pinned to a commit hash.

one gate, two places

Rules aren't advisory

Raw hex and magic px are lint errors, not review nits. Registry, render coverage, and doc depth are checked — and the same checks run in CI on every push.

runtime proof

Steward agents review

A render-auditor loads every gallery card to prove it actually draws — no blank frames or code placeholders. Reports cross-check every number against live data before they publish.

bash
$ npm run verify-ui
types · tokens (no raw hex/px) · registry
every library item renders · ux-docs anchored
→ same gate runs in CI on every push & PR
— 07 · the model

A cheerful freeloader
that mooches off tools you already have.

No platform to log into, no servers to babysit. Synclair lives in your repo, piggybacks on git and GitHub to stay in sync, and lets your AI agent do the heavy lifting. It brings the context; everything else, it borrows. Engineless, on purpose.

It's a repo app

Plain files committed inside your project. Nothing to deploy, no database to run — the repo is the app.

Git & GitHub keep it in sync

No server, no accounts. Every change is a commit; sync is just pull and push. GitHub is the backbone the whole hub rides on.

Your agent is the engine

Synclair brings the context, not the compute. Bring your own AI agent — it reads the hub and does the work. Engineless, in the best way.

git HTML agent
One source, two renderings. Git is the database.

Every fact lives once in git and projects two ways — a page a person browses and a machine-readable form an agent loads. No server, no accounts; sync is pull/push.

Yours to take anywhere.

It's plain files in your repo. No lock-in, no platform to log into — fork it, host it, or read it straight from the folder.

Plain files in git
No accounts
Fork & host anywhere
GPL-3.0
— 08 · get started

One choice: one repo or two.

New project or existing app, the only fork is topology. Then you seed the hub — fresh for a new brand, or from your real code for an existing one.

embedded · one repo

Inside your product repo

The hub, skills, and guardrails travel with your code, so every agent gets them ambiently. Start a new project in the clone, or co-locate it into an existing repo.

recommended for existing apps
watcher · two repos

Beside your product

A separate companion that documents your app one-way — nothing lands in your repo. No dependency, no build step, zero cost to the host team.

bash
$ npx synclair new my-app
$ cd my-app && npm install
$ npm run dev
→ hub live at localhost:4100/synclair
# or just point your agent at it: “set me up with Synclair”
Built on Hatchable