The problem
Coding agents are good at writing React. They are bad at writing your React. Ask a bare model to build against a design system it hasn’t memorized and it invents prop names, imports components that don’t exist, and skips required patterns. On Assembly’s own benchmark, a frontier model matched just 22.8% of required component APIs without retrieval — and shipped hallucinated APIs in 8 of 12 tasks. With retrieval, both numbers go to 100% and zero. See Evals & benchmarks.
What Assembly is
Assembly is a self-hostable knowledge server that grounds coding agents in a real design system — plus a flagship demo built on top of it that takes a component description from intent to merged, on-system UI, with humans only ever approving visual baselines.
The knowledge engine:
- Manifest-driven ingest over any design-system corpus — component docs, source, stories, tokens — with no hardcoded paths.
- Hybrid retrieval: vector + full-text search fused with reciprocal-rank fusion, served over MCP and HTTP.
- Honest evals: retrieval quality is held to a deterministic baseline, and the proof-of-value benchmark ships with its limitations documented.
- Query & miss analytics: what agents actually search feeds ranking; what they fail to find reveals corpus gaps.
The loop
intent → generate → PR → quality gate → auto-merge → main
│
knowledge engine ← usage telemetry ←──┘
Generation is grounded in corpus docs at every step, and usage flows back: queries agents make are telemetry, telemetry becomes a usage-weighted ranking boost, and retrieval misses point at what the corpus should cover next.
Modules
The project is built and documented in milestones:
| Module | Name | What it adds |
|---|---|---|
| M0 | Foundation | Monorepo scaffolding and shared infrastructure |
| M1 | Knowledge Engine | Manifest ingest, hybrid retrieval, MCP + HTTP serving |
| M2 | Generation CLI | assembly gen — corpus-grounded UI generation |
| M3 | Eval Gate | Six-check quality gate in CI, including axe-core and an LLM judge |
| M4 | Render Farm | Real-browser render + visual-diff workers with MinIO artifacts |
| M5 | Adoption Telemetry | HMAC-signed usage events feeding retrieval ranking |
| M6 | Capstone | The full intent-to-merged-PR loop, closed |
Status
Assembly is a portfolio project built to production standards: six services across Go, Python, and TypeScript, one shared Postgres, real queues, and CI that runs the eval gate. MIT licensed. The telemetry stack has run in production since July 2026.
Where next
- Quickstart — running in one command, no API keys.
- Connect your agent — register the MCP server with Claude Code or Cursor.
- Architecture — how the services fit together.