Files
maestro/README.md
T
wangjia c6e66baa19 feat: Phase1 完整交付——Web 看板(frontend-design) + MCP server(12 工具) + CLI/导入器
- web/: phosphor 调度台风格纯静态看板,审批闸内联 accept/reject(拒绝必填意见),WS 实时
- src/api/static.ts: 手写静态服务(路径穿越防护),daemon 接入
- src/mcp/: stdio MCP server,@modelcontextprotocol/sdk 1.29.0,12 工具薄封装 REST
- src/cli/: 零依赖 CLI(project/task/next/approvals/import-todo),旧 todo.json 导入器
- 实测: pangolin 18 条旧任务导入 45 条;端到端验证通过

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 21:23:08 +08:00

49 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# maestro
多项目 TODO 管理与 Agent 执行系统(本地优先 daemon · Node/TypeScript)。
按任务复杂度(Hard / Medium / Easy)分级驱动审批闸,用后台 agentClaude Code)在隔离 git worktree 自动执行可执行任务,改动不自动合并、等你审。
- 完整设计见 **[DESIGN.md](./DESIGN.md)**。
- 当前状态:**脚手架 + 基础模型/状态机/schema**Phase 1 起步)。
## 结构
```
src/model/ 复杂度、状态机、实体类型(已落地)
src/store/ SQLite schema + 访问层
src/api/ REST + WebSocket
src/mcp/ MCP server(给 Claude Code
src/executor/ Agent SDK 封装、worktree 管理、verify
src/daemon/ maestrod 入口、编排器、worker
web/ 看板 cli/ maestro CLI
```
## 开发
```bash
npm install
npm run typecheck # tsc --noEmit
npm run build # → dist/
npm run dev # 启动 daemon(开发)
```
> 依赖版本为初始值;MCP SDK 与 Claude Agent SDK 在 Phase 2 接入时按官方文档核定后再加。
## 接入 Claude CodeMCP
`npm run build`,并保证 maestrod 在跑(`npm run dev`,默认 http://127.0.0.1:4517)。两种接法:
```bash
# 方式一:claude mcp add(在要接入的项目里执行)
claude mcp add maestro -e MAESTRO_URL=http://127.0.0.1:4517 -- node /绝对路径/maestro/dist/mcp/index.js
```
```jsonc
// 方式二:项目根放 .mcp.json(模板见本仓库 .mcp.json.example
{ "mcpServers": { "maestro": {
"command": "node",
"args": ["/绝对路径/maestro/dist/mcp/index.js"],
"env": { "MAESTRO_URL": "http://127.0.0.1:4517" } } } }
```
工具:`list_projects` / `create_project` / `list_tasks` / `get_task` / `create_task` / `decompose_task` / `write_plan` / `write_spec` / `write_operations` / `update_status` / `get_next_executable` / `get_pending_approvals`(只读;accept/reject 在 Web 看板做)。