# MCPEngine Studio — Agent Team Build Plan

**Objective:** Build the no-code MCP App builder at mcpengine.com using a coordinated team of expert sub-agents.
**Timeline:** 4 weeks to MVP (V1), 8 weeks to marketplace (V2)
**Orchestrator:** Buba (main agent) — assigns work, reviews output, resolves conflicts, merges code

---

## The Agent Team

### 8 Specialist Agents

| Agent | Role | Expertise | Runs On |
|-------|------|-----------|---------|
| **SCAFFOLD** | Project Bootstrapper | Next.js 15, Tailwind, project setup, CI/CD | Opus |
| **DESIGN-SYS** | Design System Engineer | Tailwind config, component library, tokens, dark/light mode | Opus |
| **CANVAS** | Visual Editor Engineer | React Flow v12, custom nodes, drag-drop, canvas interactions | Opus |
| **AI-PIPE** | AI Pipeline Engineer | Claude API integration, streaming, skill-to-service wiring | Opus |
| **BACKEND** | Backend Engineer | Next.js API routes, PostgreSQL schema, auth, billing | Opus |
| **APP-DESIGNER** | WYSIWYG Builder | MCP Apps UI designer, component palette, data binding | Opus |
| **DEPLOY** | Deploy & Infra Engineer | Cloudflare Workers, Wrangler, R2, server hosting pipeline | Opus |
| **MARKETPLACE** | Marketplace Engineer | Template system, 37 server migration, search, fork flow | Opus |

### Orchestration Model

```
                          ┌─────────┐
                          │  BUBA   │
                          │ (main)  │
                          └────┬────┘
                               │ assigns tasks, reviews PRs,
                               │ resolves conflicts, merges
                    ┌──────────┼──────────┐
                    │          │          │
              ┌─────▼────┐ ┌──▼───┐ ┌───▼─────┐
              │ Phase 1  │ │ P2   │ │ Phase 3 │
              │ Agents   │ │      │ │ Agents  │
              └──────────┘ └──────┘ └─────────┘

Phase 1 (Week 1):    SCAFFOLD → DESIGN-SYS → BACKEND (parallel after scaffold)
Phase 2 (Week 2-3):  CANVAS + AI-PIPE + BACKEND (parallel)
Phase 3 (Week 3-4):  APP-DESIGNER + DEPLOY + MARKETPLACE (parallel)
Integration (Week 4): BUBA merges all, end-to-end testing
```

---

## Phase 1: Foundation (Week 1)

### Sprint 1A: Project Scaffold (Day 1)
**Agent: SCAFFOLD**

```
Task: Bootstrap the MCPEngine Studio monorepo

Deliverables:
├── mcpengine-studio/
│   ├── package.json              (workspace root)
│   ├── apps/
│   │   └── web/                  (Next.js 15 app)
│   │       ├── app/
│   │       │   ├── (marketing)/  (landing, pricing)
│   │       │   ├── (auth)/       (sign-in, sign-up)
│   │       │   ├── (dashboard)/  (authenticated app)
│   │       │   └── api/          (route handlers)
│   │       ├── components/
│   │       ├── lib/
│   │       ├── tailwind.config.ts
│   │       ├── next.config.ts
│   │       └── tsconfig.json
│   ├── packages/
│   │   ├── ui/                   (shared component library)
│   │   ├── db/                   (drizzle schema + migrations)
│   │   └── ai-pipeline/          (skill engine)
│   ├── turbo.json
│   └── .github/workflows/ci.yml

Setup:
- Next.js 15 with App Router + Turbopack
- Tailwind CSS 4
- TypeScript strict mode
- Drizzle ORM + Neon PostgreSQL
- Clerk auth (dev keys)
- pnpm workspaces + Turborepo
- ESLint + Prettier
- Vercel deployment config

Acceptance: `pnpm dev` runs, shows placeholder landing page
```

### Sprint 1B: Design System (Days 1-3)
**Agent: DESIGN-SYS**
**Depends on:** SCAFFOLD complete

```
Task: Build the complete component library per UX-DESIGN-SPEC.md

Deliverables in packages/ui/:
├── tokens/
│   ├── colors.ts           (all hex values, dark/light)
│   ├── typography.ts        (Inter + JetBrains Mono scale)
│   ├── spacing.ts           (4px grid)
│   └── shadows.ts           (elevation system)
├── components/
│   ├── Button.tsx           (primary/secondary/ghost/danger/success, 3 sizes)
│   ├── Card.tsx             (default/interactive/elevated/glowing)
│   ├── Input.tsx            (text/textarea/select/search + error states)
│   ├── Modal.tsx            (backdrop blur, spring animation)
│   ├── Toast.tsx            (success/error/info/loading, auto-dismiss)
│   ├── NavRail.tsx          (64px icon dock with tooltips)
│   ├── NavRailItem.tsx      (icon + tooltip + active state)
│   ├── Inspector.tsx        (slide-in right panel, context-sensitive)
│   ├── Badge.tsx            (status badges for tools)
│   ├── Skeleton.tsx         (loading placeholders)
│   ├── EmptyState.tsx       (illustration + headline + CTA)
│   ├── ProgressBar.tsx      (animated, indeterminate option)
│   ├── Stepper.tsx          (deploy progress stepper)
│   └── ConfettiOverlay.tsx  (canvas-confetti wrapper)
├── layouts/
│   ├── AppShell.tsx         (NavRail + Canvas + Inspector 3-zone layout)
│   ├── MarketingLayout.tsx  (header + footer for public pages)
│   └── AuthLayout.tsx       (centered card layout)
└── hooks/
    ├── useTheme.ts          (dark/light toggle)
    ├── useToast.ts          (toast notification system)
    └── useInspector.ts      (open/close inspector panel)

Acceptance:
- All components render in dark + light mode
- Keyboard accessible (focus rings, tab order)
- Storybook or test page showing all components
- Matches UX-DESIGN-SPEC.md color values exactly
```

### Sprint 1C: Database + Auth (Days 2-4)
**Agent: BACKEND**
**Depends on:** SCAFFOLD complete

```
Task: Set up database schema, auth, and core API structure

Deliverables in packages/db/:
├── schema.ts               (all tables from TECHNICAL-ARCHITECTURE.md)
│   - users, teams, projects, tools, apps
│   - deployments, marketplace_listings
│   - usage_logs, api_keys
├── migrations/
│   └── 0001_initial.sql
├── seed.ts                 (seed 37 marketplace templates)
└── index.ts                (drizzle client export)

Deliverables in apps/web/app/api/:
├── auth/
│   └── webhook/route.ts    (Clerk webhook → sync users to DB)
├── projects/
│   ├── route.ts            (GET list, POST create)
│   └── [id]/route.ts       (GET detail, PATCH update, DELETE)
└── middleware.ts            (Clerk auth middleware)

Deliverables in apps/web/app/(auth)/:
├── sign-in/page.tsx        (Clerk SignIn component)
└── sign-up/page.tsx        (Clerk SignUp component)

Acceptance:
- `pnpm db:push` creates all tables in Neon
- Sign up / sign in works
- CRUD projects via API
- Clerk webhook syncs user to DB
```

---

## Phase 2: Core Features (Weeks 2-3)

### Sprint 2A: Visual Tool Editor (Days 5-9)
**Agent: CANVAS**
**Depends on:** DESIGN-SYS + BACKEND complete

```
Task: Build the React Flow visual tool editor — the core canvas

Deliverables in apps/web/components/canvas/:
├── ToolCanvas.tsx           (React Flow wrapper with controls)
├── ToolNode.tsx             (custom node: tool name, method badge, description,
│                             param count, auth indicator, enabled toggle)
├── GroupNode.tsx            (tool group container with label)
├── ConnectionEdge.tsx       (animated edge for tool chaining)
├── CanvasToolbar.tsx        (zoom controls, minimap toggle, auto-layout)
├── CanvasControls.tsx       (React Flow controls wrapper)
└── hooks/
    ├── useCanvasState.ts    (Zustand store: nodes, edges, selections)
    ├── useToolDragDrop.ts   (drag from palette → canvas)
    └── useAutoLayout.ts     (dagre auto-layout algorithm)

Deliverables in apps/web/components/inspector/:
├── ToolInspector.tsx        (main inspector panel)
├── ToolNameEditor.tsx       (edit tool name + description)
├── ParamEditor.tsx          (add/remove/edit input parameters)
│   - Param name, type (string/number/boolean/array/object)
│   - Required toggle, default value, description
├── OutputSchemaEditor.tsx   (define output shape)
├── AuthConfigPanel.tsx      (API key / OAuth2 / Bearer config)
├── AnnotationsPanel.tsx     (readOnly, destructive, idempotent hints)
└── ToolPreview.tsx          (JSON preview of tool definition)

Deliverables in apps/web/app/(dashboard)/projects/[id]/:
├── page.tsx                 (Tool Editor page — canvas + inspector)
└── layout.tsx               (editor layout with NavRail)

Interactions:
- Click node → inspector opens with tool config
- Double-click node → inline rename
- Drag handle → connect tools (chaining)
- Right-click → context menu (duplicate, delete, disable)
- Cmd+Z / Cmd+Shift+Z → undo/redo
- Minimap in corner for navigation
- Auto-layout button (dagre algorithm)

Acceptance:
- Can add/remove/edit tools visually on canvas
- Inspector shows all config for selected tool
- Drag-drop between groups works
- Undo/redo works
- Canvas state persists to project (API call on change)
```

### Sprint 2B: AI Pipeline Engine (Days 5-10)
**Agent: AI-PIPE**
**Depends on:** BACKEND complete
**Parallel with:** CANVAS

```
Task: Wire our 11 skills into the AI generation pipeline

Deliverables in packages/ai-pipeline/:
├── index.ts                 (pipeline orchestrator)
├── skills/
│   ├── loader.ts            (load skill SKILL.md files as system prompts)
│   └── registry.ts          (skill name → file path mapping for all 11)
├── services/
│   ├── analyzer.ts          (spec → AnalysisResult, uses mcp-api-analyzer)
│   ├── generator.ts         (config → ServerBundle, uses mcp-server-builder
│   │                          + mcp-server-development)
│   ├── designer.ts          (config → AppBundle, uses mcp-app-designer
│   │                          + mcp-apps-official + mcp-apps-merged)
│   ├── tester.ts            (server → TestResults, uses mcp-qa-tester)
│   └── deployer.ts          (bundle → DeployResult, uses mcp-deployment)
├── streaming/
│   ├── sse.ts               (Server-Sent Events helper for API routes)
│   └── parser.ts            (parse Claude streaming → structured events)
├── types.ts                 (AnalysisResult, ServerBundle, AppBundle, etc.)
└── cost-tracker.ts          (track tokens/cost per operation)

Deliverables in apps/web/app/api/:
├── analyze/route.ts         (POST — upload spec → stream analysis)
├── generate/route.ts        (POST — tool config → stream server code)
├── design/route.ts          (POST — app config → stream HTML apps)
├── test/route.ts            (POST — server → stream test results)
└── ws/route.ts              (WebSocket for real-time progress)

Skill Loading Strategy:
- All 11 SKILL.md files copied into packages/ai-pipeline/skills/data/
- Loaded at startup, cached in memory
- Composed into system prompts per operation:
  * Analyze: mcp-api-analyzer
  * Generate: mcp-server-builder + mcp-server-development
  * Design: mcp-app-designer + mcp-apps-official + mcp-apps-merged + mcp-apps-integration
  * Test: mcp-qa-tester
  * Deploy: mcp-deployment

Streaming UX:
- All endpoints use SSE (text/event-stream)
- Events: progress, tool_found, file_generated, test_result, deploy_step
- Frontend renders events in real-time (tools appearing, code streaming)

Acceptance:
- POST /api/analyze with OpenAPI spec → streams tool definitions
- POST /api/generate with tool config → streams TypeScript files
- POST /api/test with server code → streams test results
- Cost tracking logs tokens per call
- Error handling: retries, partial results, timeout recovery
```

### Sprint 2C: Spec Upload + Analysis Flow (Days 7-10)
**Agent: BACKEND** (continued)
**Depends on:** AI-PIPE started

```
Task: Build the spec upload and analysis review screens

Deliverables in apps/web/app/(dashboard)/projects/new/:
├── page.tsx                 (New Project wizard)
│   Step 1: Name + description
│   Step 2: Upload spec (URL paste, file upload, or pick template)
│   Step 3: Watch analysis (streaming — tools appear as found)
│   Step 4: Review tools (toggle on/off, quick edit names)
│   Step 5: → Redirect to Tool Editor

Deliverables in apps/web/components/:
├── spec-upload/
│   ├── SpecUploader.tsx     (URL input + file drop zone + template picker)
│   ├── AnalysisStream.tsx   (real-time analysis display — tools appearing)
│   ├── ToolReview.tsx       (checklist of discovered tools, toggles)
│   └── AnalysisProgress.tsx (animated progress bar + status messages)
└── project/
    ├── ProjectCard.tsx      (dashboard grid card)
    └── ProjectGrid.tsx      (responsive grid of project cards)

Acceptance:
- Can paste URL → analysis runs → tools discovered
- Can upload JSON/YAML file → same flow
- Can pick from template → pre-populated
- Streaming analysis shows tools appearing in real-time
- Can toggle tools before proceeding to editor
```

---

## Phase 3: Advanced Features (Weeks 3-4)

### Sprint 3A: MCP App Designer (Days 10-14)
**Agent: APP-DESIGNER**
**Depends on:** CANVAS + AI-PIPE complete

```
Task: Build the WYSIWYG MCP App designer

Deliverables in apps/web/components/app-designer/:
├── AppDesigner.tsx          (main 3-column layout: palette + preview + properties)
├── ComponentPalette.tsx     (draggable widget list)
│   Widgets: DataGrid, Chart (bar/line/pie), Form, CardList,
│            StatsRow, Timeline, Calendar, Map, DetailView
├── DesignCanvas.tsx         (drop zone + visual preview)
├── PropertyPanel.tsx        (selected widget properties)
├── DataBindingEditor.tsx    (wire widget fields → tool outputs)
├── PreviewToggle.tsx        (preview as: Claude / ChatGPT / VS Code)
├── widgets/
│   ├── DataGridWidget.tsx   (sortable table with columns config)
│   ├── ChartWidget.tsx      (chart type + data mapping)
│   ├── FormWidget.tsx       (input fields → tool inputs)
│   ├── CardListWidget.tsx   (repeating card template)
│   ├── StatsRowWidget.tsx   (3-4 stat boxes with icons)
│   ├── TimelineWidget.tsx   (vertical event timeline)
│   └── DetailViewWidget.tsx (key-value detail display)
└── hooks/
    ├── useAppState.ts       (Zustand: widgets, layout, bindings)
    └── useAppPreview.ts     (generate preview HTML from state)

Deliverables in apps/web/app/(dashboard)/projects/[id]/apps/:
├── page.tsx                 (App Designer page)
└── [appId]/page.tsx         (Individual app editor)

The Key Innovation:
- User drags DataGrid widget onto canvas
- Opens property panel → selects "get_contacts" tool as data source
- Maps columns: name→contactName, email→email, phone→phone
- Clicks "Preview" → sees live HTML rendering
- Clicks "Generate" → AI-PIPE uses mcp-app-designer + mcp-apps-official
  to produce production HTML with proper postMessage handling

Acceptance:
- Can drag widgets onto canvas
- Can bind widget data to tool outputs
- Preview renders styled HTML matching dark theme
- Generate produces valid MCP App HTML bundle
- Apps saved to project and database
```

### Sprint 3B: Deploy Pipeline (Days 10-14)
**Agent: DEPLOY**
**Parallel with:** APP-DESIGNER

```
Task: Build the one-click deployment system

Deliverables in packages/deploy-engine/:
├── index.ts                 (deploy orchestrator)
├── targets/
│   ├── mcpengine.ts         (Cloudflare Workers deploy via Wrangler API)
│   ├── npm.ts               (npm publish automation)
│   ├── docker.ts            (Dockerfile generation + build)
│   └── download.ts          (zip bundle for self-hosting)
├── compiler.ts              (TypeScript → bundled JS for Workers)
├── worker-template.ts       (Cloudflare Worker wrapper for MCP server)
└── dns.ts                   (add {slug}.mcpengine.run route)

Deliverables in apps/web/app/api/:
├── deploy/route.ts          (POST — trigger deployment, stream progress)
└── deployments/
    ├── route.ts             (GET — list user deployments)
    └── [id]/
        ├── route.ts         (GET status, DELETE stop)
        └── logs/route.ts    (GET deployment logs)

Deliverables in apps/web/app/(dashboard)/projects/[id]/deploy/:
└── page.tsx                 (Deploy screen with stepper UI)
    - Target selector (MCPEngine / npm / Docker / Download)
    - Progress stepper (Build → Test → Package → Deploy → Verify)
    - Live log viewer (streaming)
    - Success screen with URL + confetti
    - "Add to Claude Desktop" config snippet

Cloudflare Workers Flow:
1. Compile TypeScript server → single JS bundle
2. Wrap in Worker template (handles HTTP → MCP transport)
3. Upload via Cloudflare API: PUT /workers/scripts/{name}
4. Set environment variables (user's API keys, decrypted)
5. Add route: {slug}.mcpengine.run
6. Health check: GET {slug}.mcpengine.run/health
7. Done → return URL

Acceptance:
- Can deploy to MCPEngine hosting → get live URL
- Can download as zip
- Progress stepper animates through stages
- Confetti fires on success
- Deployed server responds to MCP tool/list
- "Add to Claude Desktop" shows correct JSON config
```

### Sprint 3C: Marketplace (Days 12-16)
**Agent: MARKETPLACE**
**Parallel with:** DEPLOY

```
Task: Build the template marketplace seeded with our 37 servers

Deliverables in apps/web/app/(dashboard)/marketplace/:
├── page.tsx                 (Marketplace browser)
│   - Search bar with full-text search
│   - Category filter tabs (CRM, eCommerce, HR, Marketing, etc.)
│   - Grid of template cards (name, tool count, app count, rating, fork count)
│   - Sort: popular / newest / most forked
├── [templateId]/page.tsx    (Template detail page)
│   - Name, description, author
│   - Tool list preview
│   - App screenshots
│   - [Fork to My Projects] button
│   - README rendered as markdown
└── publish/page.tsx         (Publish your project as template)

Deliverables in apps/web/app/api/marketplace/:
├── route.ts                 (GET list + search, POST publish)
├── [id]/route.ts            (GET detail)
├── [id]/fork/route.ts       (POST fork → create project from template)
└── categories/route.ts      (GET category list with counts)

Deliverables in packages/db/:
└── seed-marketplace.ts      (migrate 37 servers into marketplace)
    For each server:
    - Extract tool count from src/index.ts
    - Extract app count from app-ui/
    - Auto-categorize (CRM, eCommerce, etc.)
    - Set is_official = true
    - Generate preview metadata

Acceptance:
- Browse 37 official templates with categories
- Search by name/description
- Fork template → creates new project with tools pre-loaded
- Category counts are accurate
- Template detail shows tool list and README
```

---

## Phase 4: Integration & Polish (Week 4)

### Sprint 4A: Landing Page + Onboarding (Days 16-18)
**Agent: DESIGN-SYS** (returns)

```
Task: Build the marketing landing page and 60-second onboarding

Landing Page:
- Hero: gradient text headline, demo video embed, dual CTAs
- Value props: 3 cards (Upload → Customize → Deploy)
- Social proof: "Built on" logos (MCP, Anthropic, Cloudflare)
- Template showcase: 6 featured from marketplace
- Pricing: 4 tier cards from PRODUCT-SPEC.md
- Final CTA: email capture

Onboarding (per UX-DESIGN-SPEC.md):
- Welcome → paste spec → watch analysis → see tools → deploy → confetti
- 60-second target, minimal clicks
- Guided tooltip overlays for first-time users
```

### Sprint 4B: Testing Dashboard (Days 16-18)
**Agent: AI-PIPE** (returns)

```
Task: Build the in-app testing playground

Deliverables:
├── apps/web/app/(dashboard)/projects/[id]/test/
│   └── page.tsx             (Testing Dashboard)
└── apps/web/components/testing/
    ├── TestDashboard.tsx    (test layer selector + results)
    ├── TestRunner.tsx       (run button + streaming results)
    ├── TestResult.tsx       (pass/fail card with details)
    ├── ToolPlayground.tsx   (manual tool invocation — input JSON → run → see output)
    └── LLMSandbox.tsx       (chat with your MCP server through Claude)

Test layers available:
1. Protocol compliance (MCP Inspector equivalent)
2. Static analysis (TypeScript build check)
3. Tool invocation (run each tool with sample data)
4. Schema validation (input/output match)
```

### Sprint 4C: End-to-End Integration (Days 18-20)
**Agent: BUBA (me)**

```
Task: Wire everything together, fix integration issues, e2e test

- Connect all pages via NavRail navigation
- Ensure project state flows: create → analyze → edit → test → deploy
- Dashboard shows real project status
- Marketplace fork → editor works end-to-end
- Auth gates all authenticated routes
- Error boundaries on every page
- Loading states on every async operation
- Mobile responsive check (dashboard + marketplace)
- Performance: LCP < 2s, editor load < 3s
- Final deploy to Vercel
```

---

## Dependency Graph

```
Week 1:
  SCAFFOLD ─────────┐
                     ├──→ DESIGN-SYS (components)
                     ├──→ BACKEND (DB + auth + API)
                     │
Week 2:              │
  DESIGN-SYS done ───┤
  BACKEND done ──────┼──→ CANVAS (tool editor)
                     ├──→ AI-PIPE (skill engine)
                     └──→ BACKEND cont. (spec upload)
                     
Week 3:
  CANVAS done ───────┤
  AI-PIPE done ──────┼──→ APP-DESIGNER (WYSIWYG)
                     ├──→ DEPLOY (hosting pipeline)
                     └──→ MARKETPLACE (templates)

Week 4:
  All features ──────┼──→ DESIGN-SYS (landing + onboarding)
                     ├──→ AI-PIPE (testing dashboard)
                     └──→ BUBA (integration + polish)
```

---

## Agent Communication Protocol

### How Agents Share Work

1. **All code goes to:** `mcpengine-studio/` workspace directory
2. **Each agent writes to its designated directories** (no conflicts)
3. **Shared interfaces** defined in `packages/ai-pipeline/types.ts` — BACKEND writes first, others import
4. **Buba reviews** every deliverable before next agent starts dependent work
5. **Integration issues** flagged back to Buba for resolution

### Agent Task Format

Each agent receives:
```
TASK: [specific deliverable]
WRITE TO: [exact file paths]
DEPENDS ON: [files that must exist first]
INTERFACES: [TypeScript types to import/implement]
ACCEPTANCE: [how Buba will verify completion]
REFERENCE: [which docs to read — PRODUCT-SPEC.md, TECHNICAL-ARCHITECTURE.md, etc.]
```

### Quality Gates

| Gate | Check | Blocker? |
|------|-------|----------|
| TypeScript compiles | `pnpm build` passes | Yes |
| No lint errors | `pnpm lint` passes | Yes |
| Component renders | Visual check in browser | Yes |
| API endpoint works | curl test returns expected data | Yes |
| Matches design spec | Colors/spacing match UX doc | Soft |
| Accessible | Focus rings, aria labels present | Soft |

---

## Risk Mitigations

| Risk | Mitigation |
|------|-----------|
| Agent timeout (5 min) | Break tasks into smaller chunks — 1-3 files per agent call, not entire features |
| Integration conflicts | Shared types defined upfront, strict directory ownership |
| Scope creep | V1 = spec upload + tool editor + deploy ONLY. No apps designer in V1. |
| API key costs | Use Sonnet for generation (not Opus) — $0.22/pipeline run |
| Agent writes bad code | Buba reviews + runs TypeScript compiler before accepting |
| Feature doesn't work e2e | Integration sprint (Week 4) dedicated to wiring + fixing |

---

## V1 MVP Definition (Ship in 4 Weeks)

**In scope:**
- ✅ Landing page + sign up
- ✅ Dashboard with project grid
- ✅ Spec upload (URL paste, file upload)
- ✅ AI analysis (streaming tool discovery)
- ✅ Visual tool editor (React Flow canvas)
- ✅ Tool inspector (params, auth, annotations)
- ✅ Deploy to MCPEngine hosting (Cloudflare Workers)
- ✅ Download as zip
- ✅ Marketplace (browse + fork 37 templates)
- ✅ Basic testing (tool invocation playground)

**V2 (Weeks 5-8):**
- MCP App Designer (WYSIWYG)
- npm publish
- Docker export
- LLM sandbox testing
- User-submitted marketplace templates

**V3 (Months 3-6):**
- Team collaboration (multiplayer canvas)
- Enterprise SSO
- Stripe billing
- Custom domains for hosted servers
- Smithery auto-publish

---

## Execution: Day-by-Day Schedule

### Week 1
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon | SCAFFOLD | Bootstrap monorepo, Next.js, Tailwind, Turbo | 2-3h |
| Mon-Tue | BACKEND | DB schema, Drizzle, migrations, Clerk auth | 3-4h |
| Tue-Wed | DESIGN-SYS | Component library (all 13+ components) | 4-5h |
| Wed-Thu | BACKEND | Projects CRUD API, spec upload endpoint | 2-3h |
| Thu-Fri | DESIGN-SYS | AppShell layout, NavRail, Inspector, themes | 2-3h |

### Week 2
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon-Tue | AI-PIPE | Skill loader, analyzer service, SSE streaming | 3-4h |
| Mon-Wed | CANVAS | React Flow setup, ToolNode, GroupNode, canvas state | 4-5h |
| Wed-Thu | AI-PIPE | Generator service, streaming file output | 3-4h |
| Thu-Fri | CANVAS | Inspector panels (params, auth, annotations) | 3-4h |
| Fri | BACKEND | Spec upload UI, analysis streaming page | 2-3h |

### Week 3
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon-Tue | DEPLOY | Cloudflare Workers pipeline, compiler, DNS | 3-4h |
| Mon-Tue | MARKETPLACE | DB seed script, browse page, search | 3-4h |
| Wed-Thu | DEPLOY | Deploy UI (stepper, logs, confetti) | 2-3h |
| Wed-Thu | MARKETPLACE | Template detail, fork flow, categories | 2-3h |
| Fri | AI-PIPE | Testing playground (tool invocation) | 2-3h |

### Week 4
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon | DESIGN-SYS | Landing page, pricing section | 2-3h |
| Mon-Tue | DESIGN-SYS | Onboarding flow (60-second wizard) | 2-3h |
| Tue-Wed | BUBA | Wire all pages, NavRail routing, project flow | 3-4h |
| Wed-Thu | BUBA | E2E testing, bug fixes, error boundaries | 3-4h |
| Fri | BUBA | Deploy to Vercel, final check, launch prep | 2-3h |

---

## Launch Checklist

- [ ] Landing page live at mcpengine.com
- [ ] Sign up / sign in working
- [ ] Can create project from spec URL
- [ ] AI analysis streams tool discovery
- [ ] Tool editor canvas fully functional
- [ ] Inspector edits persist
- [ ] Deploy to MCPEngine hosting works
- [ ] Download zip works
- [ ] 37 templates browseable in marketplace
- [ ] Fork template → edit → deploy flow works
- [ ] Mobile-friendly dashboard + marketplace
- [ ] Error states on all pages
- [ ] Loading states on all async ops
- [ ] Vercel deployment stable
- [ ] Domain configured
- [ ] Analytics (Vercel Analytics or PostHog)

**Ship it.** ᕕ( ᐛ )ᕗ

---

*Last updated: February 6, 2026*
