macro-agent 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.sudocode/issues.jsonl +28 -0
- package/.sudocode/specs.jsonl +4 -0
- package/CLAUDE.md +9 -3
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js +111 -48
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/types.d.ts +7 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/server.d.ts +5 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +100 -3
- package/dist/api/server.js.map +1 -1
- package/dist/api/types.d.ts +1 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/cli/acp.d.ts.map +1 -1
- package/dist/cli/acp.js +71 -1
- package/dist/cli/acp.js.map +1 -1
- package/dist/cli/index.js +5 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.js +27 -8
- package/dist/cli/mcp.js.map +1 -1
- package/dist/config/project-config.d.ts +13 -2
- package/dist/config/project-config.d.ts.map +1 -1
- package/dist/config/project-config.js +12 -2
- package/dist/config/project-config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/handlers/index.d.ts +7 -3
- package/dist/lifecycle/handlers/index.d.ts.map +1 -1
- package/dist/lifecycle/handlers/index.js +25 -8
- package/dist/lifecycle/handlers/index.js.map +1 -1
- package/dist/lifecycle/types.d.ts +2 -0
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/dist/map/adapter/extensions/index.d.ts +4 -1
- package/dist/map/adapter/extensions/index.d.ts.map +1 -1
- package/dist/map/adapter/extensions/index.js +27 -0
- package/dist/map/adapter/extensions/index.js.map +1 -1
- package/dist/map/adapter/extensions/streams.d.ts +95 -0
- package/dist/map/adapter/extensions/streams.d.ts.map +1 -0
- package/dist/map/adapter/extensions/streams.js +515 -0
- package/dist/map/adapter/extensions/streams.js.map +1 -0
- package/dist/map/adapter/index.d.ts +1 -1
- package/dist/map/adapter/index.d.ts.map +1 -1
- package/dist/map/adapter/index.js +3 -1
- package/dist/map/adapter/index.js.map +1 -1
- package/dist/map/adapter/types.d.ts +1 -1
- package/dist/map/adapter/types.d.ts.map +1 -1
- package/dist/mcp/mcp-server.d.ts +2 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -1
- package/dist/mcp/mcp-server.js +12 -3
- package/dist/mcp/mcp-server.js.map +1 -1
- package/dist/mcp/tools/done.d.ts.map +1 -1
- package/dist/mcp/tools/done.js +18 -0
- package/dist/mcp/tools/done.js.map +1 -1
- package/dist/roles/builtin/coordinator.d.ts.map +1 -1
- package/dist/roles/builtin/coordinator.js +2 -1
- package/dist/roles/builtin/coordinator.js.map +1 -1
- package/dist/roles/builtin/integrator.d.ts.map +1 -1
- package/dist/roles/builtin/integrator.js +2 -1
- package/dist/roles/builtin/integrator.js.map +1 -1
- package/dist/roles/builtin/worker.d.ts.map +1 -1
- package/dist/roles/builtin/worker.js +3 -1
- package/dist/roles/builtin/worker.js.map +1 -1
- package/dist/roles/capabilities.d.ts +6 -0
- package/dist/roles/capabilities.d.ts.map +1 -1
- package/dist/roles/capabilities.js +10 -0
- package/dist/roles/capabilities.js.map +1 -1
- package/dist/roles/config-loader.d.ts +1 -1
- package/dist/roles/config-loader.d.ts.map +1 -1
- package/dist/roles/config-loader.js +3 -2
- package/dist/roles/config-loader.js.map +1 -1
- package/dist/roles/types.d.ts +3 -1
- package/dist/roles/types.d.ts.map +1 -1
- package/dist/server/combined-server.d.ts +8 -1
- package/dist/server/combined-server.d.ts.map +1 -1
- package/dist/server/combined-server.js +6 -2
- package/dist/server/combined-server.js.map +1 -1
- package/dist/store/event-store.d.ts.map +1 -1
- package/dist/store/event-store.js +12 -5
- package/dist/store/event-store.js.map +1 -1
- package/dist/store/instance.d.ts +1 -1
- package/dist/store/instance.d.ts.map +1 -1
- package/dist/store/instance.js +2 -2
- package/dist/store/instance.js.map +1 -1
- package/dist/store/types/agents.d.ts +5 -0
- package/dist/store/types/agents.d.ts.map +1 -1
- package/dist/task/backend/opentasks/daemon-manager.d.ts.map +1 -1
- package/dist/task/backend/opentasks/daemon-manager.js +1 -1
- package/dist/task/backend/opentasks/daemon-manager.js.map +1 -1
- package/dist/teams/index.d.ts +3 -1
- package/dist/teams/index.d.ts.map +1 -1
- package/dist/teams/index.js +2 -0
- package/dist/teams/index.js.map +1 -1
- package/dist/teams/seed-defaults.d.ts +20 -0
- package/dist/teams/seed-defaults.d.ts.map +1 -0
- package/dist/teams/seed-defaults.js +71 -0
- package/dist/teams/seed-defaults.js.map +1 -0
- package/dist/teams/team-loader.d.ts +6 -2
- package/dist/teams/team-loader.d.ts.map +1 -1
- package/dist/teams/team-loader.js +154 -162
- package/dist/teams/team-loader.js.map +1 -1
- package/dist/teams/team-manager.d.ts +112 -0
- package/dist/teams/team-manager.d.ts.map +1 -0
- package/dist/teams/team-manager.js +305 -0
- package/dist/teams/team-manager.js.map +1 -0
- package/dist/teams/team-runtime.d.ts +125 -19
- package/dist/teams/team-runtime.d.ts.map +1 -1
- package/dist/teams/team-runtime.js +527 -119
- package/dist/teams/team-runtime.js.map +1 -1
- package/dist/teams/types.d.ts +41 -151
- package/dist/teams/types.d.ts.map +1 -1
- package/dist/teams/types.js +2 -3
- package/dist/teams/types.js.map +1 -1
- package/docs/teams.md +73 -0
- package/package.json +2 -1
- package/references/minimem/.claude/settings.json +7 -0
- package/references/minimem/.sudocode/issues.jsonl +18 -0
- package/references/minimem/.sudocode/specs.jsonl +1 -0
- package/references/minimem/CLAUDE.md +310 -0
- package/references/minimem/README.md +562 -0
- package/references/minimem/claude-plugin/.claude-plugin/plugin.json +10 -0
- package/references/minimem/claude-plugin/.mcp.json +7 -0
- package/references/minimem/claude-plugin/README.md +158 -0
- package/references/minimem/claude-plugin/commands/recall.md +47 -0
- package/references/minimem/claude-plugin/commands/remember.md +41 -0
- package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +272 -0
- package/references/minimem/claude-plugin/hooks/hooks.json +27 -0
- package/references/minimem/claude-plugin/hooks/session-end.sh +86 -0
- package/references/minimem/claude-plugin/hooks/session-start.sh +85 -0
- package/references/minimem/claude-plugin/skills/memory/SKILL.md +108 -0
- package/references/minimem/media/banner.png +0 -0
- package/references/minimem/package-lock.json +5373 -0
- package/references/minimem/package.json +72 -0
- package/references/minimem/scripts/postbuild.js +35 -0
- package/references/minimem/src/__tests__/edge-cases.test.ts +371 -0
- package/references/minimem/src/__tests__/errors.test.ts +265 -0
- package/references/minimem/src/__tests__/helpers.ts +199 -0
- package/references/minimem/src/__tests__/internal.test.ts +407 -0
- package/references/minimem/src/__tests__/knowledge.test.ts +287 -0
- package/references/minimem/src/__tests__/minimem.integration.test.ts +1127 -0
- package/references/minimem/src/__tests__/session.test.ts +190 -0
- package/references/minimem/src/cli/__tests__/commands.test.ts +759 -0
- package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +141 -0
- package/references/minimem/src/cli/commands/append.ts +76 -0
- package/references/minimem/src/cli/commands/config.ts +262 -0
- package/references/minimem/src/cli/commands/conflicts.ts +413 -0
- package/references/minimem/src/cli/commands/daemon.ts +169 -0
- package/references/minimem/src/cli/commands/index.ts +12 -0
- package/references/minimem/src/cli/commands/init.ts +88 -0
- package/references/minimem/src/cli/commands/mcp.ts +177 -0
- package/references/minimem/src/cli/commands/push-pull.ts +213 -0
- package/references/minimem/src/cli/commands/search.ts +158 -0
- package/references/minimem/src/cli/commands/status.ts +84 -0
- package/references/minimem/src/cli/commands/sync-init.ts +290 -0
- package/references/minimem/src/cli/commands/sync.ts +70 -0
- package/references/minimem/src/cli/commands/upsert.ts +197 -0
- package/references/minimem/src/cli/config.ts +584 -0
- package/references/minimem/src/cli/index.ts +264 -0
- package/references/minimem/src/cli/shared.ts +161 -0
- package/references/minimem/src/cli/sync/__tests__/central.test.ts +152 -0
- package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +209 -0
- package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +118 -0
- package/references/minimem/src/cli/sync/__tests__/detection.test.ts +207 -0
- package/references/minimem/src/cli/sync/__tests__/integration.test.ts +476 -0
- package/references/minimem/src/cli/sync/__tests__/registry.test.ts +363 -0
- package/references/minimem/src/cli/sync/__tests__/state.test.ts +255 -0
- package/references/minimem/src/cli/sync/__tests__/validation.test.ts +193 -0
- package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +178 -0
- package/references/minimem/src/cli/sync/central.ts +292 -0
- package/references/minimem/src/cli/sync/conflicts.ts +204 -0
- package/references/minimem/src/cli/sync/daemon.ts +407 -0
- package/references/minimem/src/cli/sync/detection.ts +138 -0
- package/references/minimem/src/cli/sync/index.ts +107 -0
- package/references/minimem/src/cli/sync/operations.ts +373 -0
- package/references/minimem/src/cli/sync/registry.ts +279 -0
- package/references/minimem/src/cli/sync/state.ts +355 -0
- package/references/minimem/src/cli/sync/validation.ts +206 -0
- package/references/minimem/src/cli/sync/watcher.ts +234 -0
- package/references/minimem/src/cli/version.ts +34 -0
- package/references/minimem/src/core/index.ts +9 -0
- package/references/minimem/src/core/indexer.ts +628 -0
- package/references/minimem/src/core/searcher.ts +221 -0
- package/references/minimem/src/db/schema.ts +183 -0
- package/references/minimem/src/db/sqlite-vec.ts +24 -0
- package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +431 -0
- package/references/minimem/src/embeddings/batch-gemini.ts +392 -0
- package/references/minimem/src/embeddings/batch-openai.ts +409 -0
- package/references/minimem/src/embeddings/embeddings.ts +434 -0
- package/references/minimem/src/index.ts +109 -0
- package/references/minimem/src/internal.ts +299 -0
- package/references/minimem/src/minimem.ts +1276 -0
- package/references/minimem/src/search/__tests__/hybrid.test.ts +247 -0
- package/references/minimem/src/search/graph.ts +234 -0
- package/references/minimem/src/search/hybrid.ts +151 -0
- package/references/minimem/src/search/search.ts +256 -0
- package/references/minimem/src/server/__tests__/mcp.test.ts +341 -0
- package/references/minimem/src/server/__tests__/tools.test.ts +364 -0
- package/references/minimem/src/server/mcp.ts +326 -0
- package/references/minimem/src/server/tools.ts +720 -0
- package/references/minimem/src/session.ts +460 -0
- package/references/minimem/tsconfig.json +19 -0
- package/references/minimem/tsup.config.ts +26 -0
- package/references/minimem/vitest.config.ts +24 -0
- package/references/openteams/.claude/settings.json +6 -0
- package/references/openteams/README.md +1 -0
- package/references/openteams/SKILL.md +341 -0
- package/references/openteams/design.md +411 -0
- package/references/openteams/examples/bmad-method/prompts/analyst/ROLE.md +16 -0
- package/references/openteams/examples/bmad-method/prompts/analyst/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/architect/ROLE.md +24 -0
- package/references/openteams/examples/bmad-method/prompts/architect/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/developer/ROLE.md +25 -0
- package/references/openteams/examples/bmad-method/prompts/developer/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/master/ROLE.md +21 -0
- package/references/openteams/examples/bmad-method/prompts/master/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/pm/ROLE.md +20 -0
- package/references/openteams/examples/bmad-method/prompts/pm/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/qa/ROLE.md +17 -0
- package/references/openteams/examples/bmad-method/prompts/qa/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/ROLE.md +23 -0
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/scrum-master/ROLE.md +27 -0
- package/references/openteams/examples/bmad-method/prompts/scrum-master/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/tech-writer/ROLE.md +21 -0
- package/references/openteams/examples/bmad-method/prompts/tech-writer/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/prompts/ux-designer/ROLE.md +16 -0
- package/references/openteams/examples/bmad-method/prompts/ux-designer/SOUL.md +5 -0
- package/references/openteams/examples/bmad-method/roles/analyst.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/architect.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/developer.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/master.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/pm.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/qa.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/quick-flow-dev.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/scrum-master.yaml +9 -0
- package/references/openteams/examples/bmad-method/roles/tech-writer.yaml +8 -0
- package/references/openteams/examples/bmad-method/roles/ux-designer.yaml +8 -0
- package/references/openteams/examples/bmad-method/team.yaml +161 -0
- package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/ROLE.md +17 -0
- package/references/openteams/examples/get-shit-done/prompts/codebase-mapper/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/debugger/ROLE.md +25 -0
- package/references/openteams/examples/get-shit-done/prompts/debugger/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/executor/ROLE.md +34 -0
- package/references/openteams/examples/get-shit-done/prompts/executor/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/integration-checker/ROLE.md +18 -0
- package/references/openteams/examples/get-shit-done/prompts/integration-checker/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/orchestrator/ROLE.md +42 -0
- package/references/openteams/examples/get-shit-done/prompts/orchestrator/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/phase-researcher/ROLE.md +15 -0
- package/references/openteams/examples/get-shit-done/prompts/phase-researcher/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/plan-checker/ROLE.md +17 -0
- package/references/openteams/examples/get-shit-done/prompts/plan-checker/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/planner/ROLE.md +28 -0
- package/references/openteams/examples/get-shit-done/prompts/planner/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/prompts/project-researcher/ROLE.md +16 -0
- package/references/openteams/examples/get-shit-done/prompts/project-researcher/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/ROLE.md +13 -0
- package/references/openteams/examples/get-shit-done/prompts/research-synthesizer/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/roadmapper/ROLE.md +14 -0
- package/references/openteams/examples/get-shit-done/prompts/roadmapper/SOUL.md +3 -0
- package/references/openteams/examples/get-shit-done/prompts/verifier/ROLE.md +19 -0
- package/references/openteams/examples/get-shit-done/prompts/verifier/SOUL.md +5 -0
- package/references/openteams/examples/get-shit-done/roles/codebase-mapper.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/debugger.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/executor.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/integration-checker.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/orchestrator.yaml +9 -0
- package/references/openteams/examples/get-shit-done/roles/phase-researcher.yaml +7 -0
- package/references/openteams/examples/get-shit-done/roles/plan-checker.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/planner.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/project-researcher.yaml +8 -0
- package/references/openteams/examples/get-shit-done/roles/research-synthesizer.yaml +7 -0
- package/references/openteams/examples/get-shit-done/roles/roadmapper.yaml +7 -0
- package/references/openteams/examples/get-shit-done/roles/verifier.yaml +8 -0
- package/references/openteams/examples/get-shit-done/team.yaml +154 -0
- package/references/openteams/package-lock.json +2181 -0
- package/references/openteams/package.json +48 -0
- package/references/openteams/schema/role.schema.json +125 -0
- package/references/openteams/schema/team.schema.json +284 -0
- package/references/openteams/src/cli/agent.ts +104 -0
- package/references/openteams/src/cli/cli.test.ts +381 -0
- package/references/openteams/src/cli/generate.ts +220 -0
- package/references/openteams/src/cli/message.ts +241 -0
- package/references/openteams/src/cli/task.ts +154 -0
- package/references/openteams/src/cli/team.ts +104 -0
- package/references/openteams/src/cli/template.ts +207 -0
- package/references/openteams/src/cli.ts +45 -0
- package/references/openteams/src/db/database.test.ts +185 -0
- package/references/openteams/src/db/database.ts +240 -0
- package/references/openteams/src/generators/agent-prompt-generator.test.ts +332 -0
- package/references/openteams/src/generators/agent-prompt-generator.ts +521 -0
- package/references/openteams/src/generators/package-generator.test.ts +129 -0
- package/references/openteams/src/generators/package-generator.ts +102 -0
- package/references/openteams/src/generators/skill-generator.test.ts +246 -0
- package/references/openteams/src/generators/skill-generator.ts +374 -0
- package/references/openteams/src/index.ts +104 -0
- package/references/openteams/src/services/agent-service.test.ts +158 -0
- package/references/openteams/src/services/agent-service.ts +84 -0
- package/references/openteams/src/services/communication-service.test.ts +455 -0
- package/references/openteams/src/services/communication-service.ts +371 -0
- package/references/openteams/src/services/message-service.test.ts +342 -0
- package/references/openteams/src/services/message-service.ts +203 -0
- package/references/openteams/src/services/task-service.test.ts +434 -0
- package/references/openteams/src/services/task-service.ts +239 -0
- package/references/openteams/src/services/team-service.test.ts +181 -0
- package/references/openteams/src/services/team-service.ts +139 -0
- package/references/openteams/src/services/template-service.test.ts +306 -0
- package/references/openteams/src/services/template-service.ts +182 -0
- package/references/openteams/src/spawner/acp-factory.ts +96 -0
- package/references/openteams/src/spawner/interface.ts +31 -0
- package/references/openteams/src/spawner/mock.test.ts +93 -0
- package/references/openteams/src/spawner/mock.ts +59 -0
- package/references/openteams/src/template/loader.test.ts +1319 -0
- package/references/openteams/src/template/loader.ts +698 -0
- package/references/openteams/src/template/types.ts +200 -0
- package/references/openteams/src/types.ts +205 -0
- package/references/openteams/tsconfig.json +18 -0
- package/references/openteams/vitest.config.ts +9 -0
- package/references/skill-tree/.claude/settings.json +6 -0
- package/references/skill-tree/.sudocode/issues.jsonl +11 -0
- package/references/skill-tree/.sudocode/specs.jsonl +1 -0
- package/references/skill-tree/CLAUDE.md +150 -0
- package/references/skill-tree/README.md +324 -0
- package/references/skill-tree/docs/GAPS_v1.md +221 -0
- package/references/skill-tree/docs/INTEGRATION_PLAN.md +467 -0
- package/references/skill-tree/docs/TODOS.md +91 -0
- package/references/skill-tree/docs/anthropic_skill_guide.md +1364 -0
- package/references/skill-tree/docs/design/federated-skill-trees.md +524 -0
- package/references/skill-tree/docs/design/multi-agent-sync.md +759 -0
- package/references/skill-tree/docs/scraper/BRAINSTORM.md +583 -0
- package/references/skill-tree/docs/scraper/POC_PLAN.md +420 -0
- package/references/skill-tree/docs/scraper/README.md +170 -0
- package/references/skill-tree/examples/basic-usage.ts +190 -0
- package/references/skill-tree/package-lock.json +1509 -0
- package/references/skill-tree/package.json +66 -0
- package/references/skill-tree/scraper/README.md +123 -0
- package/references/skill-tree/scraper/docs/DESIGN.md +683 -0
- package/references/skill-tree/scraper/docs/PLAN.md +336 -0
- package/references/skill-tree/scraper/drizzle.config.ts +10 -0
- package/references/skill-tree/scraper/package-lock.json +6329 -0
- package/references/skill-tree/scraper/package.json +68 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +27 -0
- package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +21 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +54 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +24 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +93 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +22 -0
- package/references/skill-tree/scraper/tsup.config.ts +14 -0
- package/references/skill-tree/scraper/vitest.config.ts +17 -0
- package/references/skill-tree/scripts/convert-to-vitest.ts +166 -0
- package/references/skill-tree/skills/skill-writer/SKILL.md +339 -0
- package/references/skill-tree/skills/skill-writer/references/examples.md +326 -0
- package/references/skill-tree/skills/skill-writer/references/patterns.md +210 -0
- package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +123 -0
- package/references/skill-tree/test/run-all.ts +106 -0
- package/references/skill-tree/test/utils.ts +128 -0
- package/references/skill-tree/vitest.config.ts +16 -0
- package/src/agent/agent-manager.ts +143 -72
- package/src/agent/types.ts +9 -0
- package/src/api/__tests__/server.test.ts +203 -4
- package/src/api/server.ts +130 -5
- package/src/api/types.ts +3 -1
- package/src/cli/acp.ts +68 -1
- package/src/cli/index.ts +5 -1
- package/src/cli/mcp.ts +27 -13
- package/src/config/project-config.ts +27 -3
- package/src/index.ts +3 -0
- package/src/lifecycle/__tests__/handlers.test.ts +53 -0
- package/src/lifecycle/handlers/index.ts +25 -8
- package/src/lifecycle/types.ts +3 -0
- package/src/map/adapter/__tests__/stream-extensions.test.ts +494 -0
- package/src/map/adapter/extensions/index.ts +36 -0
- package/src/map/adapter/extensions/streams.ts +839 -0
- package/src/map/adapter/index.ts +5 -0
- package/src/map/adapter/types.ts +8 -1
- package/src/mcp/mcp-server.ts +14 -3
- package/src/mcp/tools/done.ts +19 -0
- package/src/roles/builtin/coordinator.ts +2 -0
- package/src/roles/builtin/integrator.ts +2 -0
- package/src/roles/builtin/worker.ts +3 -0
- package/src/roles/capabilities.ts +11 -0
- package/src/roles/config-loader.ts +3 -2
- package/src/roles/types.ts +7 -0
- package/src/server/combined-server.ts +15 -1
- package/src/store/__tests__/event-store-oob.test.ts +109 -0
- package/src/store/event-store.ts +13 -3
- package/src/store/instance.ts +2 -2
- package/src/store/types/agents.ts +5 -0
- package/src/task/backend/__tests__/memory-pull-mode.test.ts +153 -0
- package/src/task/backend/opentasks/daemon-manager.ts +4 -1
- package/src/teams/CLAUDE.md +180 -0
- package/src/teams/__tests__/e2e/workspace-isolation.e2e.test.ts +1263 -0
- package/src/teams/__tests__/team-manager.test.ts +814 -0
- package/src/teams/__tests__/team-system.test.ts +1291 -8
- package/src/teams/index.ts +21 -3
- package/src/teams/seed-defaults.ts +79 -0
- package/src/teams/team-loader.ts +200 -234
- package/src/teams/team-manager.ts +387 -0
- package/src/teams/team-runtime.ts +590 -121
- package/src/teams/types.ts +99 -200
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
# OpenTeams CLI - Usage Guide
|
|
2
|
+
|
|
3
|
+
OpenTeams is a CLI tool for coordinating multi-agent teams. It manages team lifecycle, shared task lists, inter-agent messaging, and agent spawning.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install
|
|
9
|
+
npm run build
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
For agent spawning via ACP (optional):
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install acp-factory
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Quick Start
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Create a team
|
|
22
|
+
openteams team create my-project --description "Building a new feature"
|
|
23
|
+
|
|
24
|
+
# Add tasks
|
|
25
|
+
openteams task create my-project -s "Design API" -d "Design the REST API endpoints"
|
|
26
|
+
openteams task create my-project -s "Implement API" -d "Build the endpoints" --blocked-by 1
|
|
27
|
+
openteams task create my-project -s "Write tests" -d "Add integration tests" --blocked-by 2
|
|
28
|
+
|
|
29
|
+
# Spawn agents
|
|
30
|
+
openteams agent spawn my-project -n researcher -p "Research existing patterns" -t explore
|
|
31
|
+
openteams agent spawn my-project -n implementer -p "Implement the API" -t general-purpose
|
|
32
|
+
|
|
33
|
+
# Assign tasks
|
|
34
|
+
openteams task update my-project 1 --owner researcher --status in_progress
|
|
35
|
+
|
|
36
|
+
# Send messages between agents
|
|
37
|
+
openteams message send my-project --to implementer --content "API design is ready" --summary "Design complete"
|
|
38
|
+
|
|
39
|
+
# Check progress
|
|
40
|
+
openteams task list my-project
|
|
41
|
+
|
|
42
|
+
# Clean up
|
|
43
|
+
openteams agent shutdown my-project researcher
|
|
44
|
+
openteams agent shutdown my-project implementer
|
|
45
|
+
openteams team delete my-project
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Commands
|
|
49
|
+
|
|
50
|
+
### Team Management
|
|
51
|
+
|
|
52
|
+
| Command | Description |
|
|
53
|
+
|---------|-------------|
|
|
54
|
+
| `openteams team create <name>` | Create a new team |
|
|
55
|
+
| `openteams team list` | List all active teams |
|
|
56
|
+
| `openteams team info <name>` | Show team details and members |
|
|
57
|
+
| `openteams team delete <name>` | Delete a team (members must be shut down) |
|
|
58
|
+
|
|
59
|
+
Options for `team create`:
|
|
60
|
+
- `-d, --description <text>` - Team description
|
|
61
|
+
- `-t, --agent-type <type>` - Agent type for team lead
|
|
62
|
+
|
|
63
|
+
### Task Management
|
|
64
|
+
|
|
65
|
+
| Command | Description |
|
|
66
|
+
|---------|-------------|
|
|
67
|
+
| `openteams task create <team>` | Create a new task |
|
|
68
|
+
| `openteams task list <team>` | List tasks (with optional filters) |
|
|
69
|
+
| `openteams task get <team> <id>` | Get full task details |
|
|
70
|
+
| `openteams task update <team> <id>` | Update a task |
|
|
71
|
+
|
|
72
|
+
Options for `task create`:
|
|
73
|
+
- `-s, --subject <text>` (required) - Task title
|
|
74
|
+
- `-d, --description <text>` (required) - Task description
|
|
75
|
+
- `-a, --active-form <text>` - Present continuous form (e.g., "Fixing bug")
|
|
76
|
+
- `--blocked-by <ids>` - Comma-separated task IDs that block this task
|
|
77
|
+
- `--metadata <json>` - JSON metadata
|
|
78
|
+
|
|
79
|
+
Options for `task list`:
|
|
80
|
+
- `--status <status>` - Filter: pending, in_progress, completed
|
|
81
|
+
- `--owner <name>` - Filter by assigned agent
|
|
82
|
+
|
|
83
|
+
Options for `task update`:
|
|
84
|
+
- `--status <status>` - pending, in_progress, completed, deleted
|
|
85
|
+
- `--owner <name>` - Assign to an agent
|
|
86
|
+
- `-s, --subject <text>` - New title
|
|
87
|
+
- `-d, --description <text>` - New description
|
|
88
|
+
- `--add-blocks <ids>` - Task IDs this task blocks
|
|
89
|
+
- `--add-blocked-by <ids>` - Task IDs that block this task
|
|
90
|
+
- `--metadata <json>` - JSON metadata to merge
|
|
91
|
+
|
|
92
|
+
### Messaging
|
|
93
|
+
|
|
94
|
+
| Command | Description |
|
|
95
|
+
|---------|-------------|
|
|
96
|
+
| `openteams message send <team>` | Send a direct message |
|
|
97
|
+
| `openteams message broadcast <team>` | Broadcast to all teammates |
|
|
98
|
+
| `openteams message shutdown <team>` | Send a shutdown request |
|
|
99
|
+
| `openteams message list <team>` | List messages |
|
|
100
|
+
|
|
101
|
+
Options for `message send`:
|
|
102
|
+
- `--to <name>` (required) - Recipient agent name
|
|
103
|
+
- `--content <text>` (required) - Message body
|
|
104
|
+
- `--summary <text>` (required) - Short summary (5-10 words)
|
|
105
|
+
- `--from <name>` - Sender (default: "lead")
|
|
106
|
+
|
|
107
|
+
Options for `message list`:
|
|
108
|
+
- `--agent <name>` - Filter messages for a specific agent
|
|
109
|
+
|
|
110
|
+
### Agent Management
|
|
111
|
+
|
|
112
|
+
| Command | Description |
|
|
113
|
+
|---------|-------------|
|
|
114
|
+
| `openteams agent spawn <team>` | Spawn a new agent |
|
|
115
|
+
| `openteams agent list <team>` | List agents in a team |
|
|
116
|
+
| `openteams agent info <team> <name>` | Show agent details |
|
|
117
|
+
| `openteams agent shutdown <team> <name>` | Shut down an agent |
|
|
118
|
+
|
|
119
|
+
Options for `agent spawn`:
|
|
120
|
+
- `-n, --name <name>` (required) - Agent name
|
|
121
|
+
- `-p, --prompt <text>` (required) - Instructions for the agent
|
|
122
|
+
- `-t, --type <type>` - Agent type: bash, general-purpose, explore, plan (default: general-purpose)
|
|
123
|
+
- `-m, --model <model>` - Model: sonnet, opus, haiku
|
|
124
|
+
- `--cwd <dir>` - Working directory
|
|
125
|
+
|
|
126
|
+
## Programmatic Usage
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
import {
|
|
130
|
+
createInMemoryDatabase,
|
|
131
|
+
TeamService,
|
|
132
|
+
TaskService,
|
|
133
|
+
MessageService,
|
|
134
|
+
AgentService,
|
|
135
|
+
MockSpawner,
|
|
136
|
+
} from "openteams";
|
|
137
|
+
|
|
138
|
+
const db = createInMemoryDatabase();
|
|
139
|
+
const teamService = new TeamService(db);
|
|
140
|
+
const taskService = new TaskService(db);
|
|
141
|
+
const messageService = new MessageService(db);
|
|
142
|
+
const agentService = new AgentService(db, new MockSpawner());
|
|
143
|
+
|
|
144
|
+
// Create a team and tasks
|
|
145
|
+
teamService.create({ name: "my-team", description: "Example" });
|
|
146
|
+
taskService.create({
|
|
147
|
+
teamName: "my-team",
|
|
148
|
+
subject: "Research",
|
|
149
|
+
description: "Explore the codebase",
|
|
150
|
+
});
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Custom Agent Spawner
|
|
154
|
+
|
|
155
|
+
Implement the `AgentSpawner` interface to use your own agent backend:
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
import type { AgentSpawner, AgentInstance, SpawnAgentOptions } from "openteams";
|
|
159
|
+
|
|
160
|
+
class MySpawner implements AgentSpawner {
|
|
161
|
+
async spawn(options: SpawnAgentOptions): Promise<AgentInstance> {
|
|
162
|
+
// Your spawning logic
|
|
163
|
+
}
|
|
164
|
+
async shutdown(agentId: string): Promise<void> {
|
|
165
|
+
// Your shutdown logic
|
|
166
|
+
}
|
|
167
|
+
list(): AgentInstance[] {
|
|
168
|
+
// Return running agents
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Team Templates
|
|
174
|
+
|
|
175
|
+
| Command | Description |
|
|
176
|
+
|---------|-------------|
|
|
177
|
+
| `openteams template load <dir>` | Load a template and create a team from it |
|
|
178
|
+
| `openteams template validate <dir>` | Validate a template without creating a team |
|
|
179
|
+
| `openteams template info <team>` | Show template topology for a team |
|
|
180
|
+
| `openteams template emit <team>` | Emit a signal on a channel |
|
|
181
|
+
| `openteams template events <team>` | List signal events |
|
|
182
|
+
|
|
183
|
+
Options for `template load`:
|
|
184
|
+
- `-n, --name <name>` - Override the team name from the manifest
|
|
185
|
+
|
|
186
|
+
Options for `template emit`:
|
|
187
|
+
- `-c, --channel <channel>` (required) - Channel name
|
|
188
|
+
- `-s, --signal <signal>` (required) - Signal name
|
|
189
|
+
- `--sender <sender>` (required) - Sender agent/role name
|
|
190
|
+
- `-p, --payload <json>` - JSON payload
|
|
191
|
+
|
|
192
|
+
Options for `template events`:
|
|
193
|
+
- `-c, --channel <channel>` - Filter by channel
|
|
194
|
+
- `-s, --signal <signal>` - Filter by signal
|
|
195
|
+
- `--sender <sender>` - Filter by sender
|
|
196
|
+
- `--role <role>` - Show events visible to a specific role (subscription-filtered)
|
|
197
|
+
|
|
198
|
+
## Quick Start with Templates
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# Validate a template
|
|
202
|
+
openteams template validate ./templates/self-driving
|
|
203
|
+
|
|
204
|
+
# Create a team from a template
|
|
205
|
+
openteams template load ./templates/self-driving
|
|
206
|
+
|
|
207
|
+
# Or with a custom name
|
|
208
|
+
openteams template load ./templates/self-driving -n my-project
|
|
209
|
+
|
|
210
|
+
# Inspect the communication topology
|
|
211
|
+
openteams template info self-driving
|
|
212
|
+
|
|
213
|
+
# Emit signals through channels
|
|
214
|
+
openteams template emit self-driving -c task_updates -s TASK_CREATED --sender planner -p '{"taskId":1}'
|
|
215
|
+
|
|
216
|
+
# View events visible to a specific role
|
|
217
|
+
openteams template events self-driving --role judge
|
|
218
|
+
|
|
219
|
+
# Spawn agents with their template roles
|
|
220
|
+
openteams agent spawn self-driving -n planner-1 -p "You are the planner" -t general-purpose
|
|
221
|
+
openteams agent spawn self-driving -n grinder-1 -p "You claim and execute tasks" -t general-purpose
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Template Directory Structure
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
templates/self-driving/
|
|
228
|
+
├── team.yaml # Manifest: topology, communication, roles
|
|
229
|
+
├── roles/
|
|
230
|
+
│ ├── planner.yaml # Role definition with capabilities
|
|
231
|
+
│ ├── grinder.yaml
|
|
232
|
+
│ └── judge.yaml
|
|
233
|
+
└── prompts/
|
|
234
|
+
├── grinder.md # Single-file prompt (simple roles)
|
|
235
|
+
└── planner/ # Multi-file prompt directory
|
|
236
|
+
├── SOUL.md # Personality, values, communication style
|
|
237
|
+
├── ROLE.md # Operational instructions (primary)
|
|
238
|
+
└── RULES.md # Coding standards, constraints (optional)
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Minimal team.yaml
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
name: my-team
|
|
245
|
+
version: 1
|
|
246
|
+
roles: [coordinator, worker]
|
|
247
|
+
topology:
|
|
248
|
+
root:
|
|
249
|
+
role: coordinator
|
|
250
|
+
spawn_rules:
|
|
251
|
+
coordinator: [worker]
|
|
252
|
+
worker: []
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Full team.yaml with communication
|
|
256
|
+
|
|
257
|
+
```yaml
|
|
258
|
+
name: self-driving
|
|
259
|
+
description: "Autonomous development"
|
|
260
|
+
version: 1
|
|
261
|
+
roles: [planner, grinder, judge]
|
|
262
|
+
|
|
263
|
+
topology:
|
|
264
|
+
root:
|
|
265
|
+
role: planner
|
|
266
|
+
prompt: prompts/planner.md
|
|
267
|
+
config: { model: sonnet }
|
|
268
|
+
companions:
|
|
269
|
+
- role: judge
|
|
270
|
+
prompt: prompts/judge.md
|
|
271
|
+
spawn_rules:
|
|
272
|
+
planner: [grinder, planner]
|
|
273
|
+
judge: []
|
|
274
|
+
grinder: []
|
|
275
|
+
|
|
276
|
+
communication:
|
|
277
|
+
channels:
|
|
278
|
+
task_updates:
|
|
279
|
+
description: "Task lifecycle events"
|
|
280
|
+
signals: [TASK_CREATED, TASK_COMPLETED, TASK_FAILED]
|
|
281
|
+
work_coordination:
|
|
282
|
+
signals: [WORK_ASSIGNED, WORKER_DONE]
|
|
283
|
+
subscriptions:
|
|
284
|
+
planner:
|
|
285
|
+
- channel: task_updates
|
|
286
|
+
- channel: work_coordination
|
|
287
|
+
signals: [WORKER_DONE]
|
|
288
|
+
judge:
|
|
289
|
+
- channel: task_updates
|
|
290
|
+
signals: [TASK_FAILED]
|
|
291
|
+
grinder:
|
|
292
|
+
- channel: work_coordination
|
|
293
|
+
signals: [WORK_ASSIGNED]
|
|
294
|
+
emissions:
|
|
295
|
+
planner: [TASK_CREATED, WORK_ASSIGNED]
|
|
296
|
+
grinder: [WORKER_DONE]
|
|
297
|
+
routing:
|
|
298
|
+
peers:
|
|
299
|
+
- from: judge
|
|
300
|
+
to: planner
|
|
301
|
+
via: direct
|
|
302
|
+
signals: [FIXUP_CREATED]
|
|
303
|
+
|
|
304
|
+
# Extension fields for other systems (stored, not interpreted)
|
|
305
|
+
macro_agent:
|
|
306
|
+
task_assignment: { mode: pull }
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## Recommended Workflow
|
|
310
|
+
|
|
311
|
+
### Manual (no template)
|
|
312
|
+
|
|
313
|
+
1. **Create team** - `openteams team create <name>`
|
|
314
|
+
2. **Define tasks** - Multiple `task create` calls with dependencies
|
|
315
|
+
3. **Spawn agents** - `agent spawn` for each role
|
|
316
|
+
4. **Assign work** - `task update` to set owners
|
|
317
|
+
5. **Coordinate** - `message send` / `message broadcast` as needed
|
|
318
|
+
6. **Monitor** - `task list` and `agent list` to track progress
|
|
319
|
+
7. **Shut down agents** - `agent shutdown` for each agent
|
|
320
|
+
8. **Clean up** - `team delete`
|
|
321
|
+
|
|
322
|
+
### Template-based
|
|
323
|
+
|
|
324
|
+
1. **Load template** - `openteams template load ./templates/my-template`
|
|
325
|
+
2. **Inspect topology** - `openteams template info <team>`
|
|
326
|
+
3. **Spawn agents** per template roles - `agent spawn` with role-appropriate prompts
|
|
327
|
+
4. **Create tasks** - `task create` with dependencies
|
|
328
|
+
5. **Emit signals** - `template emit` to coordinate through channels
|
|
329
|
+
6. **Monitor** - `template events` to observe signal flow
|
|
330
|
+
7. **Clean up** - Shutdown agents, then `team delete`
|
|
331
|
+
|
|
332
|
+
## Data Storage
|
|
333
|
+
|
|
334
|
+
All state is stored in a SQLite database at `~/.openteams/openteams.db`. The database is created automatically on first use.
|
|
335
|
+
|
|
336
|
+
## Testing
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
npm test # Run tests once
|
|
340
|
+
npm run test:watch # Watch mode
|
|
341
|
+
```
|