Labels.io

How the kit works

Mock data, integration seams, and why nothing breaks.

The kit follows one rule: the UI is finished, the backend is swappable. Every screen renders real components against mock data, and every place a real service belongs is marked in code with the same greppable comment:

// 🔌 INTEGRATION: <Service> — see agent-skills/<skill>.md

Find every seam in the project at once:

grep -rn "🔌 INTEGRATION" app/

The seam map

FeatureWhere the seam livesSkill
Authapp/lib/auth.tsx, login/register routeswire-auth.md
Billingapp/routes/app/billing.tsxwire-billing.md
AI chatapp/routes/app/chat.tsxwire-ai-chat.md
AI searchapp/routes/app/search.tsxwire-ai-search.md
File uploadsapp/routes/app/files.tsxwire-file-uploads.md
Contact formapp/routes/contact.tsxwire-contact-form.md
Newsletterapp/routes/app/settings.tsxwire-newsletter.md
Notificationsapp/lib/notifications.tsxwire-notifications.md

Why this never breaks

Each seam is independent. The UI already works on mock data, so wiring auth never touches billing, and an unwired screen keeps rendering happily. Ship with three features wired and the rest on mocks, then grow from there.

Ask your AI for the map

Say "what's mock?" or "what needs wiring?" and your agent reads agent-skills/integration-points.md, which keeps the full table.

On this page