Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
4073efa
Add HELLO_WORLD.md with greeting and explanation
vibegui Feb 1, 2026
0a44db1
docs: update HELLO_WORLD.md with project description
vibegui Feb 1, 2026
596202c
docs: add HELLO_WORLD.md with project greeting and explanation
vibegui Feb 1, 2026
4c4bcad
docs: add HELLO_WORLD.md with project greeting and explanation
vibegui Feb 1, 2026
a5e0d7a
docs: add HELLO_WORLD.md with project greeting and explanation
vibegui Feb 1, 2026
175fa15
feat(mesh-plugin-task-runner): add Agent Status UI with real-time mon…
vibegui Feb 1, 2026
3e419be
feat(mesh-plugin-task-runner): add AI-powered task planning and impro…
vibegui Feb 1, 2026
39660b1
fix(mesh-plugin-task-runner): make plan view scrollable with fixed ac…
vibegui Feb 1, 2026
09417bc
docs: add HELLO_WORLD.md with project greeting and explanation (task-…
vibegui Feb 1, 2026
1dd703d
task: task-1769960270044-98r02z - write HELLO_WORLD.md with a greetin…
vibegui Feb 1, 2026
3b14d70
docs: add HELLO_WORLD.md with project greeting and explanation (task-…
vibegui Feb 1, 2026
b3e8320
fix(mesh-plugin-task-runner): prevent double agent spawning
vibegui Feb 1, 2026
59ea3e2
feat(mesh-plugin-task-runner): add stop button for running agents
vibegui Feb 1, 2026
b68fec7
refactor(mesh): code quality improvements
vibegui Feb 1, 2026
68b92ad
docs: map existing codebase
vibegui Feb 1, 2026
bdbbb8c
docs: initialize project
vibegui Feb 1, 2026
c58435b
chore: add project config
vibegui Feb 1, 2026
5eae46c
docs: add Site Builder roadmap
vibegui Feb 1, 2026
a3de589
docs(01): research phase domain
vibegui Feb 1, 2026
d1799d8
docs(01): create phase plan
vibegui Feb 1, 2026
f432864
chore(01-01): create site-builder plugin package scaffold
vibegui Feb 1, 2026
e20f53a
feat(01-01): add binding definition and query keys
vibegui Feb 1, 2026
65224f2
feat(01-01): create router and plugin entry point
vibegui Feb 1, 2026
8fafedd
docs(01-01): complete plugin scaffold plan
vibegui Feb 1, 2026
cd76aa7
feat(01-02): add site detection hook
vibegui Feb 1, 2026
977b841
feat(01-02): add header and empty state components
vibegui Feb 1, 2026
5f725c9
feat(01-02): add site list and detail views
vibegui Feb 1, 2026
2a84319
fix(01-02): remove unused variable in site-detail
vibegui Feb 1, 2026
1a0d8a5
fix(01-02): remove unused import in site-detail
vibegui Feb 1, 2026
63bc564
fix(01-02): register site-builder plugin in Mesh app
vibegui Feb 1, 2026
0454e83
fix(01-02): fix icon imports and add router dependency
vibegui Feb 1, 2026
cb80fbc
feat(site-builder): add dev server status and pages list
vibegui Feb 2, 2026
6ca03c9
feat(site-builder): add start server button with DENO_TASK support
vibegui Feb 2, 2026
3c33124
feat(site-builder): add inline preview frame and fix scroll
vibegui Feb 2, 2026
30c8c77
chore(site-builder): remove unused handleOpenExternal function
vibegui Feb 2, 2026
6912f62
fix(mesh): handle stale MCP connections with automatic retry
vibegui Feb 2, 2026
62aa476
feat(site-builder): add task panel integration (Phase 3)
vibegui Feb 2, 2026
4f7a5df
fix(site-builder): show task panel alongside main content
vibegui Feb 2, 2026
c88d94a
feat(skills): add landing page and sales pitch skills
vibegui Feb 2, 2026
012bc0f
feat(site-builder): pass site context when spawning agents
vibegui Feb 2, 2026
24df3df
chore: cleanup and minor fixes
vibegui Feb 2, 2026
0cf35e2
fix(site-builder): use correct events to send chat messages
vibegui Feb 2, 2026
ee6f7c9
refactor(task-runner): extract TaskCard component for reuse
vibegui Feb 2, 2026
cb905be
feat(task-runner): require quality gates baseline verification
vibegui Feb 2, 2026
a2a3b9c
fix(task-runner): handle various MCP tool response formats
vibegui Feb 3, 2026
aa7790c
fix(task-runner): support deno.json for quality gate detection
vibegui Feb 3, 2026
d11f78e
feat(site-builder): separate Sites and Tasks UX
vibegui Feb 3, 2026
200dd5c
docs: update planning for Phase 5 completion
vibegui Feb 3, 2026
b2c0657
fix(site-builder): use window.location for cross-plugin navigation
vibegui Feb 3, 2026
9e4780b
fix(site-builder): correct task-runner URL pattern for cross-plugin n…
vibegui Feb 3, 2026
205921b
feat(task-runner): add button to navigate to Quality Gates tab
vibegui Feb 3, 2026
455f883
fix(task-runner): use EXEC tool for quality gates verification
vibegui Feb 3, 2026
1dbc1c0
fix(task-runner): improve quality gates EXEC response parsing
vibegui Feb 3, 2026
7cba342
feat(task-runner): show verification results inline on gate cards
vibegui Feb 3, 2026
eedc643
feat(task-runner): add "Create Fix Task" button for failing quality g…
vibegui Feb 3, 2026
e4b3d0f
feat(task-runner): "Fix with Agent" creates task and starts planning …
vibegui Feb 3, 2026
a19840e
fix(task-runner): use AGENT_SPAWN for fix tasks to track sessions pro…
vibegui Feb 3, 2026
fd100f8
fix(task-runner): "Fix with Agent" now requests a plan instead of spa…
vibegui Feb 3, 2026
0722f64
feat(task-runner): show Planning spinner for tasks created via "Fix w…
vibegui Feb 3, 2026
63815dd
fix(task-runner): use onPlanningStateChange callback when plan arrives
vibegui Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .beads/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"version": "1.0.0",
"created": "2026-02-01T01:10:40.594Z"
}
39 changes: 39 additions & 0 deletions .beads/project-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"qualityGates": [
{
"id": "gate-check",
"name": "Type Check",
"command": "bun run check",
"description": "TypeScript type checking",
"required": true,
"source": "auto"
},
{
"id": "gate-lint",
"name": "Lint",
"command": "bun run lint",
"description": "Code linting",
"required": true,
"source": "auto"
},
{
"id": "gate-test",
"name": "Test",
"command": "bun run test",
"description": "Run tests",
"required": true,
"source": "auto"
},
{
"id": "gate-fmt",
"name": "Format",
"command": "bun run fmt",
"description": "Code formatting",
"required": true,
"source": "auto"
}
],
"completionToken": "<promise>COMPLETE</promise>",
"memoryDir": "memory",
"lastUpdated": "2026-02-01T14:48:58.695Z"
}
489 changes: 489 additions & 0 deletions .beads/sessions.json

Large diffs are not rendered by default.

131 changes: 131 additions & 0 deletions .beads/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
{
"tasks": [
{
"id": "task-1769960270044-98r02z",
"title": "write HELLO_WORLD.md with a greeting and explanation of what is this project we are building",
"status": "in_progress",
"createdAt": "2026-02-01T15:37:50.044Z",
"updatedAt": "2026-02-01T15:40:54.899Z",
"plan": {
"summary": "Create HELLO_WORLD.md at the repository root as a friendly introduction document that welcomes newcomers to the MCP Mesh project, explains what it is (an open-source control plane for MCP traffic), and provides quick orientation for getting started.",
"acceptanceCriteria": [
{
"id": "ac-1",
"description": "HELLO_WORLD.md file exists at /Users/guilherme/Projects/mesh/HELLO_WORLD.md",
"verifiable": true
},
{
"id": "ac-2",
"description": "Document includes a welcoming greeting section (e.g., 'Welcome to MCP Mesh!')",
"verifiable": true
},
{
"id": "ac-3",
"description": "Document explains what MCP Mesh is: an open-source control plane that sits between MCP clients and servers, providing auth, routing, and observability",
"verifiable": true
},
{
"id": "ac-4",
"description": "Document explains the core value proposition: replacing M×N integrations with one production endpoint",
"verifiable": true
},
{
"id": "ac-5",
"description": "Document references key project components (apps/mesh, packages/, docs) to orient newcomers",
"verifiable": true
},
{
"id": "ac-6",
"description": "Document includes pointers to next steps (README.md for detailed docs, AGENTS.md for coding guidelines, quick start commands)",
"verifiable": true
},
{
"id": "ac-7",
"description": "Document follows Markdown formatting conventions consistent with existing docs (README.md, AGENTS.md)",
"verifiable": true
}
],
"subtasks": [
{
"id": "st-1",
"title": "Create HELLO_WORLD.md file with greeting header",
"description": "Create the file at repository root with a welcoming header section that greets newcomers to the project",
"estimatedComplexity": "trivial",
"filesToModify": ["HELLO_WORLD.md"]
},
{
"id": "st-2",
"title": "Write 'What is MCP Mesh?' explanation section",
"description": "Add a section explaining that MCP Mesh is an open-source control plane for MCP traffic, sitting between clients (Cursor, Claude, VS Code) and MCP servers, providing unified auth, routing, and observability",
"estimatedComplexity": "simple",
"filesToModify": ["HELLO_WORLD.md"]
},
{
"id": "st-3",
"title": "Write 'Why MCP Mesh?' value proposition section",
"description": "Explain the core problem it solves: replacing M×N integrations with a single governed endpoint, multi-tenant support, and full observability",
"estimatedComplexity": "simple",
"filesToModify": ["HELLO_WORLD.md"]
},
{
"id": "st-4",
"title": "Add project orientation section",
"description": "Brief overview of the monorepo structure: apps/mesh (main app), apps/docs (documentation), packages/ (shared libraries), and key files like README.md and AGENTS.md",
"estimatedComplexity": "simple",
"filesToModify": ["HELLO_WORLD.md"]
},
{
"id": "st-5",
"title": "Add 'Getting Started' quick reference",
"description": "Include the essential commands to get up and running: bun install, bun run dev, and pointers to README.md for full documentation",
"estimatedComplexity": "trivial",
"filesToModify": ["HELLO_WORLD.md"]
}
],
"risks": [
"Content should complement (not duplicate) README.md - need to keep it concise and focused on welcoming/orienting newcomers",
"Should match the tone and style of existing documentation in the repository"
],
"estimatedComplexity": "simple"
},
"planStatus": "approved",
"acceptanceCriteria": [
{
"id": "ac-1",
"description": "HELLO_WORLD.md file exists at /Users/guilherme/Projects/mesh/HELLO_WORLD.md",
"completed": false
},
{
"id": "ac-2",
"description": "Document includes a welcoming greeting section (e.g., 'Welcome to MCP Mesh!')",
"completed": false
},
{
"id": "ac-3",
"description": "Document explains what MCP Mesh is: an open-source control plane that sits between MCP clients and servers, providing auth, routing, and observability",
"completed": false
},
{
"id": "ac-4",
"description": "Document explains the core value proposition: replacing M×N integrations with one production endpoint",
"completed": false
},
{
"id": "ac-5",
"description": "Document references key project components (apps/mesh, packages/, docs) to orient newcomers",
"completed": false
},
{
"id": "ac-6",
"description": "Document includes pointers to next steps (README.md for detailed docs, AGENTS.md for coding guidelines, quick start commands)",
"completed": false
},
{
"id": "ac-7",
"description": "Document follows Markdown formatting conventions consistent with existing docs (README.md, AGENTS.md)",
"completed": false
}
]
}
]
}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dist-ssr
!.vscode/extensions.json
.idea
.DS_Store
.claude/
*.suo
*.ntvs*
*.njsproj
Expand Down
81 changes: 81 additions & 0 deletions .planning/PROJECT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Site Builder

## What This Is

A Mesh plugin that extends the Task Runner to enable AI-assisted site building with live preview. Users connect to a local Deno/Fresh site, run the dev server, create tasks like "implement a new landing page", and watch the AI agent break it down into a plan, implement each step, and see changes via HMR in real-time.

## Core Value

Users describe what they want in natural language, and an AI agent builds it iteratively with real-time visual feedback.

## Requirements

### Validated

<!-- Existing capabilities from the codebase -->

- ✓ MCP Gateway architecture with plugin system — existing
- ✓ Task Runner plugin with Beads integration — existing
- ✓ Task creation, plan generation, plan approval workflow — existing
- ✓ Agent spawning via Claude Code (AGENT_SPAWN) — existing
- ✓ Quality gates and completion detection — existing
- ✓ local-fs MCP for file read/write — existing
- ✓ Session tracking and status polling — existing

### Active

<!-- New capabilities for this milestone -->

- [ ] Site Builder plugin with preview-first UI layout
- [ ] Connection dropdown filtering for sites (local-fs with deno.json)
- [ ] Stack detection from deno.json/package.json
- [ ] Dev server control (start/stop) via task-runner MCP
- [ ] Live preview iframe with port detection
- [ ] Page/route selector dropdown
- [ ] Reuse task board components in collapsible panel
- [ ] Site context passed to agents for stack-aware editing

### Out of Scope

- Multi-stack support (Next.js, Astro, etc.) — focus on Deno/Deco first
- Remote site deployment — local development only for v1
- Visual page builder / drag-drop — agent builds via code, user watches
- MCP UI in chat panel — not ready yet, use collapsible task panel instead

## Context

**Existing Architecture:**
- `mesh/packages/mesh-plugin-task-runner/` — working task runner UI
- `mcps/task-runner/` — MCP with AGENT_SPAWN, quality gates, memory tools
- `mesh/packages/bindings/` — well-known bindings including TASK_RUNNER_BINDING

**Target Site Stack:**
- Deno + Fresh framework (like decocms/)
- `deno task dev` starts dev server with HMR
- `.deco/blocks/` contains page JSON configs
- `sections/` contains React components

**UI Pattern:**
- Same connection dropdown pattern as Task Runner
- Preview iframe takes most of the screen
- Task board is collapsible/secondary
- Chat panel on right (existing Mesh layout)

## Constraints

- **Tech stack**: Must use existing Mesh patterns (React, TanStack Query, Radix)
- **Reuse**: Should reuse task-runner hooks where possible (useTasks, useAgentSessions)
- **MCP location**: Site tools go in existing task-runner MCP (not a new MCP)
- **Detection**: Stack detection must be robust (deno.json with deco/ import)

## Key Decisions

| Decision | Rationale | Outcome |
|----------|-----------|---------|
| Extend task-runner MCP with site tools | Simpler than new MCP, reuses existing agent infrastructure | — Pending |
| Preview-first layout | Site building is visual, tasks are secondary | — Pending |
| Deno/Deco stack first | User's current need, add other stacks later | — Pending |
| Filter connections by deno.json | Auto-detect sites vs generic folders | — Pending |

---
*Last updated: 2026-02-01 after initialization*
Loading