# maestro 多项目 TODO 管理与 Agent 执行系统(本地优先 daemon · Node/TypeScript)。 按任务复杂度(Hard / Medium / Easy)分级驱动审批闸,用后台 agent(Claude 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 Code(MCP) 先 `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 看板做)。