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
|
@@ -93,7 +93,7 @@ Run 2-3 tool calls in parallel.
|
|
|
93
93
|
**Triggers:** "how do others", "compare", "best practices", "production patterns"
|
|
94
94
|
**Target:** Summary, 3-5 code examples, tradeoffs, recommendation
|
|
95
95
|
|
|
96
|
-
1. Search GitHub with
|
|
96
|
+
1. Search GitHub with grepsearch (vary queries for different angles)
|
|
97
97
|
2. Compare 3-5 implementations from different repositories
|
|
98
98
|
3. Synthesize common patterns
|
|
99
99
|
4. Note tradeoffs and edge cases
|
|
@@ -101,8 +101,8 @@ Run 2-3 tool calls in parallel.
|
|
|
101
101
|
```typescript
|
|
102
102
|
// Run 4-6 external tool calls in parallel
|
|
103
103
|
// Adapt language filter based on research context
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
grepsearch({ query: "<pattern 1>" }); // No language filter = search all
|
|
105
|
+
grepsearch({ query: "<pattern 2>", language: "<relevant lang>" });
|
|
106
106
|
codesearch({ query: "<API usage>", tokensNum: 5000 });
|
|
107
107
|
context7_query_docs({ libraryId: "<id>", topic: "<feature>" });
|
|
108
108
|
```
|
|
@@ -123,7 +123,7 @@ Run 4-6 tool calls in parallel.
|
|
|
123
123
|
|
|
124
124
|
Every code reference must include a GitHub permalink. Never link to a branch or tag that can change.
|
|
125
125
|
|
|
126
|
-
To construct a permalink: use `
|
|
126
|
+
To construct a permalink: use `grepsearch` to find code, then build the URL from the repository and file path returned. Format: `https://github.com/owner/repo/blob/<sha>/path/to/file#L10-L20`.
|
|
127
127
|
|
|
128
128
|
## Tool Priority (External Sources Only)
|
|
129
129
|
|
|
@@ -132,7 +132,7 @@ To construct a permalink: use `grep_search` to find code, then build the URL fro
|
|
|
132
132
|
| 1 | memory-search | Past research findings | Instant |
|
|
133
133
|
| 2 | context7 | Official library docs | Fast |
|
|
134
134
|
| 3 | codesearch | Exa Code API for SDK/library patterns | Fast |
|
|
135
|
-
| 4 |
|
|
135
|
+
| 4 | grepsearch | Cross-repo GitHub code search (1M+ repos) | Medium |
|
|
136
136
|
| 5 | webfetch | Specific doc URLs, READMEs, changelogs | Medium |
|
|
137
137
|
| 6 | opensrc + LSP | Clone & analyze source code | Slow |
|
|
138
138
|
| 7 | websearch | Tutorials, blog posts, recent news | Slow |
|
|
@@ -210,14 +210,14 @@ context7_query_docs({ libraryId: nodeId, topic: "streams API" });
|
|
|
210
210
|
| Empty results | Try related terms or "API reference" |
|
|
211
211
|
| API error | Verify CONTEXT7_API_KEY is set (optional) |
|
|
212
212
|
|
|
213
|
-
##
|
|
213
|
+
## grepsearch Tool
|
|
214
214
|
|
|
215
215
|
Use for cross-repository code search across 1M+ public GitHub repositories.
|
|
216
216
|
|
|
217
217
|
### Schema
|
|
218
218
|
|
|
219
219
|
```typescript
|
|
220
|
-
|
|
220
|
+
grepsearch({
|
|
221
221
|
query: string, // Required - search pattern (literal code, not keywords)
|
|
222
222
|
repo?: string, // Optional - filter to specific repo (e.g., "vercel/ai")
|
|
223
223
|
language?: string[], // Optional - e.g., ["TypeScript", "TSX"]
|
|
@@ -247,22 +247,22 @@ grep_search({
|
|
|
247
247
|
|
|
248
248
|
```typescript
|
|
249
249
|
// Basic repo search
|
|
250
|
-
|
|
250
|
+
grepsearch({ query: "batch_tool", repo: "anomalyco/opencode" });
|
|
251
251
|
|
|
252
252
|
// With language filter
|
|
253
|
-
|
|
253
|
+
grepsearch({
|
|
254
254
|
query: "getServerSession",
|
|
255
255
|
language: ["TypeScript", "TSX"],
|
|
256
256
|
});
|
|
257
257
|
|
|
258
258
|
// Regex pattern (multi-line)
|
|
259
|
-
|
|
259
|
+
grepsearch({
|
|
260
260
|
query: "(?s)useEffect\\(\\(\\) => {.*removeEventListener",
|
|
261
261
|
useRegexp: true,
|
|
262
262
|
});
|
|
263
263
|
|
|
264
264
|
// Path filter for specific files
|
|
265
|
-
|
|
265
|
+
grepsearch({
|
|
266
266
|
query: "CORS(",
|
|
267
267
|
language: ["Python"],
|
|
268
268
|
matchCase: true,
|
|
@@ -406,8 +406,8 @@ Structure your response as:
|
|
|
406
406
|
|
|
407
407
|
```
|
|
408
408
|
context7 fails → try codesearch for patterns
|
|
409
|
-
codesearch empty → try
|
|
410
|
-
|
|
409
|
+
codesearch empty → try grepsearch with broader query
|
|
410
|
+
grepsearch empty → webfetch specific doc URLs if known
|
|
411
411
|
still stuck → opensrc clone + LSP analysis
|
|
412
412
|
last resort → websearch for tutorials/blogs
|
|
413
413
|
```
|
|
@@ -417,10 +417,10 @@ last resort → websearch for tutorials/blogs
|
|
|
417
417
|
**context7 doesn't find library:**
|
|
418
418
|
|
|
419
419
|
1. Try `codesearch({ query: "<library> <function> example" })`
|
|
420
|
-
2. Try `
|
|
420
|
+
2. Try `grepsearch({ query: "import.*from.*<library>", language: ["TypeScript"] })`
|
|
421
421
|
3. Clone with `npx opensrc <library>` and read source
|
|
422
422
|
|
|
423
|
-
**
|
|
423
|
+
**grepsearch returns nothing:**
|
|
424
424
|
|
|
425
425
|
- Broaden query: search concepts, not exact function names
|
|
426
426
|
- Remove specific repo filter to search across all repos
|
|
@@ -429,7 +429,7 @@ last resort → websearch for tutorials/blogs
|
|
|
429
429
|
- Search for error messages, config patterns, or import statements
|
|
430
430
|
- Fall back to `codesearch` for conceptual queries
|
|
431
431
|
|
|
432
|
-
**
|
|
432
|
+
**grepsearch API error:**
|
|
433
433
|
|
|
434
434
|
- The grep.app API may be temporarily unavailable
|
|
435
435
|
- Fall back to `codesearch` for similar functionality
|
|
@@ -458,6 +458,6 @@ NO URL GUESSING: Only use URLs from tools or user input.
|
|
|
458
458
|
CITE EVERYTHING: No claims without source links.
|
|
459
459
|
|
|
460
460
|
Quick: context7 → codesearch → websearch (2-3 parallel calls)
|
|
461
|
-
Deep:
|
|
462
|
-
Fallback: context7 → codesearch →
|
|
461
|
+
Deep: grepsearch (4-6 parallel calls) → compare 3-5 repos → synthesize
|
|
462
|
+
Fallback: context7 → codesearch → grepsearch → webfetch → opensrc → websearch
|
|
463
463
|
```
|
|
@@ -22,7 +22,7 @@ You're implementing a tracked task. Stay focused, delegate research, verify as y
|
|
|
22
22
|
skill({ name: "beads" });
|
|
23
23
|
skill({ name: "test-driven-development" });
|
|
24
24
|
skill({ name: "verification-before-completion" });
|
|
25
|
-
skill({ name: "swarm-coordination" }); // For swarm mode
|
|
25
|
+
skill({ name: "swarm-coordination" }); // For swarm mode with Kimi K2.5 PARL patterns
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Get the task details and check hierarchy:
|
|
@@ -59,17 +59,39 @@ bd ready --json | grep -q "$ARGUMENTS"
|
|
|
59
59
|
|
|
60
60
|
**Or use SWARM MODE for parallel execution (recommended for 3+ subtasks):**
|
|
61
61
|
|
|
62
|
-
## Swarm Mode Execution (--swarm flag or auto-detect)
|
|
62
|
+
## Swarm Mode Execution (--swarm flag or auto-detect with PARL)
|
|
63
63
|
|
|
64
|
-
When the task has 3+ independent subtasks
|
|
64
|
+
When the task has 3+ independent subtasks, use Kimi K2.5 PARL swarm coordination:
|
|
65
65
|
|
|
66
|
-
### Step
|
|
66
|
+
### Step 0: Task Analysis (Anti-Serial-Collapse)
|
|
67
67
|
|
|
68
68
|
```typescript
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
// 1. Analyze the actual task
|
|
70
|
+
const subtasks = await getSubtasks($ARGUMENTS); // Get all subtask IDs
|
|
71
|
+
const files = await getFilesForSubtasks(subtasks); // Detect relevant files
|
|
72
|
+
|
|
73
|
+
const analysis = await swarm_plan({
|
|
74
|
+
operation: "analyze",
|
|
75
|
+
task: "Implement " + $ARGUMENTS + " with " + subtasks.length + " subtasks",
|
|
76
|
+
files: files.join(","),
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// 2. Check for serial collapse
|
|
80
|
+
const check = await swarm_plan({
|
|
81
|
+
operation: "check",
|
|
82
|
+
task: "Implement " + $ARGUMENTS,
|
|
83
|
+
files: String(subtasks.length),
|
|
84
|
+
recommended_agents: analysis.classification.recommended_agents,
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
if (check.serial_collapse_detected) {
|
|
88
|
+
console.log(`⚠️ Serial collapse detected: ${check.warning_signs.join(", ")}`);
|
|
89
|
+
console.log(`✓ Adjusting to ${check.suggested_agents} agents`);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// 3. Use classification to guide swarm setup
|
|
93
|
+
const { type, recommended_agents, phases } = analysis.classification;
|
|
94
|
+
console.log(`Task type: ${type}, Agents: ${recommended_agents}, Phases: ${phases.length}`);
|
|
73
95
|
```
|
|
74
96
|
|
|
75
97
|
### Step 2: Create Delegation Packets
|
|
@@ -120,10 +142,12 @@ Worker: worker-1
|
|
|
120
142
|
|
|
121
143
|
## Protocol
|
|
122
144
|
1. Read delegation packet FIRST
|
|
123
|
-
2.
|
|
145
|
+
2. Report START: swarm-monitor({ operation: "progress_update", team_name: "$ARGUMENTS-swarm", worker_id: "worker-<N>", phase: "<phase>", progress: 0, status: "working" })
|
|
124
146
|
3. Execute following MUST DO / avoiding MUST NOT DO
|
|
125
|
-
4.
|
|
126
|
-
5.
|
|
147
|
+
4. Report PROGRESS (every 25%): swarm-monitor({ operation: "progress_update", ...progress: 25/50/75, file: "current-file.ts" })
|
|
148
|
+
5. Run ALL acceptance checks
|
|
149
|
+
6. Report DONE: swarm-monitor({ operation: "progress_update", ...progress: 100, status: "completed" })
|
|
150
|
+
7. Send completion: swarm-monitor({ operation: "mail_send", team_name: "$ARGUMENTS-swarm", from_worker: "worker-<N>", message: "DONE: <actual work completed>" })
|
|
127
151
|
|
|
128
152
|
Report format:
|
|
129
153
|
- DONE: <summary> (if successful)
|
|
@@ -146,25 +170,53 @@ Task({
|
|
|
146
170
|
// Results available when all complete
|
|
147
171
|
```
|
|
148
172
|
|
|
149
|
-
### Step 5: Monitor Progress
|
|
173
|
+
### Step 5: Monitor Progress (Real-time TUI)
|
|
150
174
|
|
|
151
|
-
|
|
175
|
+
Monitor with beautiful block UI:
|
|
152
176
|
|
|
153
177
|
```typescript
|
|
154
|
-
|
|
155
|
-
|
|
178
|
+
// Render beautiful TUI block
|
|
179
|
+
const ui = await swarm_monitor({
|
|
180
|
+
operation: "render_block",
|
|
156
181
|
team_name: "$ARGUMENTS-swarm",
|
|
157
|
-
|
|
182
|
+
});
|
|
183
|
+
console.log(ui); // Markdown block with tables, emojis, progress
|
|
184
|
+
|
|
185
|
+
// Check detailed status
|
|
186
|
+
const status = await swarm_monitor({
|
|
187
|
+
operation: "status",
|
|
188
|
+
team_name: "$ARGUMENTS-swarm",
|
|
189
|
+
});
|
|
190
|
+
const stats = JSON.parse(status).summary;
|
|
191
|
+
|
|
192
|
+
// Check mailbox for messages
|
|
193
|
+
const messages = await swarm_monitor({
|
|
194
|
+
operation: "mail_read",
|
|
195
|
+
team_name: "$ARGUMENTS-swarm",
|
|
196
|
+
limit: 10,
|
|
158
197
|
});
|
|
159
198
|
```
|
|
160
199
|
|
|
161
200
|
### Step 6: Handle Worker Reports
|
|
162
201
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
202
|
+
Parse messages from swarm-monitor mail_read:
|
|
203
|
+
|
|
204
|
+
| Message Type | Detection | Action |
|
|
205
|
+
| ------------ | --------------------------------- | -------------------------------------- |
|
|
206
|
+
| DONE | msg.message starts with "DONE" | Mark subtask complete, check progress |
|
|
207
|
+
| ERROR | msg.message starts with "ERROR" | Analyze, fix locally or respawn worker |
|
|
208
|
+
| BLOCKED | msg.message starts with "BLOCKED" | Resolve blocker, send guidance |
|
|
209
|
+
| PROGRESS | status from progress_update | Update TUI, check for bottlenecks |
|
|
210
|
+
|
|
211
|
+
```typescript
|
|
212
|
+
// Example: Handle errors
|
|
213
|
+
for (const msg of JSON.parse(messages)) {
|
|
214
|
+
if (msg.message?.startsWith("ERROR")) {
|
|
215
|
+
console.log(`Worker ${msg.from_worker} failed: ${msg.message}`);
|
|
216
|
+
// Respawn or fix
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
168
220
|
|
|
169
221
|
### Step 7: Final Verification
|
|
170
222
|
|
|
@@ -175,9 +227,16 @@ After all workers complete:
|
|
|
175
227
|
npm run typecheck && npm run lint && npm test
|
|
176
228
|
```
|
|
177
229
|
|
|
178
|
-
### Step 8: Close Epic
|
|
230
|
+
### Step 8: Close Epic & Cleanup
|
|
179
231
|
|
|
180
232
|
```bash
|
|
233
|
+
# Clear swarm data
|
|
234
|
+
await swarm_monitor({
|
|
235
|
+
operation: "clear",
|
|
236
|
+
team_name: "$ARGUMENTS-swarm"
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
# Close the epic
|
|
181
240
|
bd close $ARGUMENTS --reason "Swarm completed all subtasks: <summary>"
|
|
182
241
|
```
|
|
183
242
|
|
|
@@ -13,6 +13,7 @@ Create a complete feature track with Epic → Task → Subtask hierarchy, proper
|
|
|
13
13
|
```typescript
|
|
14
14
|
skill({ name: "beads" });
|
|
15
15
|
skill({ name: "brainstorming" });
|
|
16
|
+
skill({ name: "swarm-coordination" }); // For parallel task execution with Kimi K2.5 PARL
|
|
16
17
|
```
|
|
17
18
|
|
|
18
19
|
## Parse Arguments
|
|
@@ -452,9 +453,11 @@ npm test
|
|
|
452
453
|
|
|
453
454
|
---
|
|
454
455
|
|
|
455
|
-
## Phase 8: Parallel Task Execution (
|
|
456
|
+
## Phase 8: Parallel Task Execution with Swarm (Kimi K2.5 PARL)
|
|
456
457
|
|
|
457
|
-
If multiple tasks are READY (no blockers), execute them in parallel:
|
|
458
|
+
If multiple tasks are READY (no blockers), execute them in parallel using swarm coordination:
|
|
459
|
+
|
|
460
|
+
### Step 1: Analyze Tasks for Parallelization
|
|
458
461
|
|
|
459
462
|
```bash
|
|
460
463
|
# Check what's ready
|
|
@@ -462,49 +465,112 @@ bd ready --json
|
|
|
462
465
|
```
|
|
463
466
|
|
|
464
467
|
```typescript
|
|
465
|
-
//
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
468
|
+
// Get all READY tasks
|
|
469
|
+
const readyTasks = await getReadyTasks($ARGUMENTS);
|
|
470
|
+
|
|
471
|
+
// Analyze if swarm mode is beneficial
|
|
472
|
+
const analysis = await swarm_plan({
|
|
473
|
+
operation: "analyze",
|
|
474
|
+
task: `Implement ${$ARGUMENTS} with ${readyTasks.length} parallel tasks`,
|
|
475
|
+
files: readyTasks.map((t) => t.files).join(","),
|
|
476
|
+
});
|
|
477
|
+
|
|
478
|
+
console.log(`Classification: ${analysis.classification.type}`);
|
|
479
|
+
console.log(`Recommended agents: ${analysis.classification.recommended_agents}`);
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### Step 2: Setup Swarm Coordination
|
|
483
|
+
|
|
484
|
+
```typescript
|
|
485
|
+
const teamName = `${$ARGUMENTS}-swarm-${Date.now()}`;
|
|
486
|
+
|
|
487
|
+
// Create delegation packets for each READY task
|
|
488
|
+
for (const task of readyTasks) {
|
|
489
|
+
swarm_delegate({
|
|
490
|
+
bead_id: task.id,
|
|
491
|
+
title: `Execute ${task.id}: ${task.title}`,
|
|
492
|
+
expected_outcome: "Task completed with verification passing",
|
|
493
|
+
required_tools: "read, grep, lsp, edit, bash",
|
|
494
|
+
must_do: "LSP before edits, run verification, report progress via swarm-monitor",
|
|
495
|
+
must_not_do: "No new deps, don't edit files outside task scope",
|
|
496
|
+
acceptance_checks: "typecheck: npm run typecheck, lint: npm run lint, test: npm test",
|
|
497
|
+
context: `Part of epic ${$ARGUMENTS}. Team: ${teamName}`,
|
|
498
|
+
write: true,
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
### Step 3: Spawn Worker Swarm
|
|
504
|
+
|
|
505
|
+
```typescript
|
|
506
|
+
// Launch all workers in parallel
|
|
507
|
+
for (const task of readyTasks) {
|
|
508
|
+
Task({
|
|
509
|
+
subagent_type: "build",
|
|
510
|
+
description: `Execute ${task.id}`,
|
|
511
|
+
prompt: `Execute bead ${task.id}: ${task.title}
|
|
512
|
+
|
|
513
|
+
## Delegation
|
|
514
|
+
Read: .beads/artifacts/${task.id}/delegation.md
|
|
515
|
+
|
|
516
|
+
## Coordination
|
|
517
|
+
Team: ${teamName}
|
|
518
|
+
Worker: worker-${task.id}
|
|
519
|
+
|
|
520
|
+
## Protocol
|
|
521
|
+
1. Read delegation packet
|
|
522
|
+
2. Report START: swarm-monitor({ operation: "progress_update", team_name: "${teamName}", worker_id: "worker-${task.id}", phase: "implement", progress: 0, status: "working" })
|
|
523
|
+
3. Execute task
|
|
524
|
+
4. Report PROGRESS (every 25%): swarm-monitor({ operation: "progress_update", ...progress: 25/50/75, file: "current-file.ts" })
|
|
525
|
+
5. Run acceptance checks
|
|
526
|
+
6. Report DONE: swarm-monitor({ operation: "progress_update", ...progress: 100, status: "completed" })
|
|
527
|
+
7. Send completion: swarm-monitor({ operation: "mail_send", team_name: "${teamName}", from_worker: "worker-${task.id}", message: "DONE: ${task.title} completed" })
|
|
528
|
+
8. Close bead: bd close ${task.id} --reason "Completed via swarm"`,
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
### Step 4: Monitor with TUI
|
|
534
|
+
|
|
535
|
+
```typescript
|
|
536
|
+
// Monitor loop with beautiful UI
|
|
537
|
+
let allComplete = false;
|
|
538
|
+
while (!allComplete) {
|
|
539
|
+
// Render TUI block
|
|
540
|
+
const ui = await swarm_monitor({
|
|
541
|
+
operation: "render_block",
|
|
542
|
+
team_name: teamName
|
|
543
|
+
});
|
|
544
|
+
console.log(ui);
|
|
545
|
+
|
|
546
|
+
// Check status
|
|
547
|
+
const status = await swarm_monitor({
|
|
548
|
+
operation: "status",
|
|
549
|
+
team_name: teamName
|
|
550
|
+
});
|
|
551
|
+
const stats = JSON.parse(status).summary;
|
|
552
|
+
|
|
553
|
+
allComplete = stats.completed === stats.total_workers;
|
|
554
|
+
|
|
555
|
+
if (!allComplete) {
|
|
556
|
+
await new Promise(r => setTimeout(r, 3000));
|
|
557
|
+
}
|
|
558
|
+
}
|
|
497
559
|
|
|
498
560
|
// Cleanup
|
|
499
|
-
|
|
561
|
+
await swarm_monitor({ operation: "clear", team_name: teamName });
|
|
562
|
+
|
|
563
|
+
// Check newly unblocked tasks
|
|
564
|
+
bd ready // → Tasks that were blocked now READY
|
|
500
565
|
```
|
|
501
566
|
|
|
502
|
-
**
|
|
567
|
+
**Swarm Execution Rules:**
|
|
503
568
|
|
|
504
569
|
- Only fire tasks that are READY (no unresolved blockers)
|
|
505
|
-
-
|
|
506
|
-
-
|
|
507
|
-
-
|
|
570
|
+
- Use `swarm-plan analyze` to determine optimal agent count
|
|
571
|
+
- Workers report progress via `swarm-monitor progress_update`
|
|
572
|
+
- Monitor with `swarm-monitor render_block` for TUI
|
|
573
|
+
- Cleanup with `swarm-monitor clear` when done
|
|
508
574
|
|
|
509
575
|
---
|
|
510
576
|
|
|
@@ -25,10 +25,30 @@ if (thorough) {
|
|
|
25
25
|
|
|
26
26
|
// For source code analysis
|
|
27
27
|
skill({ name: "source-code-research" });
|
|
28
|
+
|
|
29
|
+
// For swarm coordination (if parallel research needed)
|
|
30
|
+
skill({ name: "swarm-coordination" });
|
|
28
31
|
```
|
|
29
32
|
|
|
30
33
|
## Delegation Strategy
|
|
31
34
|
|
|
35
|
+
### Step 1: Classify Research Task
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
// Analyze if research benefits from parallelization
|
|
39
|
+
const analysis = await swarm_plan({
|
|
40
|
+
operation: "analyze",
|
|
41
|
+
task: "Research " + $ARGUMENTS,
|
|
42
|
+
files: "<detected files or leave empty for external research>",
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// For search-type research with multiple sources, use swarm
|
|
46
|
+
if (analysis.classification.type === "search" && analysis.classification.recommended_agents > 1) {
|
|
47
|
+
console.log(`Research classified as ${analysis.classification.type}`);
|
|
48
|
+
console.log(`Recommended: ${analysis.classification.recommended_agents} parallel agents`);
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
32
52
|
### Internal Codebase → @explore
|
|
33
53
|
|
|
34
54
|
Delegate LSP exploration to the explore agent:
|
|
@@ -50,17 +70,44 @@ Return file:line references for all findings.`,
|
|
|
50
70
|
|
|
51
71
|
### External Research → @scout (this agent)
|
|
52
72
|
|
|
53
|
-
Scout handles external sources (context7,
|
|
73
|
+
Scout handles external sources (context7, grepsearch, codesearch, etc.)
|
|
54
74
|
|
|
55
|
-
### Parallel Execution
|
|
75
|
+
### Parallel Execution (Swarm Mode for Research)
|
|
56
76
|
|
|
57
|
-
|
|
77
|
+
For comprehensive research across multiple domains, use parallel agents:
|
|
58
78
|
|
|
59
79
|
```typescript
|
|
80
|
+
// Option A: Simple parallel (2-3 agents)
|
|
60
81
|
// Launch both in parallel
|
|
61
82
|
task({ subagent_type: "explore", prompt: "LSP analysis of..." });
|
|
62
83
|
context7_resolve_library_id({ libraryName: "<lib>" });
|
|
63
|
-
|
|
84
|
+
grepsearch({ query: "<pattern>", language: "TypeScript" });
|
|
85
|
+
|
|
86
|
+
// Option B: Swarm mode for complex multi-domain research
|
|
87
|
+
// Use when researching 3+ different areas simultaneously
|
|
88
|
+
const teamName = `research-${Date.now()}`;
|
|
89
|
+
|
|
90
|
+
// Spawn research workers
|
|
91
|
+
Task({
|
|
92
|
+
subagent_type: "explore",
|
|
93
|
+
description: "Research domain A",
|
|
94
|
+
prompt: `Research [domain A] for ${$ARGUMENTS}...
|
|
95
|
+
Report via swarm-monitor: progress_update + mail_send to team ${teamName}`,
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
Task({
|
|
99
|
+
subagent_type: "scout",
|
|
100
|
+
description: "Research domain B",
|
|
101
|
+
prompt: `Research [domain B] for ${$ARGUMENTS}...
|
|
102
|
+
Report via swarm-monitor: progress_update + mail_send to team ${teamName}`,
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// Monitor progress
|
|
106
|
+
const ui = await swarm_monitor({
|
|
107
|
+
operation: "render_block",
|
|
108
|
+
team_name: teamName,
|
|
109
|
+
});
|
|
110
|
+
console.log(ui);
|
|
64
111
|
```
|
|
65
112
|
|
|
66
113
|
## Load Context
|
|
@@ -107,7 +154,7 @@ If memory search fails (Ollama not running), continue to external sources.
|
|
|
107
154
|
2. **Official docs** (high trust) - What does the library documentation say?
|
|
108
155
|
3. **Context7** (high trust) - API usage and examples
|
|
109
156
|
4. **Source code** (high trust) - Library implementation (use `source-code-research` skill)
|
|
110
|
-
5. **GitHub examples** (medium trust) - Real-world patterns via codesearch/
|
|
157
|
+
5. **GitHub examples** (medium trust) - Real-world patterns via codesearch/grepsearch
|
|
111
158
|
6. **Web search** (lower trust) - Only if tiers 1-5 don't answer
|
|
112
159
|
|
|
113
160
|
## Research
|
|
@@ -161,7 +208,7 @@ npx opensrc <owner>/<repo> # GitHub repo
|
|
|
161
208
|
|
|
162
209
|
```typescript
|
|
163
210
|
codesearch({ query: "<API usage pattern>", tokensNum: 5000 });
|
|
164
|
-
|
|
211
|
+
grepsearch({ query: "<code pattern>", language: "TypeScript" });
|
|
165
212
|
```
|
|
166
213
|
|
|
167
214
|
## Validate Findings
|
|
@@ -4,18 +4,18 @@ created: 2026-01-28T16:59:35.621Z
|
|
|
4
4
|
confidence: high
|
|
5
5
|
valid_until: null
|
|
6
6
|
superseded_by: null
|
|
7
|
-
concepts: ["
|
|
7
|
+
concepts: ["grepsearch", "MCP", "native tool", "architecture", "best practices"]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# 🎯 gh-grep MCP wrapper vs native
|
|
10
|
+
# 🎯 gh-grep MCP wrapper vs native grepsearch tool
|
|
11
11
|
|
|
12
12
|
🟢 **Confidence:** high
|
|
13
13
|
|
|
14
14
|
Created two implementations for GitHub code search:
|
|
15
15
|
|
|
16
|
-
1. **Native tool** (.opencode/tool/
|
|
16
|
+
1. **Native tool** (.opencode/tool/grepsearch.ts): TypeScript wrapper around grep.app API - WORKING ✅
|
|
17
17
|
2. **MCP skill** (.opencode/skill/gh-grep/): Skill wrapper that calls uvx grep-mcp server - BROKEN ❌
|
|
18
18
|
|
|
19
|
-
The MCP server has an argument parsing bug ('str' object has no attribute 'get') that prevents tool execution. Even the SKILL.md documentation admits: "Note: The MCP server (grep-mcp) may have bugs. The native
|
|
19
|
+
The MCP server has an argument parsing bug ('str' object has no attribute 'get') that prevents tool execution. Even the SKILL.md documentation admits: "Note: The MCP server (grep-mcp) may have bugs. The native grepsearch tool is recommended."
|
|
20
20
|
|
|
21
21
|
**Key insight**: We already documented the problem and recommended against the MCP approach. The native tool works perfectly and doesn't require external process dependencies.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: decision
|
|
3
|
+
created: 2026-01-29T14:26:09.644Z
|
|
4
|
+
confidence: high
|
|
5
|
+
valid_until: null
|
|
6
|
+
superseded_by: null
|
|
7
|
+
concepts: ["copilot", "claude", "rate-limit", "retry", "exponential-backoff", "anthropic-sdk", "reasoning"]
|
|
8
|
+
files: [".opencode/plugin/copilot-auth.ts"]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# 🎯 Copilot Auth Plugin Rate Limit Handling
|
|
12
|
+
|
|
13
|
+
🟢 **Confidence:** high
|
|
14
|
+
|
|
15
|
+
Implemented retry logic with exponential backoff for Copilot auth plugin to handle 429 rate limit errors while preserving Claude reasoning support.
|
|
16
|
+
|
|
17
|
+
Changes made to .opencode/plugin/copilot-auth.ts:
|
|
18
|
+
1. Added RATE_LIMIT_CONFIG with maxRetries: 3, baseDelayMs: 2000, maxDelayMs: 30000
|
|
19
|
+
2. Added calculateRetryDelay() function with exponential backoff + jitter
|
|
20
|
+
3. Wrapped fetch() call in retry loop that handles:
|
|
21
|
+
- HTTP 429 (Too Many Requests) with automatic retry
|
|
22
|
+
- Network errors with automatic retry
|
|
23
|
+
- Console logging for debugging retry attempts
|
|
24
|
+
|
|
25
|
+
Retry delays: ~2s, ~4s, ~8s (with random jitter)
|
|
26
|
+
|
|
27
|
+
This allows using Claude Opus 4.5 and Haiku 4.5 with reasoning support through Anthropic SDK while gracefully handling rate limit issues instead of failing immediately.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: decision
|
|
3
|
+
created: 2026-01-29T15:07:22.755Z
|
|
4
|
+
confidence: high
|
|
5
|
+
valid_until: null
|
|
6
|
+
superseded_by: null
|
|
7
|
+
concepts: ["spec-driven", "code-generation", "agent-prompts", "templates", "testing"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 🎯 Spec-driven approach for OpenCodeKit
|
|
11
|
+
|
|
12
|
+
🟢 **Confidence:** high
|
|
13
|
+
|
|
14
|
+
After analyzing the 'no-code library' article, decided NOT to apply spec-driven generation to agent prompts themselves (too non-deterministic for production). Instead, adopt these principles:
|
|
15
|
+
|
|
16
|
+
1. Specs-first design for agent prompts - define expected behavior clearly
|
|
17
|
+
2. Portable test cases for CLI integration tests (language-agnostic YAML)
|
|
18
|
+
3. Generated scaffolding/templates for the `init` command to create OpenCode projects
|
|
19
|
+
4. Keep agent prompts as actual code for determinism and version control
|
|
20
|
+
|
|
21
|
+
Key insight: Specs are the primary artifact for utilities/scaffolding, but code is primary for core agent behavior.
|