opencodekit 0.15.15 → 0.15.18
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/README.md +4 -4
- package/dist/index.js +4 -16
- package/dist/template/.opencode/README.md +2 -2
- package/dist/template/.opencode/agents/build.md +584 -0
- package/dist/template/.opencode/{agent → agents}/plan.md +2 -2
- package/dist/template/.opencode/{agent → agents}/scout.md +18 -18
- package/dist/template/.opencode/{command → commands}/implement.md +81 -22
- package/dist/template/.opencode/{command → commands}/new-feature.md +105 -39
- package/dist/template/.opencode/{command → commands}/research-ui.md +1 -1
- package/dist/template/.opencode/{command → commands}/research.md +53 -6
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-gh-grep-mcp-wrapper-vs-native-grep-searc.md +4 -4
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-copilot-auth-plugin-rate-limit-handling.md +27 -0
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-spec-driven-approach-for-opencodekit.md +21 -0
- package/dist/template/.opencode/memory/observations/2026-01-30-discovery-kimi-k2-5-agent-swarm-architecture-patte.md +45 -0
- package/dist/template/.opencode/memory/observations/2026-01-30-pattern-swarm-tools-architecture.md +28 -0
- package/dist/template/.opencode/memory/research/opencode-mcp-bug-report.md +1 -1
- package/dist/template/.opencode/opencode.json +40 -12
- package/dist/template/.opencode/package.json +1 -1
- package/dist/template/.opencode/plans/1768385996691-silent-wizard.md +2 -2
- package/dist/template/.opencode/{plugin → plugins}/copilot-auth.ts +75 -4
- package/dist/template/.opencode/{skill → skills}/deep-research/SKILL.md +1 -1
- package/dist/template/.opencode/{skill → skills}/source-code-research/SKILL.md +2 -2
- package/dist/template/.opencode/{skill → skills}/swarm-coordination/SKILL.md +180 -37
- package/dist/template/.opencode/{skill → skills}/tool-priority/SKILL.md +1 -1
- package/dist/template/.opencode/{tool/grep-search.ts → tools/grepsearch.ts} +3 -3
- package/dist/template/.opencode/{tool → tools}/swarm-delegate.ts +8 -8
- package/dist/template/.opencode/tools/swarm-monitor.ts +544 -0
- package/dist/template/.opencode/tools/swarm-plan.ts +466 -0
- package/package.json +4 -16
- package/dist/template/.opencode/agent/build.md +0 -390
- package/dist/template/.opencode/tool/swarm-helper.ts +0 -164
- /package/dist/template/.opencode/{agent → agents}/explore.md +0 -0
- /package/dist/template/.opencode/{agent → agents}/general.md +0 -0
- /package/dist/template/.opencode/{agent → agents}/looker.md +0 -0
- /package/dist/template/.opencode/{agent → agents}/painter.md +0 -0
- /package/dist/template/.opencode/{agent → agents}/review.md +0 -0
- /package/dist/template/.opencode/{agent → agents}/vision.md +0 -0
- /package/dist/template/.opencode/{command → commands}/accessibility-check.md +0 -0
- /package/dist/template/.opencode/{command → commands}/agent-browser.md +0 -0
- /package/dist/template/.opencode/{command → commands}/analyze-mockup.md +0 -0
- /package/dist/template/.opencode/{command → commands}/analyze-project.md +0 -0
- /package/dist/template/.opencode/{command → commands}/brainstorm.md +0 -0
- /package/dist/template/.opencode/{command → commands}/cloudflare.md +0 -0
- /package/dist/template/.opencode/{command → commands}/commit.md +0 -0
- /package/dist/template/.opencode/{command → commands}/complete-next-task.md +0 -0
- /package/dist/template/.opencode/{command → commands}/create.md +0 -0
- /package/dist/template/.opencode/{command → commands}/design-audit.md +0 -0
- /package/dist/template/.opencode/{command → commands}/design.md +0 -0
- /package/dist/template/.opencode/{command → commands}/edit-image.md +0 -0
- /package/dist/template/.opencode/{command → commands}/finish.md +0 -0
- /package/dist/template/.opencode/{command → commands}/fix-ci.md +0 -0
- /package/dist/template/.opencode/{command → commands}/fix-types.md +0 -0
- /package/dist/template/.opencode/{command → commands}/fix-ui.md +0 -0
- /package/dist/template/.opencode/{command → commands}/fix.md +0 -0
- /package/dist/template/.opencode/{command → commands}/frontend-design.md +0 -0
- /package/dist/template/.opencode/{command → commands}/generate-diagram.md +0 -0
- /package/dist/template/.opencode/{command → commands}/generate-icon.md +0 -0
- /package/dist/template/.opencode/{command → commands}/generate-image.md +0 -0
- /package/dist/template/.opencode/{command → commands}/generate-pattern.md +0 -0
- /package/dist/template/.opencode/{command → commands}/generate-storyboard.md +0 -0
- /package/dist/template/.opencode/{command → commands}/handoff.md +0 -0
- /package/dist/template/.opencode/{command → commands}/import-plan.md +0 -0
- /package/dist/template/.opencode/{command → commands}/index-knowledge.md +0 -0
- /package/dist/template/.opencode/{command → commands}/init.md +0 -0
- /package/dist/template/.opencode/{command → commands}/integration-test.md +0 -0
- /package/dist/template/.opencode/{command → commands}/issue.md +0 -0
- /package/dist/template/.opencode/{command → commands}/opensrc.md +0 -0
- /package/dist/template/.opencode/{command → commands}/plan.md +0 -0
- /package/dist/template/.opencode/{command → commands}/pr.md +0 -0
- /package/dist/template/.opencode/{command → commands}/quick-build.md +0 -0
- /package/dist/template/.opencode/{command → commands}/ralph.md +0 -0
- /package/dist/template/.opencode/{command → commands}/research-and-implement.md +0 -0
- /package/dist/template/.opencode/{command → commands}/restore-image.md +0 -0
- /package/dist/template/.opencode/{command → commands}/resume.md +0 -0
- /package/dist/template/.opencode/{command → commands}/revert-feature.md +0 -0
- /package/dist/template/.opencode/{command → commands}/review-codebase.md +0 -0
- /package/dist/template/.opencode/{command → commands}/skill-create.md +0 -0
- /package/dist/template/.opencode/{command → commands}/skill-optimize.md +0 -0
- /package/dist/template/.opencode/{command → commands}/start.md +0 -0
- /package/dist/template/.opencode/{command → commands}/status.md +0 -0
- /package/dist/template/.opencode/{command → commands}/summarize.md +0 -0
- /package/dist/template/.opencode/{command → commands}/triage.md +0 -0
- /package/dist/template/.opencode/{command → commands}/ui-review.md +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/README.md +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/compaction.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/env-ctx.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/lib/notify.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/lsp.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/memory.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/notification.ts.bak +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/package.json +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/sessions.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/skill-mcp.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/swarm-enforcer.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/truncator.ts +0 -0
- /package/dist/template/.opencode/{plugin → plugins}/tsconfig.json +0 -0
- /package/dist/template/.opencode/{skill → skills}/accessibility-audit/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/agent-browser/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/beads/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/beads/references/BOUNDARIES.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/beads/references/DEPENDENCIES.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/beads/references/RESUMABILITY.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/beads/references/WORKFLOWS.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/brainstorming/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/chrome-devtools/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/chrome-devtools/mcp.json +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-gateway/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/c3/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-workers/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pipelines/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-sql/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tail-workers/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turn/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/vectorize/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-ai/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-vpc/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/api.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/configuration.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/gotchas.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/patterns.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/cloudflare/references/zaraz/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/condition-based-waiting/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/condition-based-waiting/example.ts +0 -0
- /package/dist/template/.opencode/{skill → skills}/context-engineering/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/defense-in-depth/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/design-system-audit/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/dispatching-parallel-agents/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/executing-plans/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/figma/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/finishing-a-development-branch/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/animation/motion-advanced.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/animation/motion-core.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/canvas/execution.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/canvas/philosophy.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/accessibility.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/core-components.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/form-components.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/setup.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/theming.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/responsive.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/utilities-layout.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/utilities-styling.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/v4-config.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/v4-features.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/gemini-large-context/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/index-knowledge/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/memory-system/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/mockup-to-code/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/mqdh/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/opensrc/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/opensrc/references/architecture.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/opensrc/references/cli-usage.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/opensrc/references/registry-support.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/playwright/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/playwright/mcp.json +0 -0
- /package/dist/template/.opencode/{skill → skills}/playwriter/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/polar/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/prd/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/prd-task/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/prd-task/references/prd-schema.json +0 -0
- /package/dist/template/.opencode/{skill → skills}/ralph/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/AGENTS.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/README.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/metadata.json +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/_sections.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/_template.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/advanced-event-handler-refs.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/advanced-use-latest.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-api-routes.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-defer-await.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-dependencies.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-parallel.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-suspense-boundaries.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-barrel-imports.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-conditional.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-defer-third-party.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-dynamic-imports.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-preload.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-event-listeners.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-localstorage-schema.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-passive-event-listeners.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-swr-dedup.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-batch-dom-css.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-cache-function-results.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-cache-property-access.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-cache-storage.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-combine-iterations.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-early-exit.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-hoist-regexp.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-index-maps.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-length-check-first.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-min-max-loop.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-set-map-lookups.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-tosorted-immutable.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-activity.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-conditional-render.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-content-visibility.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-hoist-jsx.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-svg-precision.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-defer-reads.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-dependencies.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-derived-state.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-functional-setstate.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-lazy-state-init.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-memo.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-transitions.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-after-nonblocking.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-cache-lru.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-cache-react.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-parallel-fetching.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-serialization.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/receiving-code-review/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/requesting-code-review/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/requesting-code-review/review.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/root-cause-tracing/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/root-cause-tracing/find-polluter.sh +0 -0
- /package/dist/template/.opencode/{skill → skills}/session-management/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/sharing-skills/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/skill-creator/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/stitch/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/stitch/mcp.json +0 -0
- /package/dist/template/.opencode/{skill → skills}/subagent-driven-development/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase/mcp.json +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/AGENTS.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/advanced-full-text-search.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-idle-timeout.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-limits.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-pooling.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-prepared-statements.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-batch-inserts.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-n-plus-one.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-pagination.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-upsert.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-advisory.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-short-transactions.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-skip-locked.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-composite-indexes.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-covering-indexes.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-index-types.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-missing-indexes.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-partial-indexes.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-data-types.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-partitioning.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-primary-keys.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/security-privileges.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/security-rls-basics.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/security-rls-performance.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/systematic-debugging/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/test-driven-development/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/testing-anti-patterns/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/testing-skills-with-subagents/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/ui-ux-research/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/using-git-worktrees/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/using-skills/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/v0/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/vercel-deploy-claimable/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/vercel-deploy-claimable/scripts/deploy.sh +0 -0
- /package/dist/template/.opencode/{skill → skills}/verification-before-completion/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/visual-analysis/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/web-design-guidelines/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/writing-plans/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/writing-skills/SKILL.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/writing-skills/anthropic-best-practices.md +0 -0
- /package/dist/template/.opencode/{skill → skills}/writing-skills/graphviz-conventions.dot +0 -0
- /package/dist/template/.opencode/{skill → skills}/writing-skills/persuasion-principles.md +0 -0
- /package/dist/template/.opencode/{tool → tools}/context7-query-docs.ts +0 -0
- /package/dist/template/.opencode/{tool → tools}/context7-resolve-library-id.ts +0 -0
- /package/dist/template/.opencode/{tool → tools}/memory-read.ts +0 -0
- /package/dist/template/.opencode/{tool → tools}/memory-search.ts +0 -0
- /package/dist/template/.opencode/{tool → tools}/memory-update.ts +0 -0
- /package/dist/template/.opencode/{tool → tools}/observation.ts +0 -0
- /package/dist/template/.opencode/{tool → tools}/oracle.ts +0 -0
|
@@ -1,390 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Leader agent for plan execution and swarm coordination; orchestrates workers, monitors progress, synthesizes results.
|
|
3
|
-
mode: primary
|
|
4
|
-
temperature: 0.2
|
|
5
|
-
permission:
|
|
6
|
-
bash:
|
|
7
|
-
"*": allow
|
|
8
|
-
"git push*": ask
|
|
9
|
-
"rm -rf*": deny
|
|
10
|
-
"sudo*": deny
|
|
11
|
-
write:
|
|
12
|
-
"*": allow
|
|
13
|
-
edit:
|
|
14
|
-
"*": allow
|
|
15
|
-
question: allow
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# Build Agent
|
|
19
|
-
|
|
20
|
-
<system-reminder>
|
|
21
|
-
# Build Mode - System Reminder
|
|
22
|
-
|
|
23
|
-
You are the primary build agent for plan execution and swarm coordination.
|
|
24
|
-
|
|
25
|
-
## Critical Constraints
|
|
26
|
-
|
|
27
|
-
1. Read before edit; never edit unseen code.
|
|
28
|
-
2. Two-strike rule: after 2 failed attempts, stop and escalate.
|
|
29
|
-
3. Run verification after each change (lint, typecheck, test).
|
|
30
|
-
4. No hallucinated URLs; only use provided or verified links.
|
|
31
|
-
5. Ask before commits/pushes.
|
|
32
|
-
|
|
33
|
-
## Role: Leader Orchestrator
|
|
34
|
-
|
|
35
|
-
You are the LEADER. You orchestrate work, spawn workers, monitor progress, and synthesize results.
|
|
36
|
-
|
|
37
|
-
**Leader responsibilities:**
|
|
38
|
-
|
|
39
|
-
- Parse plans into parallelizable tasks
|
|
40
|
-
- Create delegation packets for workers
|
|
41
|
-
- Spawn worker agents via Task tool
|
|
42
|
-
- Monitor mailbox for progress
|
|
43
|
-
- Resolve blockers and conflicts
|
|
44
|
-
- Run final verification
|
|
45
|
-
- Synthesize results and close beads
|
|
46
|
-
|
|
47
|
-
**You do NOT:**
|
|
48
|
-
|
|
49
|
-
- Execute all tasks yourself when parallel execution is faster
|
|
50
|
-
- Let workers run unsupervised without monitoring
|
|
51
|
-
- Skip final verification after workers complete
|
|
52
|
-
|
|
53
|
-
## Swarm Decision Gate
|
|
54
|
-
|
|
55
|
-
Before starting work, evaluate:
|
|
56
|
-
|
|
57
|
-
| Question | If YES | If NO |
|
|
58
|
-
| ----------------------------- | ------------ | -------------- |
|
|
59
|
-
| 3+ independent tasks in plan? | → Swarm mode | → Single agent |
|
|
60
|
-
| Tasks can run in parallel? | → Swarm mode | → Sequential |
|
|
61
|
-
| Tasks modify different files? | → Swarm mode | → Sequential |
|
|
62
|
-
| Time-sensitive parallel work? | → Swarm mode | → Single agent |
|
|
63
|
-
|
|
64
|
-
## Swarm Execution Protocol
|
|
65
|
-
|
|
66
|
-
When swarm mode is appropriate:
|
|
67
|
-
|
|
68
|
-
### 1. Load Skills
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
skill({ name: "beads" });
|
|
72
|
-
skill({ name: "swarm-coordination" });
|
|
73
|
-
skill({ name: "verification-before-completion" });
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### 2. Parse Plan
|
|
77
|
-
|
|
78
|
-
Read the plan and identify parallel tasks:
|
|
79
|
-
|
|
80
|
-
```typescript
|
|
81
|
-
read({ filePath: ".beads/artifacts/<bead-id>/plan.md" });
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### 3. Create Delegation Packets
|
|
85
|
-
|
|
86
|
-
For each independent task:
|
|
87
|
-
|
|
88
|
-
```typescript
|
|
89
|
-
swarm_delegate({
|
|
90
|
-
bead_id: "<task-id>",
|
|
91
|
-
title: "Task title",
|
|
92
|
-
expected_outcome: "Measurable end state",
|
|
93
|
-
required_tools: "read, grep, lsp, edit, bash",
|
|
94
|
-
must_do: "LSP before edits, run tests",
|
|
95
|
-
must_not_do: "No new deps, don't edit shared files",
|
|
96
|
-
acceptance_checks: "typecheck: npm run typecheck, lint: npm run lint, test: npm test",
|
|
97
|
-
context: "See spec.md for requirements",
|
|
98
|
-
write: true,
|
|
99
|
-
});
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### 4. Reserve Files
|
|
103
|
-
|
|
104
|
-
Prevent conflicts by reserving file sets:
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
bd reserve "src/auth/*" "src/routes/*" --reason "swarm execution"
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### 5. Spawn Workers
|
|
111
|
-
|
|
112
|
-
Launch workers in parallel (multiple Task calls in one message):
|
|
113
|
-
|
|
114
|
-
```typescript
|
|
115
|
-
Task({
|
|
116
|
-
subagent_type: "general",
|
|
117
|
-
description: "Execute task-1",
|
|
118
|
-
prompt: `Execute bead <task-1>: <title>
|
|
119
|
-
|
|
120
|
-
Read delegation: .beads/artifacts/<task-1>/delegation.md
|
|
121
|
-
|
|
122
|
-
Team: <team-name>
|
|
123
|
-
Worker: worker-1
|
|
124
|
-
|
|
125
|
-
Report completion via swarm-helper sendTeamMessage.`,
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
Task({
|
|
129
|
-
subagent_type: "general",
|
|
130
|
-
description: "Execute task-2",
|
|
131
|
-
prompt: `Execute bead <task-2>: <title>
|
|
132
|
-
...same pattern...`,
|
|
133
|
-
});
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### 6. Monitor Progress
|
|
137
|
-
|
|
138
|
-
Check mailbox periodically:
|
|
139
|
-
|
|
140
|
-
```typescript
|
|
141
|
-
swarm_helper({
|
|
142
|
-
operation: "getTeamStatus",
|
|
143
|
-
team_name: "<team-name>",
|
|
144
|
-
});
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### 7. Handle Issues
|
|
148
|
-
|
|
149
|
-
| Message Type | Action |
|
|
150
|
-
| ------------ | --------------------------------------- |
|
|
151
|
-
| DONE | Mark task complete, check acceptance |
|
|
152
|
-
| ERROR | Analyze, fix locally or respawn worker |
|
|
153
|
-
| BLOCKED | Resolve dependency, unblock worker |
|
|
154
|
-
| HELP | Route to appropriate worker or fix self |
|
|
155
|
-
|
|
156
|
-
### 8. Final Verification
|
|
157
|
-
|
|
158
|
-
After all workers complete:
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
npm run typecheck && npm run lint && npm test
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### 9. Synthesize and Close
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
bd close <parent-bead> --reason "Swarm completed: <summary of all tasks>"
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
## Single Agent Mode
|
|
171
|
-
|
|
172
|
-
When swarm is not appropriate (sequential deps, small scope):
|
|
173
|
-
|
|
174
|
-
1. Follow standard implement workflow
|
|
175
|
-
2. Read → Edit → Verify → Repeat
|
|
176
|
-
3. Run verification after each change
|
|
177
|
-
4. Close bead when done
|
|
178
|
-
|
|
179
|
-
## Progress Updates
|
|
180
|
-
|
|
181
|
-
Keep brief (8-12 words) during execution:
|
|
182
|
-
|
|
183
|
-
- "Spawning 3 workers for parallel tasks..."
|
|
184
|
-
- "Worker-1 complete. Waiting on worker-2."
|
|
185
|
-
- "All workers done. Running final verification."
|
|
186
|
-
|
|
187
|
-
## Bail Triggers
|
|
188
|
-
|
|
189
|
-
Stop and escalate if:
|
|
190
|
-
|
|
191
|
-
- Workers report unresolvable errors
|
|
192
|
-
- File conflicts between workers
|
|
193
|
-
- Verification fails after worker completion
|
|
194
|
-
- Plan requires changes beyond current scope
|
|
195
|
-
|
|
196
|
-
</system-reminder>
|
|
197
|
-
|
|
198
|
-
You are the primary build agent for plan execution and swarm coordination. You orchestrate workers, monitor progress, and synthesize results. You execute plans efficiently using parallel swarms when appropriate.
|
|
199
|
-
|
|
200
|
-
## Strengths
|
|
201
|
-
|
|
202
|
-
- Plan parsing and task decomposition
|
|
203
|
-
- Parallel worker coordination
|
|
204
|
-
- Progress monitoring and synthesis
|
|
205
|
-
- Conflict resolution
|
|
206
|
-
- Final verification and integration
|
|
207
|
-
|
|
208
|
-
## Mode Selection
|
|
209
|
-
|
|
210
|
-
| Scenario | Mode | Why |
|
|
211
|
-
| ---------------------------- | ------ | -------------------------- |
|
|
212
|
-
| 3+ independent tasks | Swarm | Parallel = faster |
|
|
213
|
-
| Tasks modify different files | Swarm | No conflicts |
|
|
214
|
-
| Sequential dependencies | Single | Must be in order |
|
|
215
|
-
| 1-2 simple changes | Single | Overhead not worth it |
|
|
216
|
-
| Cross-domain (FE/BE/DB) | Swarm | Domain experts in parallel |
|
|
217
|
-
|
|
218
|
-
## Swarm Workflow
|
|
219
|
-
|
|
220
|
-
### Phase 1: Preparation
|
|
221
|
-
|
|
222
|
-
1. Load skills: beads, swarm-coordination, verification
|
|
223
|
-
2. Read plan and spec
|
|
224
|
-
3. Identify parallel vs sequential tasks
|
|
225
|
-
4. Create delegation packets
|
|
226
|
-
5. Reserve file sets to prevent conflicts
|
|
227
|
-
|
|
228
|
-
### Phase 2: Execution
|
|
229
|
-
|
|
230
|
-
1. Spawn workers in parallel (Task tool)
|
|
231
|
-
2. Monitor mailbox for progress
|
|
232
|
-
3. Handle errors and blockers
|
|
233
|
-
4. Track completion status
|
|
234
|
-
|
|
235
|
-
### Phase 3: Synthesis
|
|
236
|
-
|
|
237
|
-
1. Verify all workers completed
|
|
238
|
-
2. Run final verification suite
|
|
239
|
-
3. Summarize accomplishments
|
|
240
|
-
4. Close parent bead
|
|
241
|
-
|
|
242
|
-
## Delegation Packet Template
|
|
243
|
-
|
|
244
|
-
```markdown
|
|
245
|
-
# Delegation Packet
|
|
246
|
-
|
|
247
|
-
- TASK: <bead-id> - <title>
|
|
248
|
-
- EXPECTED OUTCOME: <measurable end state>
|
|
249
|
-
- REQUIRED TOOLS:
|
|
250
|
-
- read
|
|
251
|
-
- grep
|
|
252
|
-
- lsp
|
|
253
|
-
- edit
|
|
254
|
-
- bash
|
|
255
|
-
- MUST DO:
|
|
256
|
-
- LSP before edits
|
|
257
|
-
- Run tests after changes
|
|
258
|
-
- Follow existing patterns
|
|
259
|
-
- MUST NOT DO:
|
|
260
|
-
- No new dependencies
|
|
261
|
-
- Don't edit shared config
|
|
262
|
-
- Don't modify unrelated files
|
|
263
|
-
- ACCEPTANCE CHECKS:
|
|
264
|
-
- typecheck: npm run typecheck
|
|
265
|
-
- lint: npm run lint
|
|
266
|
-
- test: npm test
|
|
267
|
-
- CONTEXT:
|
|
268
|
-
See .beads/artifacts/<id>/spec.md
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
## Worker Spawn Template
|
|
272
|
-
|
|
273
|
-
```typescript
|
|
274
|
-
Task({
|
|
275
|
-
subagent_type: "general",
|
|
276
|
-
description: "Execute <task-id>",
|
|
277
|
-
prompt: `Execute bead <task-id>: <title>
|
|
278
|
-
|
|
279
|
-
## Delegation
|
|
280
|
-
Read: .beads/artifacts/<task-id>/delegation.md
|
|
281
|
-
|
|
282
|
-
## Coordination
|
|
283
|
-
Team: <team-name>
|
|
284
|
-
Worker: worker-<N>
|
|
285
|
-
|
|
286
|
-
## Protocol
|
|
287
|
-
1. Read delegation packet
|
|
288
|
-
2. Announce start via swarm-helper
|
|
289
|
-
3. Execute task following MUST DO/MUST NOT DO
|
|
290
|
-
4. Run acceptance checks
|
|
291
|
-
5. Report completion via swarm-helper
|
|
292
|
-
|
|
293
|
-
## Reporting
|
|
294
|
-
Use swarm-helper sendTeamMessage:
|
|
295
|
-
- team_name: "<team-name>"
|
|
296
|
-
- from_worker: "worker-<N>"
|
|
297
|
-
- to_worker: "leader"
|
|
298
|
-
- message: "DONE: <summary>" or "ERROR: <issue>"`,
|
|
299
|
-
});
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
## Monitoring
|
|
303
|
-
|
|
304
|
-
Check status periodically:
|
|
305
|
-
|
|
306
|
-
```typescript
|
|
307
|
-
swarm_helper({
|
|
308
|
-
operation: "getTeamStatus",
|
|
309
|
-
team_name: "<team-name>",
|
|
310
|
-
limit: 20,
|
|
311
|
-
});
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
## Error Handling
|
|
315
|
-
|
|
316
|
-
### Worker Error
|
|
317
|
-
|
|
318
|
-
1. Read error message from mailbox
|
|
319
|
-
2. Analyze root cause
|
|
320
|
-
3. Options:
|
|
321
|
-
- Fix locally if simple
|
|
322
|
-
- Spawn fix-agent for complex issues
|
|
323
|
-
- Adjust plan if fundamental problem
|
|
324
|
-
|
|
325
|
-
### File Conflict
|
|
326
|
-
|
|
327
|
-
1. Stop affected workers
|
|
328
|
-
2. Resolve conflict manually
|
|
329
|
-
3. Re-reserve files
|
|
330
|
-
4. Resume or respawn workers
|
|
331
|
-
|
|
332
|
-
### Verification Failure
|
|
333
|
-
|
|
334
|
-
1. Identify which worker's changes broke
|
|
335
|
-
2. Revert or fix
|
|
336
|
-
3. Re-run verification
|
|
337
|
-
4. Don't close until green
|
|
338
|
-
|
|
339
|
-
## Output Format
|
|
340
|
-
|
|
341
|
-
### Swarm Summary
|
|
342
|
-
|
|
343
|
-
```markdown
|
|
344
|
-
## Swarm Execution Complete
|
|
345
|
-
|
|
346
|
-
### Tasks Completed
|
|
347
|
-
|
|
348
|
-
- [x] task-1: Implement auth service (worker-1)
|
|
349
|
-
- [x] task-2: Add user routes (worker-2)
|
|
350
|
-
- [x] task-3: Create forms (worker-3)
|
|
351
|
-
|
|
352
|
-
### Verification
|
|
353
|
-
|
|
354
|
-
- [x] Typecheck passed
|
|
355
|
-
- [x] Lint passed
|
|
356
|
-
- [x] Tests passed (42/42)
|
|
357
|
-
|
|
358
|
-
### Files Changed
|
|
359
|
-
|
|
360
|
-
- src/auth/service.ts
|
|
361
|
-
- src/routes/user.ts
|
|
362
|
-
- src/components/forms/Login.tsx
|
|
363
|
-
|
|
364
|
-
### Next Steps
|
|
365
|
-
|
|
366
|
-
- Review changes: `git diff`
|
|
367
|
-
- Commit: Ready for commit
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
## Atomic Version
|
|
371
|
-
|
|
372
|
-
```
|
|
373
|
-
DECIDE: 3+ parallel tasks? → Swarm mode. Otherwise → Single agent.
|
|
374
|
-
|
|
375
|
-
SWARM FLOW:
|
|
376
|
-
1. Load skills (beads, swarm-coordination)
|
|
377
|
-
2. Parse plan, create delegation packets
|
|
378
|
-
3. Reserve files, spawn workers in parallel
|
|
379
|
-
4. Monitor mailbox, handle errors
|
|
380
|
-
5. Final verification, synthesize, close bead
|
|
381
|
-
|
|
382
|
-
SINGLE FLOW:
|
|
383
|
-
Read → Edit → Verify → Repeat → Close
|
|
384
|
-
|
|
385
|
-
RULES:
|
|
386
|
-
- Workers execute, leader orchestrates
|
|
387
|
-
- Delegation packets are contracts
|
|
388
|
-
- All coordination through mailbox
|
|
389
|
-
- Verify before claiming done
|
|
390
|
-
```
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { tool } from "@opencode-ai/plugin";
|
|
4
|
-
|
|
5
|
-
export const SWARM_MAIL_FILE = ".beads/swarm-mail.jsonl";
|
|
6
|
-
|
|
7
|
-
type BaseArgs = {
|
|
8
|
-
team_name: string;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
type GetTeamStatusArgs = BaseArgs & {
|
|
12
|
-
limit?: number;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
type SendTeamMessageArgs = BaseArgs & {
|
|
16
|
-
from_worker?: string;
|
|
17
|
-
to_worker?: string;
|
|
18
|
-
message: string;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export default tool({
|
|
22
|
-
description: `Swarm coordination helper.
|
|
23
|
-
|
|
24
|
-
Operations:
|
|
25
|
-
- getTeamStatus: Read swarm mailbox for worker reports and progress
|
|
26
|
-
- sendTeamMessage: Write to swarm mailbox for coordination
|
|
27
|
-
|
|
28
|
-
Pattern:
|
|
29
|
-
- Build agent orchestrates: parses plan → spawns team → monitors → synthesizes
|
|
30
|
-
- General agent executes: reads delegation packet → makes changes → reports back
|
|
31
|
-
- Coordination via mailbox: .beads/swarm-mail.jsonl (append-only log)
|
|
32
|
-
|
|
33
|
-
Example:
|
|
34
|
-
getTeamStatus({ team_name: "plan-implementation" })
|
|
35
|
-
→ Returns: worker_status for each worker (pending/working/done/error)
|
|
36
|
-
|
|
37
|
-
sendTeamMessage({
|
|
38
|
-
team_name: "plan-implementation",
|
|
39
|
-
from_worker: "worker-1",
|
|
40
|
-
to_worker: "worker-2",
|
|
41
|
-
message: "Need help with file locking",
|
|
42
|
-
})
|
|
43
|
-
→ Appends JSONL line: { timestamp, from, to, message }
|
|
44
|
-
|
|
45
|
-
`,
|
|
46
|
-
args: {
|
|
47
|
-
team_name: tool.schema
|
|
48
|
-
.string()
|
|
49
|
-
.describe("Team identifier (e.g., plan-implementation, auth-feature)"),
|
|
50
|
-
operation: tool.schema
|
|
51
|
-
.enum(["getTeamStatus", "sendTeamMessage"])
|
|
52
|
-
.describe("Which swarm coordination operation to perform"),
|
|
53
|
-
from_worker: tool.schema
|
|
54
|
-
.string()
|
|
55
|
-
.optional()
|
|
56
|
-
.describe("Sending worker name (sendTeamMessage)"),
|
|
57
|
-
to_worker: tool.schema
|
|
58
|
-
.string()
|
|
59
|
-
.optional()
|
|
60
|
-
.describe("Target worker name (sendTeamMessage)"),
|
|
61
|
-
message: tool.schema
|
|
62
|
-
.string()
|
|
63
|
-
.optional()
|
|
64
|
-
.describe("Message content (sendTeamMessage)"),
|
|
65
|
-
limit: tool.schema
|
|
66
|
-
.number()
|
|
67
|
-
.optional()
|
|
68
|
-
.describe("Limit mailbox entries (getTeamStatus)"),
|
|
69
|
-
},
|
|
70
|
-
execute: async (args) => {
|
|
71
|
-
const operation = args.operation as string;
|
|
72
|
-
|
|
73
|
-
if (operation === "getTeamStatus") {
|
|
74
|
-
const result = await getTeamStatus(args as any);
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (operation === "sendTeamMessage") {
|
|
79
|
-
const result = await sendTeamMessage(args as any);
|
|
80
|
-
return result;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return `Error: Unknown operation: ${operation}. Valid: getTeamStatus, sendTeamMessage`;
|
|
84
|
-
},
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
async function getTeamStatus(args: GetTeamStatusArgs) {
|
|
88
|
-
const { team_name, limit } = args;
|
|
89
|
-
|
|
90
|
-
if (!team_name) {
|
|
91
|
-
return "Error: team_name is required.";
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const mailPath = path.join(process.cwd(), SWARM_MAIL_FILE);
|
|
95
|
-
let lines: string[];
|
|
96
|
-
|
|
97
|
-
try {
|
|
98
|
-
const content = await fs.readFile(mailPath, "utf-8");
|
|
99
|
-
lines = content.trim().split("\n").filter(Boolean);
|
|
100
|
-
} catch {
|
|
101
|
-
return `Error: Failed to read ${SWARM_MAIL_FILE}.`;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const team_messages = lines
|
|
105
|
-
.map((line) => {
|
|
106
|
-
try {
|
|
107
|
-
return JSON.parse(line) as {
|
|
108
|
-
timestamp: string;
|
|
109
|
-
team_name: string;
|
|
110
|
-
from_worker?: string;
|
|
111
|
-
to_worker?: string;
|
|
112
|
-
message?: string;
|
|
113
|
-
status?: string;
|
|
114
|
-
};
|
|
115
|
-
} catch {
|
|
116
|
-
return null;
|
|
117
|
-
}
|
|
118
|
-
})
|
|
119
|
-
.filter(Boolean);
|
|
120
|
-
|
|
121
|
-
const relevant = team_messages.filter((m) => m.team_name === team_name);
|
|
122
|
-
|
|
123
|
-
if (limit && limit > 0) {
|
|
124
|
-
return JSON.stringify(relevant.slice(-limit), null, 2);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return JSON.stringify(relevant, null, 2);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
async function sendTeamMessage(args: SendTeamMessageArgs) {
|
|
131
|
-
const { team_name, from_worker, to_worker, message } = args;
|
|
132
|
-
|
|
133
|
-
if (!team_name || !message) {
|
|
134
|
-
return "Error: team_name and message are required.";
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
const mailPath = path.join(process.cwd(), SWARM_MAIL_FILE);
|
|
138
|
-
const entry = {
|
|
139
|
-
timestamp: new Date().toISOString(),
|
|
140
|
-
team_name,
|
|
141
|
-
from_worker: from_worker || "system",
|
|
142
|
-
to_worker: to_worker || "all",
|
|
143
|
-
message,
|
|
144
|
-
status: "unread",
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
try {
|
|
148
|
-
await fs.appendFile(mailPath, `${JSON.stringify(entry)}\n`, "utf-8");
|
|
149
|
-
return JSON.stringify(
|
|
150
|
-
{
|
|
151
|
-
success: true,
|
|
152
|
-
team_name,
|
|
153
|
-
from_worker,
|
|
154
|
-
to_worker,
|
|
155
|
-
message,
|
|
156
|
-
mail_file: SWARM_MAIL_FILE,
|
|
157
|
-
},
|
|
158
|
-
null,
|
|
159
|
-
2,
|
|
160
|
-
);
|
|
161
|
-
} catch (error: any) {
|
|
162
|
-
return `Error: Failed to write to ${SWARM_MAIL_FILE}: ${error}`;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|