@minhduydev/mdpi 0.3.0
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 +31 -0
- package/dist/index.js +1187 -0
- package/dist/template/.pi/.env.example +28 -0
- package/dist/template/.pi/AGENTS.md +226 -0
- package/dist/template/.pi/QUALITY.md +13 -0
- package/dist/template/.pi/README.md +452 -0
- package/dist/template/.pi/VERSION +1 -0
- package/dist/template/.pi/agents/INDEX.md +54 -0
- package/dist/template/.pi/agents/build.md +194 -0
- package/dist/template/.pi/agents/explore.md +85 -0
- package/dist/template/.pi/agents/general.md +189 -0
- package/dist/template/.pi/agents/plan.md +407 -0
- package/dist/template/.pi/agents/review.md +198 -0
- package/dist/template/.pi/agents/scout.md +142 -0
- package/dist/template/.pi/agents/vision.md +157 -0
- package/dist/template/.pi/artifacts/example/plan.md +12 -0
- package/dist/template/.pi/artifacts/example/progress.md +4 -0
- package/dist/template/.pi/artifacts/example/research.md +4 -0
- package/dist/template/.pi/artifacts/example/spec.md +16 -0
- package/dist/template/.pi/context/architecture.md +141 -0
- package/dist/template/.pi/context/fallow.md +137 -0
- package/dist/template/.pi/extensions/templates-injector.ts +76 -0
- package/dist/template/.pi/extensions/workflows-runner.ts +301 -0
- package/dist/template/.pi/guard.example.json +75 -0
- package/dist/template/.pi/prompts/INDEX.md +78 -0
- package/dist/template/.pi/prompts/audit.md +109 -0
- package/dist/template/.pi/prompts/close.md +88 -0
- package/dist/template/.pi/prompts/create.md +197 -0
- package/dist/template/.pi/prompts/fix.md +117 -0
- package/dist/template/.pi/prompts/gc.md +112 -0
- package/dist/template/.pi/prompts/init.md +206 -0
- package/dist/template/.pi/prompts/loop-check.md +87 -0
- package/dist/template/.pi/prompts/loop-init.md +157 -0
- package/dist/template/.pi/prompts/loop-review.md +90 -0
- package/dist/template/.pi/prompts/plan.md +254 -0
- package/dist/template/.pi/prompts/research.md +136 -0
- package/dist/template/.pi/prompts/ship.md +219 -0
- package/dist/template/.pi/prompts/status.md +92 -0
- package/dist/template/.pi/prompts/verify.md +154 -0
- package/dist/template/.pi/scripts/gc-check.sh +86 -0
- package/dist/template/.pi/settings.json +15 -0
- package/dist/template/.pi/skills/INDEX.md +331 -0
- package/dist/template/.pi/skills/accessibility-audit/SKILL.md +205 -0
- package/dist/template/.pi/skills/accessibility-audit/references/accessibility-checklist.md +109 -0
- package/dist/template/.pi/skills/agent-code-quality-gate/SKILL.md +131 -0
- package/dist/template/.pi/skills/api-and-interface-design/SKILL.md +159 -0
- package/dist/template/.pi/skills/behavioral-kernel/SKILL.md +92 -0
- package/dist/template/.pi/skills/brainstorming/SKILL.md +138 -0
- package/dist/template/.pi/skills/browser-testing-with-devtools/SKILL.md +90 -0
- package/dist/template/.pi/skills/chrome-devtools/SKILL.md +129 -0
- package/dist/template/.pi/skills/ci-cd-and-automation/SKILL.md +199 -0
- package/dist/template/.pi/skills/cloudflare/SKILL.md +271 -0
- package/dist/template/.pi/skills/cloudflare/references/agents-sdk/README.md +35 -0
- package/dist/template/.pi/skills/cloudflare/references/agents-sdk/api.md +100 -0
- package/dist/template/.pi/skills/cloudflare/references/agents-sdk/configuration.md +99 -0
- package/dist/template/.pi/skills/cloudflare/references/agents-sdk/gotchas.md +59 -0
- package/dist/template/.pi/skills/cloudflare/references/agents-sdk/patterns.md +89 -0
- package/dist/template/.pi/skills/cloudflare/references/ai-gateway/README.md +695 -0
- package/dist/template/.pi/skills/cloudflare/references/ai-search/README.md +14 -0
- package/dist/template/.pi/skills/cloudflare/references/ai-search/api.md +38 -0
- package/dist/template/.pi/skills/cloudflare/references/ai-search/configuration.md +52 -0
- package/dist/template/.pi/skills/cloudflare/references/ai-search/gotchas.md +41 -0
- package/dist/template/.pi/skills/cloudflare/references/ai-search/patterns.md +45 -0
- package/dist/template/.pi/skills/cloudflare/references/analytics-engine/README.md +14 -0
- package/dist/template/.pi/skills/cloudflare/references/analytics-engine/api.md +27 -0
- package/dist/template/.pi/skills/cloudflare/references/analytics-engine/configuration.md +45 -0
- package/dist/template/.pi/skills/cloudflare/references/analytics-engine/gotchas.md +3 -0
- package/dist/template/.pi/skills/cloudflare/references/analytics-engine/patterns.md +36 -0
- package/dist/template/.pi/skills/cloudflare/references/api/README.md +21 -0
- package/dist/template/.pi/skills/cloudflare/references/api/api.md +31 -0
- package/dist/template/.pi/skills/cloudflare/references/api/configuration.md +20 -0
- package/dist/template/.pi/skills/cloudflare/references/api/gotchas.md +28 -0
- package/dist/template/.pi/skills/cloudflare/references/api/patterns.md +47 -0
- package/dist/template/.pi/skills/cloudflare/references/api-shield/README.md +20 -0
- package/dist/template/.pi/skills/cloudflare/references/api-shield/api.md +78 -0
- package/dist/template/.pi/skills/cloudflare/references/api-shield/configuration.md +128 -0
- package/dist/template/.pi/skills/cloudflare/references/api-shield/gotchas.md +51 -0
- package/dist/template/.pi/skills/cloudflare/references/api-shield/patterns.md +145 -0
- package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/README.md +16 -0
- package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/api.md +50 -0
- package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/configuration.md +53 -0
- package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
- package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/patterns.md +45 -0
- package/dist/template/.pi/skills/cloudflare/references/bindings/README.md +14 -0
- package/dist/template/.pi/skills/cloudflare/references/bindings/api.md +3 -0
- package/dist/template/.pi/skills/cloudflare/references/bindings/configuration.md +58 -0
- package/dist/template/.pi/skills/cloudflare/references/bindings/gotchas.md +35 -0
- package/dist/template/.pi/skills/cloudflare/references/bindings/patterns.md +37 -0
- package/dist/template/.pi/skills/cloudflare/references/bot-management/README.md +71 -0
- package/dist/template/.pi/skills/cloudflare/references/bot-management/api.md +168 -0
- package/dist/template/.pi/skills/cloudflare/references/bot-management/configuration.md +114 -0
- package/dist/template/.pi/skills/cloudflare/references/bot-management/gotchas.md +99 -0
- package/dist/template/.pi/skills/cloudflare/references/bot-management/patterns.md +125 -0
- package/dist/template/.pi/skills/cloudflare/references/browser-rendering/README.md +16 -0
- package/dist/template/.pi/skills/cloudflare/references/browser-rendering/api.md +54 -0
- package/dist/template/.pi/skills/cloudflare/references/browser-rendering/configuration.md +47 -0
- package/dist/template/.pi/skills/cloudflare/references/browser-rendering/gotchas.md +29 -0
- package/dist/template/.pi/skills/cloudflare/references/browser-rendering/patterns.md +29 -0
- package/dist/template/.pi/skills/cloudflare/references/c3/README.md +264 -0
- package/dist/template/.pi/skills/cloudflare/references/cache-reserve/README.md +93 -0
- package/dist/template/.pi/skills/cloudflare/references/cache-reserve/api.md +176 -0
- package/dist/template/.pi/skills/cloudflare/references/cache-reserve/configuration.md +164 -0
- package/dist/template/.pi/skills/cloudflare/references/cache-reserve/gotchas.md +203 -0
- package/dist/template/.pi/skills/cloudflare/references/cache-reserve/patterns.md +180 -0
- package/dist/template/.pi/skills/cloudflare/references/containers/README.md +16 -0
- package/dist/template/.pi/skills/cloudflare/references/containers/api.md +43 -0
- package/dist/template/.pi/skills/cloudflare/references/containers/configuration.md +56 -0
- package/dist/template/.pi/skills/cloudflare/references/containers/gotchas.md +21 -0
- package/dist/template/.pi/skills/cloudflare/references/containers/patterns.md +40 -0
- package/dist/template/.pi/skills/cloudflare/references/cron-triggers/README.md +85 -0
- package/dist/template/.pi/skills/cloudflare/references/cron-triggers/api.md +198 -0
- package/dist/template/.pi/skills/cloudflare/references/cron-triggers/configuration.md +151 -0
- package/dist/template/.pi/skills/cloudflare/references/cron-triggers/gotchas.md +129 -0
- package/dist/template/.pi/skills/cloudflare/references/cron-triggers/patterns.md +122 -0
- package/dist/template/.pi/skills/cloudflare/references/d1/README.md +92 -0
- package/dist/template/.pi/skills/cloudflare/references/d1/api.md +141 -0
- package/dist/template/.pi/skills/cloudflare/references/d1/configuration.md +127 -0
- package/dist/template/.pi/skills/cloudflare/references/d1/gotchas.md +70 -0
- package/dist/template/.pi/skills/cloudflare/references/d1/patterns.md +144 -0
- package/dist/template/.pi/skills/cloudflare/references/ddos/README.md +34 -0
- package/dist/template/.pi/skills/cloudflare/references/ddos/api.md +136 -0
- package/dist/template/.pi/skills/cloudflare/references/ddos/configuration.md +67 -0
- package/dist/template/.pi/skills/cloudflare/references/ddos/gotchas.md +114 -0
- package/dist/template/.pi/skills/cloudflare/references/ddos/patterns.md +158 -0
- package/dist/template/.pi/skills/cloudflare/references/do-storage/README.md +62 -0
- package/dist/template/.pi/skills/cloudflare/references/do-storage/api.md +89 -0
- package/dist/template/.pi/skills/cloudflare/references/do-storage/configuration.md +116 -0
- package/dist/template/.pi/skills/cloudflare/references/do-storage/gotchas.md +93 -0
- package/dist/template/.pi/skills/cloudflare/references/do-storage/patterns.md +112 -0
- package/dist/template/.pi/skills/cloudflare/references/durable-objects/README.md +125 -0
- package/dist/template/.pi/skills/cloudflare/references/durable-objects/api.md +152 -0
- package/dist/template/.pi/skills/cloudflare/references/durable-objects/configuration.md +148 -0
- package/dist/template/.pi/skills/cloudflare/references/durable-objects/gotchas.md +158 -0
- package/dist/template/.pi/skills/cloudflare/references/durable-objects/patterns.md +255 -0
- package/dist/template/.pi/skills/cloudflare/references/email-routing/README.md +18 -0
- package/dist/template/.pi/skills/cloudflare/references/email-routing/api.md +46 -0
- package/dist/template/.pi/skills/cloudflare/references/email-routing/configuration.md +63 -0
- package/dist/template/.pi/skills/cloudflare/references/email-routing/gotchas.md +16 -0
- package/dist/template/.pi/skills/cloudflare/references/email-routing/patterns.md +46 -0
- package/dist/template/.pi/skills/cloudflare/references/email-workers/README.md +598 -0
- package/dist/template/.pi/skills/cloudflare/references/hyperdrive/README.md +62 -0
- package/dist/template/.pi/skills/cloudflare/references/hyperdrive/api.md +137 -0
- package/dist/template/.pi/skills/cloudflare/references/hyperdrive/configuration.md +133 -0
- package/dist/template/.pi/skills/cloudflare/references/hyperdrive/gotchas.md +184 -0
- package/dist/template/.pi/skills/cloudflare/references/hyperdrive/patterns.md +176 -0
- package/dist/template/.pi/skills/cloudflare/references/images/README.md +14 -0
- package/dist/template/.pi/skills/cloudflare/references/images/api.md +3 -0
- package/dist/template/.pi/skills/cloudflare/references/images/configuration.md +45 -0
- package/dist/template/.pi/skills/cloudflare/references/images/gotchas.md +23 -0
- package/dist/template/.pi/skills/cloudflare/references/images/patterns.md +31 -0
- package/dist/template/.pi/skills/cloudflare/references/kv/README.md +60 -0
- package/dist/template/.pi/skills/cloudflare/references/kv/api.md +114 -0
- package/dist/template/.pi/skills/cloudflare/references/kv/configuration.md +92 -0
- package/dist/template/.pi/skills/cloudflare/references/kv/gotchas.md +117 -0
- package/dist/template/.pi/skills/cloudflare/references/kv/patterns.md +139 -0
- package/dist/template/.pi/skills/cloudflare/references/miniflare/README.md +64 -0
- package/dist/template/.pi/skills/cloudflare/references/miniflare/api.md +144 -0
- package/dist/template/.pi/skills/cloudflare/references/miniflare/configuration.md +203 -0
- package/dist/template/.pi/skills/cloudflare/references/miniflare/gotchas.md +187 -0
- package/dist/template/.pi/skills/cloudflare/references/miniflare/patterns.md +211 -0
- package/dist/template/.pi/skills/cloudflare/references/network-interconnect/README.md +60 -0
- package/dist/template/.pi/skills/cloudflare/references/network-interconnect/api.md +240 -0
- package/dist/template/.pi/skills/cloudflare/references/network-interconnect/configuration.md +127 -0
- package/dist/template/.pi/skills/cloudflare/references/network-interconnect/gotchas.md +171 -0
- package/dist/template/.pi/skills/cloudflare/references/network-interconnect/patterns.md +171 -0
- package/dist/template/.pi/skills/cloudflare/references/observability/README.md +18 -0
- package/dist/template/.pi/skills/cloudflare/references/observability/api.md +51 -0
- package/dist/template/.pi/skills/cloudflare/references/observability/configuration.md +60 -0
- package/dist/template/.pi/skills/cloudflare/references/observability/gotchas.md +36 -0
- package/dist/template/.pi/skills/cloudflare/references/observability/patterns.md +42 -0
- package/dist/template/.pi/skills/cloudflare/references/pages/README.md +76 -0
- package/dist/template/.pi/skills/cloudflare/references/pages/api.md +200 -0
- package/dist/template/.pi/skills/cloudflare/references/pages/configuration.md +228 -0
- package/dist/template/.pi/skills/cloudflare/references/pages/gotchas.md +161 -0
- package/dist/template/.pi/skills/cloudflare/references/pages/patterns.md +145 -0
- package/dist/template/.pi/skills/cloudflare/references/pages-functions/README.md +57 -0
- package/dist/template/.pi/skills/cloudflare/references/pages-functions/api.md +201 -0
- package/dist/template/.pi/skills/cloudflare/references/pages-functions/configuration.md +159 -0
- package/dist/template/.pi/skills/cloudflare/references/pages-functions/gotchas.md +151 -0
- package/dist/template/.pi/skills/cloudflare/references/pages-functions/patterns.md +190 -0
- package/dist/template/.pi/skills/cloudflare/references/pipelines/README.md +664 -0
- package/dist/template/.pi/skills/cloudflare/references/pulumi/README.md +107 -0
- package/dist/template/.pi/skills/cloudflare/references/pulumi/api.md +194 -0
- package/dist/template/.pi/skills/cloudflare/references/pulumi/configuration.md +216 -0
- package/dist/template/.pi/skills/cloudflare/references/pulumi/gotchas.md +223 -0
- package/dist/template/.pi/skills/cloudflare/references/pulumi/patterns.md +139 -0
- package/dist/template/.pi/skills/cloudflare/references/queues/README.md +69 -0
- package/dist/template/.pi/skills/cloudflare/references/queues/api.md +138 -0
- package/dist/template/.pi/skills/cloudflare/references/queues/configuration.md +125 -0
- package/dist/template/.pi/skills/cloudflare/references/queues/gotchas.md +112 -0
- package/dist/template/.pi/skills/cloudflare/references/queues/patterns.md +155 -0
- package/dist/template/.pi/skills/cloudflare/references/r2/README.md +61 -0
- package/dist/template/.pi/skills/cloudflare/references/r2/api.md +127 -0
- package/dist/template/.pi/skills/cloudflare/references/r2/configuration.md +76 -0
- package/dist/template/.pi/skills/cloudflare/references/r2/gotchas.md +94 -0
- package/dist/template/.pi/skills/cloudflare/references/r2/patterns.md +127 -0
- package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/README.md +18 -0
- package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/api.md +29 -0
- package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/configuration.md +39 -0
- package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
- package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/patterns.md +46 -0
- package/dist/template/.pi/skills/cloudflare/references/r2-sql/README.md +512 -0
- package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/README.md +21 -0
- package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/api.md +135 -0
- package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/configuration.md +63 -0
- package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/gotchas.md +75 -0
- package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/patterns.md +102 -0
- package/dist/template/.pi/skills/cloudflare/references/realtimekit/README.md +81 -0
- package/dist/template/.pi/skills/cloudflare/references/realtimekit/api.md +164 -0
- package/dist/template/.pi/skills/cloudflare/references/realtimekit/configuration.md +147 -0
- package/dist/template/.pi/skills/cloudflare/references/realtimekit/gotchas.md +172 -0
- package/dist/template/.pi/skills/cloudflare/references/realtimekit/patterns.md +155 -0
- package/dist/template/.pi/skills/cloudflare/references/sandbox/README.md +90 -0
- package/dist/template/.pi/skills/cloudflare/references/sandbox/api.md +178 -0
- package/dist/template/.pi/skills/cloudflare/references/sandbox/configuration.md +131 -0
- package/dist/template/.pi/skills/cloudflare/references/sandbox/gotchas.md +156 -0
- package/dist/template/.pi/skills/cloudflare/references/sandbox/patterns.md +203 -0
- package/dist/template/.pi/skills/cloudflare/references/secrets-store/README.md +58 -0
- package/dist/template/.pi/skills/cloudflare/references/secrets-store/api.md +182 -0
- package/dist/template/.pi/skills/cloudflare/references/secrets-store/configuration.md +140 -0
- package/dist/template/.pi/skills/cloudflare/references/secrets-store/gotchas.md +129 -0
- package/dist/template/.pi/skills/cloudflare/references/secrets-store/patterns.md +218 -0
- package/dist/template/.pi/skills/cloudflare/references/smart-placement/README.md +91 -0
- package/dist/template/.pi/skills/cloudflare/references/smart-placement/api.md +139 -0
- package/dist/template/.pi/skills/cloudflare/references/smart-placement/configuration.md +129 -0
- package/dist/template/.pi/skills/cloudflare/references/smart-placement/gotchas.md +87 -0
- package/dist/template/.pi/skills/cloudflare/references/smart-placement/patterns.md +135 -0
- package/dist/template/.pi/skills/cloudflare/references/snippets/README.md +15 -0
- package/dist/template/.pi/skills/cloudflare/references/snippets/api.md +47 -0
- package/dist/template/.pi/skills/cloudflare/references/snippets/configuration.md +33 -0
- package/dist/template/.pi/skills/cloudflare/references/snippets/gotchas.md +21 -0
- package/dist/template/.pi/skills/cloudflare/references/snippets/patterns.md +34 -0
- package/dist/template/.pi/skills/cloudflare/references/spectrum/README.md +16 -0
- package/dist/template/.pi/skills/cloudflare/references/spectrum/api.md +24 -0
- package/dist/template/.pi/skills/cloudflare/references/spectrum/configuration.md +43 -0
- package/dist/template/.pi/skills/cloudflare/references/spectrum/gotchas.md +42 -0
- package/dist/template/.pi/skills/cloudflare/references/spectrum/patterns.md +40 -0
- package/dist/template/.pi/skills/cloudflare/references/static-assets/README.md +14 -0
- package/dist/template/.pi/skills/cloudflare/references/static-assets/api.md +3 -0
- package/dist/template/.pi/skills/cloudflare/references/static-assets/configuration.md +47 -0
- package/dist/template/.pi/skills/cloudflare/references/static-assets/gotchas.md +44 -0
- package/dist/template/.pi/skills/cloudflare/references/static-assets/patterns.md +42 -0
- package/dist/template/.pi/skills/cloudflare/references/stream/README.md +103 -0
- package/dist/template/.pi/skills/cloudflare/references/stream/api.md +204 -0
- package/dist/template/.pi/skills/cloudflare/references/stream/configuration.md +127 -0
- package/dist/template/.pi/skills/cloudflare/references/stream/gotchas.md +131 -0
- package/dist/template/.pi/skills/cloudflare/references/stream/patterns.md +152 -0
- package/dist/template/.pi/skills/cloudflare/references/tail-workers/README.md +640 -0
- package/dist/template/.pi/skills/cloudflare/references/terraform/README.md +76 -0
- package/dist/template/.pi/skills/cloudflare/references/terraform/api.md +159 -0
- package/dist/template/.pi/skills/cloudflare/references/terraform/configuration.md +156 -0
- package/dist/template/.pi/skills/cloudflare/references/terraform/gotchas.md +207 -0
- package/dist/template/.pi/skills/cloudflare/references/terraform/patterns.md +135 -0
- package/dist/template/.pi/skills/cloudflare/references/tunnel/README.md +82 -0
- package/dist/template/.pi/skills/cloudflare/references/tunnel/api.md +105 -0
- package/dist/template/.pi/skills/cloudflare/references/tunnel/configuration.md +113 -0
- package/dist/template/.pi/skills/cloudflare/references/tunnel/gotchas.md +115 -0
- package/dist/template/.pi/skills/cloudflare/references/tunnel/patterns.md +157 -0
- package/dist/template/.pi/skills/cloudflare/references/turn/README.md +699 -0
- package/dist/template/.pi/skills/cloudflare/references/turnstile/README.md +14 -0
- package/dist/template/.pi/skills/cloudflare/references/turnstile/api.md +3 -0
- package/dist/template/.pi/skills/cloudflare/references/turnstile/configuration.md +19 -0
- package/dist/template/.pi/skills/cloudflare/references/turnstile/gotchas.md +27 -0
- package/dist/template/.pi/skills/cloudflare/references/turnstile/patterns.md +41 -0
- package/dist/template/.pi/skills/cloudflare/references/vectorize/README.md +682 -0
- package/dist/template/.pi/skills/cloudflare/references/waf/README.md +14 -0
- package/dist/template/.pi/skills/cloudflare/references/waf/api.md +3 -0
- package/dist/template/.pi/skills/cloudflare/references/waf/configuration.md +44 -0
- package/dist/template/.pi/skills/cloudflare/references/waf/gotchas.md +24 -0
- package/dist/template/.pi/skills/cloudflare/references/waf/patterns.md +29 -0
- package/dist/template/.pi/skills/cloudflare/references/web-analytics/README.md +19 -0
- package/dist/template/.pi/skills/cloudflare/references/web-analytics/api.md +52 -0
- package/dist/template/.pi/skills/cloudflare/references/web-analytics/configuration.md +31 -0
- package/dist/template/.pi/skills/cloudflare/references/web-analytics/gotchas.md +28 -0
- package/dist/template/.pi/skills/cloudflare/references/web-analytics/patterns.md +52 -0
- package/dist/template/.pi/skills/cloudflare/references/workerd/README.md +47 -0
- package/dist/template/.pi/skills/cloudflare/references/workerd/api.md +199 -0
- package/dist/template/.pi/skills/cloudflare/references/workerd/configuration.md +185 -0
- package/dist/template/.pi/skills/cloudflare/references/workerd/gotchas.md +203 -0
- package/dist/template/.pi/skills/cloudflare/references/workerd/patterns.md +216 -0
- package/dist/template/.pi/skills/cloudflare/references/workers/README.md +96 -0
- package/dist/template/.pi/skills/cloudflare/references/workers/api.md +137 -0
- package/dist/template/.pi/skills/cloudflare/references/workers/configuration.md +147 -0
- package/dist/template/.pi/skills/cloudflare/references/workers/gotchas.md +99 -0
- package/dist/template/.pi/skills/cloudflare/references/workers/patterns.md +149 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-ai/README.md +116 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/README.md +48 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/api.md +169 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/configuration.md +136 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/patterns.md +170 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-playground/README.md +16 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-playground/api.md +20 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-playground/configuration.md +3 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-playground/gotchas.md +35 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-playground/patterns.md +42 -0
- package/dist/template/.pi/skills/cloudflare/references/workers-vpc/README.md +579 -0
- package/dist/template/.pi/skills/cloudflare/references/workflows/README.md +62 -0
- package/dist/template/.pi/skills/cloudflare/references/workflows/api.md +125 -0
- package/dist/template/.pi/skills/cloudflare/references/workflows/configuration.md +177 -0
- package/dist/template/.pi/skills/cloudflare/references/workflows/gotchas.md +136 -0
- package/dist/template/.pi/skills/cloudflare/references/workflows/patterns.md +132 -0
- package/dist/template/.pi/skills/cloudflare/references/wrangler/README.md +90 -0
- package/dist/template/.pi/skills/cloudflare/references/wrangler/api.md +140 -0
- package/dist/template/.pi/skills/cloudflare/references/wrangler/configuration.md +128 -0
- package/dist/template/.pi/skills/cloudflare/references/wrangler/gotchas.md +93 -0
- package/dist/template/.pi/skills/cloudflare/references/wrangler/patterns.md +150 -0
- package/dist/template/.pi/skills/cloudflare/references/zaraz/README.md +360 -0
- package/dist/template/.pi/skills/code-cleanup/SKILL.md +232 -0
- package/dist/template/.pi/skills/code-review-and-quality/SKILL.md +344 -0
- package/dist/template/.pi/skills/code-simplification/SKILL.md +348 -0
- package/dist/template/.pi/skills/context-engineering/SKILL.md +296 -0
- package/dist/template/.pi/skills/core-data-expert/SKILL.md +117 -0
- package/dist/template/.pi/skills/core-data-expert/references/batch-operations.md +543 -0
- package/dist/template/.pi/skills/core-data-expert/references/cloudkit-integration.md +259 -0
- package/dist/template/.pi/skills/core-data-expert/references/concurrency.md +522 -0
- package/dist/template/.pi/skills/core-data-expert/references/fetch-requests.md +643 -0
- package/dist/template/.pi/skills/core-data-expert/references/glossary.md +233 -0
- package/dist/template/.pi/skills/core-data-expert/references/migration.md +393 -0
- package/dist/template/.pi/skills/core-data-expert/references/model-configuration.md +597 -0
- package/dist/template/.pi/skills/core-data-expert/references/performance.md +300 -0
- package/dist/template/.pi/skills/core-data-expert/references/persistent-history.md +553 -0
- package/dist/template/.pi/skills/core-data-expert/references/project-audit.md +60 -0
- package/dist/template/.pi/skills/core-data-expert/references/saving.md +574 -0
- package/dist/template/.pi/skills/core-data-expert/references/stack-setup.md +625 -0
- package/dist/template/.pi/skills/core-data-expert/references/testing.md +300 -0
- package/dist/template/.pi/skills/core-data-expert/references/threading.md +589 -0
- package/dist/template/.pi/skills/debugging-and-error-recovery/SKILL.md +274 -0
- package/dist/template/.pi/skills/deep-module-design/SKILL.md +218 -0
- package/dist/template/.pi/skills/defense-in-depth/SKILL.md +161 -0
- package/dist/template/.pi/skills/deprecation-and-migration/SKILL.md +186 -0
- package/dist/template/.pi/skills/design-system-audit/SKILL.md +176 -0
- package/dist/template/.pi/skills/design-taste-frontend/SKILL.md +255 -0
- package/dist/template/.pi/skills/development-lifecycle/SKILL.md +285 -0
- package/dist/template/.pi/skills/documentation-and-adrs/SKILL.md +217 -0
- package/dist/template/.pi/skills/doubt-driven-development/SKILL.md +207 -0
- package/dist/template/.pi/skills/fallow/SKILL.md +457 -0
- package/dist/template/.pi/skills/fallow/references/cli-reference.md +1905 -0
- package/dist/template/.pi/skills/fallow/references/gotchas.md +644 -0
- package/dist/template/.pi/skills/fallow/references/patterns.md +791 -0
- package/dist/template/.pi/skills/figma/SKILL.md +241 -0
- package/dist/template/.pi/skills/frontend-design/SKILL.md +262 -0
- package/dist/template/.pi/skills/frontend-design/references/animation/motion-advanced.md +224 -0
- package/dist/template/.pi/skills/frontend-design/references/animation/motion-core.md +181 -0
- package/dist/template/.pi/skills/frontend-design/references/canvas/execution.md +90 -0
- package/dist/template/.pi/skills/frontend-design/references/canvas/philosophy.md +94 -0
- package/dist/template/.pi/skills/frontend-design/references/design/color-system.md +111 -0
- package/dist/template/.pi/skills/frontend-design/references/design/interaction.md +149 -0
- package/dist/template/.pi/skills/frontend-design/references/design/typography-rules.md +106 -0
- package/dist/template/.pi/skills/frontend-design/references/design/ux-writing.md +99 -0
- package/dist/template/.pi/skills/frontend-design/references/shadcn/accessibility.md +132 -0
- package/dist/template/.pi/skills/frontend-design/references/shadcn/core-components.md +153 -0
- package/dist/template/.pi/skills/frontend-design/references/shadcn/form-components.md +158 -0
- package/dist/template/.pi/skills/frontend-design/references/shadcn/setup.md +69 -0
- package/dist/template/.pi/skills/frontend-design/references/shadcn/theming.md +152 -0
- package/dist/template/.pi/skills/frontend-design/references/tailwind/responsive.md +112 -0
- package/dist/template/.pi/skills/frontend-design/references/tailwind/utilities-layout.md +134 -0
- package/dist/template/.pi/skills/frontend-design/references/tailwind/utilities-styling.md +165 -0
- package/dist/template/.pi/skills/frontend-design/references/tailwind/v4-config.md +147 -0
- package/dist/template/.pi/skills/frontend-design/references/tailwind/v4-features.md +128 -0
- package/dist/template/.pi/skills/frontend-ui-engineering/SKILL.md +217 -0
- package/dist/template/.pi/skills/gemini-large-context/SKILL.md +238 -0
- package/dist/template/.pi/skills/git-workflow-and-versioning/SKILL.md +217 -0
- package/dist/template/.pi/skills/grill-me/SKILL.md +162 -0
- package/dist/template/.pi/skills/high-end-visual-design/SKILL.md +128 -0
- package/dist/template/.pi/skills/idea-refine/SKILL.md +195 -0
- package/dist/template/.pi/skills/idea-refine/examples.md +62 -0
- package/dist/template/.pi/skills/idea-refine/frameworks.md +63 -0
- package/dist/template/.pi/skills/idea-refine/refinement-criteria.md +56 -0
- package/dist/template/.pi/skills/incremental-implementation/SKILL.md +190 -0
- package/dist/template/.pi/skills/industrial-brutalist-ui/SKILL.md +131 -0
- package/dist/template/.pi/skills/interview-me/SKILL.md +227 -0
- package/dist/template/.pi/skills/jira/SKILL.md +306 -0
- package/dist/template/.pi/skills/loop-audit/SKILL.md +141 -0
- package/dist/template/.pi/skills/loop-cost/SKILL.md +130 -0
- package/dist/template/.pi/skills/loop-engineering/SKILL.md +175 -0
- package/dist/template/.pi/skills/minimalist-ui/SKILL.md +124 -0
- package/dist/template/.pi/skills/mockup-to-code/SKILL.md +197 -0
- package/dist/template/.pi/skills/observability-and-instrumentation/SKILL.md +202 -0
- package/dist/template/.pi/skills/opensrc/SKILL.md +297 -0
- package/dist/template/.pi/skills/opensrc/references/architecture.md +176 -0
- package/dist/template/.pi/skills/opensrc/references/cli-usage.md +176 -0
- package/dist/template/.pi/skills/opensrc/references/registry-support.md +137 -0
- package/dist/template/.pi/skills/pdf-extract/SKILL.md +461 -0
- package/dist/template/.pi/skills/performance-optimization/SKILL.md +233 -0
- package/dist/template/.pi/skills/performance-optimization/references/performance-checklist.md +85 -0
- package/dist/template/.pi/skills/planning-and-task-breakdown/SKILL.md +204 -0
- package/dist/template/.pi/skills/playwright/SKILL.md +404 -0
- package/dist/template/.pi/skills/playwright/references/agent-browser-cli.md +405 -0
- package/dist/template/.pi/skills/polar/SKILL.md +125 -0
- package/dist/template/.pi/skills/react-best-practices/SKILL.md +156 -0
- package/dist/template/.pi/skills/react-best-practices/rules/_sections.md +46 -0
- package/dist/template/.pi/skills/react-best-practices/rules/_template.md +28 -0
- package/dist/template/.pi/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/dist/template/.pi/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/dist/template/.pi/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/dist/template/.pi/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/dist/template/.pi/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/dist/template/.pi/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/dist/template/.pi/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/dist/template/.pi/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/dist/template/.pi/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/dist/template/.pi/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/dist/template/.pi/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/dist/template/.pi/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/dist/template/.pi/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/dist/template/.pi/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/dist/template/.pi/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/dist/template/.pi/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/dist/template/.pi/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/dist/template/.pi/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/dist/template/.pi/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/dist/template/.pi/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/dist/template/.pi/skills/react-best-practices/rules/server-cache-react.md +76 -0
- package/dist/template/.pi/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/dist/template/.pi/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/dist/template/.pi/skills/redesign-existing-projects/SKILL.md +217 -0
- package/dist/template/.pi/skills/resend/SKILL.md +196 -0
- package/dist/template/.pi/skills/resend/references/react-email.md +287 -0
- package/dist/template/.pi/skills/resend/references/receive-email.md +248 -0
- package/dist/template/.pi/skills/resend/references/send-email.md +318 -0
- package/dist/template/.pi/skills/root-cause-tracing/SKILL.md +216 -0
- package/dist/template/.pi/skills/security-and-hardening/SKILL.md +293 -0
- package/dist/template/.pi/skills/security-and-hardening/references/security-checklist.md +105 -0
- package/dist/template/.pi/skills/shipping-and-launch/SKILL.md +101 -0
- package/dist/template/.pi/skills/source-driven-development/SKILL.md +108 -0
- package/dist/template/.pi/skills/spec-driven-development/SKILL.md +177 -0
- package/dist/template/.pi/skills/srcwalk/SKILL.md +182 -0
- package/dist/template/.pi/skills/subagent-driven-development/SKILL.md +253 -0
- package/dist/template/.pi/skills/supabase/SKILL.md +153 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/SKILL.md +88 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/dist/template/.pi/skills/swift-concurrency/SKILL.md +290 -0
- package/dist/template/.pi/skills/swift-concurrency/references/actors.md +640 -0
- package/dist/template/.pi/skills/swift-concurrency/references/async-algorithms.md +822 -0
- package/dist/template/.pi/skills/swift-concurrency/references/async-await-basics.md +249 -0
- package/dist/template/.pi/skills/swift-concurrency/references/async-sequences.md +670 -0
- package/dist/template/.pi/skills/swift-concurrency/references/core-data.md +533 -0
- package/dist/template/.pi/skills/swift-concurrency/references/glossary.md +128 -0
- package/dist/template/.pi/skills/swift-concurrency/references/linting.md +142 -0
- package/dist/template/.pi/skills/swift-concurrency/references/memory-management.md +542 -0
- package/dist/template/.pi/skills/swift-concurrency/references/migration.md +1076 -0
- package/dist/template/.pi/skills/swift-concurrency/references/performance.md +574 -0
- package/dist/template/.pi/skills/swift-concurrency/references/sendable.md +578 -0
- package/dist/template/.pi/skills/swift-concurrency/references/tasks.md +604 -0
- package/dist/template/.pi/skills/swift-concurrency/references/testing.md +565 -0
- package/dist/template/.pi/skills/swift-concurrency/references/threading.md +452 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/SKILL.md +343 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-advanced.md +351 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/image-optimization.md +286 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/layout-best-practices.md +312 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/liquid-glass.md +377 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/list-patterns.md +153 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/modern-apis.md +400 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/performance-patterns.md +377 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/scroll-patterns.md +305 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/state-management.md +447 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/text-formatting.md +285 -0
- package/dist/template/.pi/skills/swiftui-expert-skill/references/view-structure.md +276 -0
- package/dist/template/.pi/skills/test-driven-development/SKILL.md +400 -0
- package/dist/template/.pi/skills/test-driven-development/references/testing-patterns.md +155 -0
- package/dist/template/.pi/skills/testing-anti-patterns/SKILL.md +339 -0
- package/dist/template/.pi/skills/using-agent-skills/SKILL.md +371 -0
- package/dist/template/.pi/skills/using-git-worktrees/SKILL.md +275 -0
- package/dist/template/.pi/skills/vercel-deploy-claimable/SKILL.md +144 -0
- package/dist/template/.pi/skills/vercel-deploy-claimable/scripts/deploy.sh +249 -0
- package/dist/template/.pi/skills/verification-before-completion/SKILL.md +348 -0
- package/dist/template/.pi/skills/webclaw/SKILL.md +188 -0
- package/dist/template/.pi/skills/writing-skills/SKILL.md +329 -0
- package/dist/template/.pi/skills/writing-skills/references/anti-patterns.md +25 -0
- package/dist/template/.pi/skills/writing-skills/references/claude-search-optimization.md +140 -0
- package/dist/template/.pi/skills/writing-skills/references/discovery-workflow.md +11 -0
- package/dist/template/.pi/skills/writing-skills/references/file-organization.md +32 -0
- package/dist/template/.pi/skills/writing-skills/references/flowcharts-and-examples.md +57 -0
- package/dist/template/.pi/skills/writing-skills/references/rationalization-hardening.md +75 -0
- package/dist/template/.pi/skills/writing-skills/references/testing-methodology.md +397 -0
- package/dist/template/.pi/skills/writing-skills/references/testing-skill-types.md +52 -0
- package/dist/template/.pi/subagents.json +10 -0
- package/dist/template/.pi/templates/adr.md +47 -0
- package/dist/template/.pi/templates/design.md +61 -0
- package/dist/template/.pi/templates/loop-github-action.yml +162 -0
- package/dist/template/.pi/templates/loop-orchestrator.sh +514 -0
- package/dist/template/.pi/templates/loop-orchestrator.test.ts +332 -0
- package/dist/template/.pi/templates/loop-orchestrator.ts +936 -0
- package/dist/template/.pi/templates/loop-state.json +24 -0
- package/dist/template/.pi/templates/loop-state.md +98 -0
- package/dist/template/.pi/templates/loop-vision.md +110 -0
- package/dist/template/.pi/templates/prd.md +204 -0
- package/dist/template/.pi/templates/progress.md +55 -0
- package/dist/template/.pi/templates/project.md +58 -0
- package/dist/template/.pi/templates/proposal.md +40 -0
- package/dist/template/.pi/templates/review-state.json +20 -0
- package/dist/template/.pi/templates/roadmap.md +93 -0
- package/dist/template/.pi/templates/state.md +97 -0
- package/dist/template/.pi/templates/tasks.md +202 -0
- package/dist/template/.pi/templates/tech-stack.md +85 -0
- package/dist/template/.pi/templates/user.md +26 -0
- package/dist/template/.pi/workflows/INDEX.md +63 -0
- package/dist/template/.pi/workflows/audit-pattern.md +84 -0
- package/dist/template/.pi/workflows/batch-implement.md +121 -0
- package/dist/template/.pi/workflows/deep-research.md +89 -0
- package/dist/template/.pi/workflows/development-lifecycle-workflow.md +175 -0
- package/dist/template/.pi/workflows/garbage-collection.md +144 -0
- package/dist/template/.pi/workflows/quality-loop.md +211 -0
- package/package.json +57 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Current project state, active decisions, blockers, and position tracking
|
|
3
|
+
updated: <auto — last modified>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# State
|
|
7
|
+
|
|
8
|
+
## Project Mode
|
|
9
|
+
|
|
10
|
+
<!-- Auto-injected every turn via templates-injector. Set during /init. -->
|
|
11
|
+
**Mode:** greenfield | brownfield | mixed
|
|
12
|
+
<!-- greenfield = no deployed consumers; skip backwards-compat layers, version prefixes, legacy handlers on day one -->
|
|
13
|
+
<!-- brownfield = deployed consumers exist; run semantic_inspect callers/callees before any rename/delete to prove unreferenced; conform to existing conventions -->
|
|
14
|
+
<!-- mixed = some subsystems new, some existing; state the mode per-task in the first sentence -->
|
|
15
|
+
|
|
16
|
+
## Current Position
|
|
17
|
+
|
|
18
|
+
<!-- Where are we right now? What just happened? -->
|
|
19
|
+
|
|
20
|
+
**Active Feature:** <slug> - [Title]
|
|
21
|
+
**Status:** [In Progress / Blocked / Review]
|
|
22
|
+
**Started:** [Date]
|
|
23
|
+
**Phase:** [Phase name from roadmap.md]
|
|
24
|
+
|
|
25
|
+
## Recent Completed Work
|
|
26
|
+
|
|
27
|
+
<!-- Last 3-5 completed tasks -->
|
|
28
|
+
|
|
29
|
+
| Feature | Title | Completed | Summary |
|
|
30
|
+
| ------ | ------- | --------- | ------------------ |
|
|
31
|
+
| <slug> | [Title] | [Date] | [One-line summary] |
|
|
32
|
+
| <slug> | [Title] | [Date] | [One-line summary] |
|
|
33
|
+
|
|
34
|
+
## Active Decisions
|
|
35
|
+
|
|
36
|
+
<!-- Decisions made that affect current and future work -->
|
|
37
|
+
|
|
38
|
+
| Date | Decision | Rationale | Impact |
|
|
39
|
+
| ------ | ------------------ | --------- | ----------------- |
|
|
40
|
+
| [Date] | [What was decided] | [Why] | [What it affects] |
|
|
41
|
+
|
|
42
|
+
## Blockers
|
|
43
|
+
|
|
44
|
+
<!-- What's preventing progress? -->
|
|
45
|
+
|
|
46
|
+
| Feature | Blocker | Since | Owner |
|
|
47
|
+
| ------ | ------------------------ | ------ | ------------------- |
|
|
48
|
+
| <slug> | [Description of blocker] | [Date] | [Who's responsible] |
|
|
49
|
+
|
|
50
|
+
## Open Questions
|
|
51
|
+
|
|
52
|
+
<!-- Questions that need answers before proceeding -->
|
|
53
|
+
|
|
54
|
+
| Question | Context | Blocking | Priority |
|
|
55
|
+
| ---------- | ------------------ | -------- | -------------- |
|
|
56
|
+
| [Question] | [Where it came up] | [Yes/No] | [High/Med/Low] |
|
|
57
|
+
|
|
58
|
+
## Context Notes
|
|
59
|
+
|
|
60
|
+
<!-- Important context that doesn't fit elsewhere -->
|
|
61
|
+
|
|
62
|
+
### Technical
|
|
63
|
+
|
|
64
|
+
- [Technical decision or constraint]
|
|
65
|
+
- [Pattern or convention established]
|
|
66
|
+
|
|
67
|
+
### Product
|
|
68
|
+
|
|
69
|
+
- [Product decision or direction]
|
|
70
|
+
- [User feedback or requirement]
|
|
71
|
+
|
|
72
|
+
### Process
|
|
73
|
+
|
|
74
|
+
- [Workflow change or improvement]
|
|
75
|
+
- [Team agreement or process]
|
|
76
|
+
|
|
77
|
+
## Next Actions
|
|
78
|
+
|
|
79
|
+
<!-- Immediate next steps -->
|
|
80
|
+
|
|
81
|
+
1. [ ] [Action item with owner if applicable]
|
|
82
|
+
2. [ ] [Action item]
|
|
83
|
+
3. [ ] [Action item]
|
|
84
|
+
|
|
85
|
+
## Session Handoff
|
|
86
|
+
|
|
87
|
+
<!-- For multi-session work, what's the state for the next session? -->
|
|
88
|
+
|
|
89
|
+
**Last Session:** [Date]
|
|
90
|
+
**Next Session Priority:** [What's most important to do next]
|
|
91
|
+
**Known Issues:** [Any issues to be aware of]
|
|
92
|
+
**Context Links:** [Relevant files, PRs, docs]
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
_Update this file at the end of each significant session or when state changes._
|
|
97
|
+
_This file is the "you are here" marker for the project._
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# Implementation Tasks
|
|
2
|
+
|
|
3
|
+
> **Purpose:** Body template for the `## Tasks` section of `.pi/artifacts/$SLUG/plan.md` (produced by `/plan`).
|
|
4
|
+
> The runtime mirror of these tasks lives in `.pi/artifacts/$SLUG/tasks.json`, which `/ship` consumes.
|
|
5
|
+
> See `.pi/templates/prd.md` for the high-level task outline that lives inside the PRD (spec).
|
|
6
|
+
|
|
7
|
+
**Feature:** <feature-slug>
|
|
8
|
+
**Spec:** [link to spec]
|
|
9
|
+
**Date:** [YYYY-MM-DD]
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Task Metadata
|
|
14
|
+
|
|
15
|
+
Each task can have these optional fields in YAML frontmatter:
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
---
|
|
19
|
+
id: "1.1" # Task identifier
|
|
20
|
+
depends_on: [] # Task IDs that must complete first
|
|
21
|
+
parallel: true # Can run concurrently with other parallel tasks
|
|
22
|
+
conflicts_with: [] # Task IDs that modify same files (cannot parallelize)
|
|
23
|
+
files: [] # Files this task will modify
|
|
24
|
+
estimated_minutes: 30 # Time estimate for planning
|
|
25
|
+
---
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 1. Setup
|
|
31
|
+
|
|
32
|
+
### 1.1 [Prerequisite task]
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
depends_on: []
|
|
36
|
+
parallel: false
|
|
37
|
+
files: ["package.json", "tsconfig.json"]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
- [ ] [Task description]
|
|
41
|
+
|
|
42
|
+
### 1.2 [Environment or config task]
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
depends_on: ["1.1"]
|
|
46
|
+
parallel: false
|
|
47
|
+
files: [".env.example"]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
- [ ] [Task description]
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 2. Core Implementation
|
|
55
|
+
|
|
56
|
+
### 2.1 [Primary implementation task]
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
depends_on: ["1.1", "1.2"]
|
|
60
|
+
parallel: true
|
|
61
|
+
conflicts_with: []
|
|
62
|
+
files: ["src/feature/index.ts"]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- [ ] [Task description]
|
|
66
|
+
|
|
67
|
+
### 2.2 [Secondary implementation task]
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
depends_on: ["1.1", "1.2"]
|
|
71
|
+
parallel: true
|
|
72
|
+
conflicts_with: []
|
|
73
|
+
files: ["src/feature/utils.ts"]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- [ ] [Task description]
|
|
77
|
+
|
|
78
|
+
### 2.3 [Integration task]
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
depends_on: ["2.1", "2.2"]
|
|
82
|
+
parallel: false
|
|
83
|
+
conflicts_with: []
|
|
84
|
+
files: ["src/feature/index.ts", "src/feature/utils.ts"]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- [ ] [Task description]
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 3. Testing
|
|
92
|
+
|
|
93
|
+
### 3.1 [Unit test task]
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
depends_on: ["2.1"]
|
|
97
|
+
parallel: true
|
|
98
|
+
files: ["tests/feature.test.ts"]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
- [ ] [Task description]
|
|
102
|
+
|
|
103
|
+
### 3.2 [Integration test task]
|
|
104
|
+
|
|
105
|
+
```yaml
|
|
106
|
+
depends_on: ["2.3"]
|
|
107
|
+
parallel: true
|
|
108
|
+
files: ["tests/integration/feature.test.ts"]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
- [ ] [Task description]
|
|
112
|
+
|
|
113
|
+
### 3.3 [Edge case verification]
|
|
114
|
+
|
|
115
|
+
```yaml
|
|
116
|
+
depends_on: ["3.1", "3.2"]
|
|
117
|
+
parallel: false
|
|
118
|
+
files: []
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
- [ ] [Task description]
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 4. Documentation
|
|
126
|
+
|
|
127
|
+
### 4.1 [Code comments / JSDoc]
|
|
128
|
+
|
|
129
|
+
```yaml
|
|
130
|
+
depends_on: ["2.3"]
|
|
131
|
+
parallel: true
|
|
132
|
+
files: ["src/feature/*.ts"]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
- [ ] [Task description]
|
|
136
|
+
|
|
137
|
+
### 4.2 [README updates]
|
|
138
|
+
|
|
139
|
+
```yaml
|
|
140
|
+
depends_on: ["2.3"]
|
|
141
|
+
parallel: true
|
|
142
|
+
files: ["README.md"]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
- [ ] [Task description]
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 5. Verification
|
|
150
|
+
|
|
151
|
+
### 5.1 All tests pass
|
|
152
|
+
|
|
153
|
+
```yaml
|
|
154
|
+
depends_on: ["3.1", "3.2", "3.3"]
|
|
155
|
+
parallel: false
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
- [ ] `[test command]`
|
|
159
|
+
|
|
160
|
+
### 5.2 Lint clean
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
depends_on: ["2.3", "4.1"]
|
|
164
|
+
parallel: true
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
- [ ] `[lint command]`
|
|
168
|
+
|
|
169
|
+
### 5.3 Build succeeds
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
depends_on: ["5.1", "5.2"]
|
|
173
|
+
parallel: false
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
- [ ] `[build command]`
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Dependency Graph
|
|
181
|
+
|
|
182
|
+
Visualize task flow (auto-generated from above):
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
1.1 ──┬──> 2.1 ──┬──> 2.3 ──┬──> 3.2 ──┬──> 5.1 ──> 5.3
|
|
186
|
+
│ │ │ │
|
|
187
|
+
1.2 ──┘ 2.2 ──┘ 3.1 ──┘ 5.2 ──┘
|
|
188
|
+
│
|
|
189
|
+
4.1 ──┘
|
|
190
|
+
4.2
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Legend:**
|
|
194
|
+
|
|
195
|
+
- `──>` = depends_on (sequential)
|
|
196
|
+
- Tasks at same level with `parallel: true` = can run concurrently
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Notes
|
|
201
|
+
|
|
202
|
+
<!-- Implementation notes, gotchas, or decisions made during task creation -->
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Tech stack, constraints, and integrations for AI context injection
|
|
3
|
+
updated: 2026-02-01
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tech Stack
|
|
7
|
+
|
|
8
|
+
This file is automatically injected via the `templates-injector` extension (configured in `.pi/settings.json` → `extensions`), or paste manually at session start.
|
|
9
|
+
|
|
10
|
+
## Framework & Language
|
|
11
|
+
|
|
12
|
+
- **Framework:** [e.g., Next.js 15, React 19]
|
|
13
|
+
- **Language:** TypeScript (strict mode)
|
|
14
|
+
- **Runtime:** [e.g., Node.js 22, Bun 1.x]
|
|
15
|
+
|
|
16
|
+
## Styling & UI
|
|
17
|
+
|
|
18
|
+
- **CSS:** [e.g., Tailwind CSS v4]
|
|
19
|
+
- **Components:** [e.g., shadcn/ui, Radix Primitives]
|
|
20
|
+
- **Design System:** [e.g., Custom tokens in tailwind.config.ts]
|
|
21
|
+
|
|
22
|
+
## Data & State
|
|
23
|
+
|
|
24
|
+
- **Database:** [e.g., PostgreSQL via Supabase]
|
|
25
|
+
- **ORM:** [e.g., Drizzle, Prisma]
|
|
26
|
+
- **State Management:** [e.g., Zustand, React Query]
|
|
27
|
+
- **API Style:** [e.g., REST, tRPC, GraphQL]
|
|
28
|
+
|
|
29
|
+
## Testing
|
|
30
|
+
|
|
31
|
+
- **Unit Tests:** [e.g., Vitest]
|
|
32
|
+
- **E2E Tests:** [e.g., Playwright]
|
|
33
|
+
- **Coverage Target:** [e.g., 80%]
|
|
34
|
+
|
|
35
|
+
## Key Constraints
|
|
36
|
+
|
|
37
|
+
- [Constraint 1: e.g., Must work offline]
|
|
38
|
+
- [Constraint 2: e.g., WCAG 2.1 AA compliance required]
|
|
39
|
+
- [Constraint 3: e.g., Bundle size < 500KB]
|
|
40
|
+
|
|
41
|
+
## Active Integrations
|
|
42
|
+
|
|
43
|
+
- [Service 1: e.g., Stripe for payments]
|
|
44
|
+
- [Service 2: e.g., Resend for email]
|
|
45
|
+
- [Service 3: e.g., Sentry for error tracking]
|
|
46
|
+
|
|
47
|
+
## Context Budget Guidelines
|
|
48
|
+
|
|
49
|
+
**Quality Degradation Rule:** Target ~50% context per plan execution for consistent quality.
|
|
50
|
+
|
|
51
|
+
| Task Complexity | Max Tasks/Plan | Typical Context Usage |
|
|
52
|
+
| --------------- | -------------- | --------------------- |
|
|
53
|
+
| Simple (CRUD) | 3 | ~30-45% |
|
|
54
|
+
| Complex (auth) | 2 | ~40-50% |
|
|
55
|
+
| Very complex | 1-2 | ~30-50% |
|
|
56
|
+
|
|
57
|
+
**Split Signals:**
|
|
58
|
+
|
|
59
|
+
- More than 3 tasks → Create child plans
|
|
60
|
+
- Multiple subsystems → Separate plans
|
|
61
|
+
- > 5 file modifications per task → Split
|
|
62
|
+
- Discovery + implementation → Split
|
|
63
|
+
|
|
64
|
+
## Verification Commands
|
|
65
|
+
|
|
66
|
+
**Always run before claiming complete:**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Type checking
|
|
70
|
+
[typecheck command, e.g., npm run typecheck]
|
|
71
|
+
|
|
72
|
+
# Linting
|
|
73
|
+
[lint command, e.g., npm run lint]
|
|
74
|
+
|
|
75
|
+
# Testing
|
|
76
|
+
[test command, e.g., npm test]
|
|
77
|
+
|
|
78
|
+
# Building
|
|
79
|
+
[build command, e.g., npm run build]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
_Update this file when tech stack or constraints change._
|
|
85
|
+
_AI will capture architecture, conventions, and gotchas via the `memory` tool (pi-hermes-memory) as it works._
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: User identity, preferences, communication style
|
|
3
|
+
updated: <auto — last modified>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# User Profile
|
|
7
|
+
|
|
8
|
+
## Identity
|
|
9
|
+
|
|
10
|
+
<!-- Name, role, git contributor identity -->
|
|
11
|
+
|
|
12
|
+
## Communication Preferences
|
|
13
|
+
|
|
14
|
+
<!-- Concise vs detailed, tone preferences -->
|
|
15
|
+
|
|
16
|
+
## Workflow Preferences
|
|
17
|
+
|
|
18
|
+
<!-- Preferred tools, testing habits, review style -->
|
|
19
|
+
|
|
20
|
+
## Technical Preferences
|
|
21
|
+
|
|
22
|
+
<!-- Languages, frameworks, patterns they favor -->
|
|
23
|
+
|
|
24
|
+
## Things to Remember
|
|
25
|
+
|
|
26
|
+
<!-- Personal quirks, pet peeves, preferences learned -->
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Index of DAG workflows with trigger, phases, and invoking command
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Workflows Index
|
|
6
|
+
|
|
7
|
+
6 DAG workflows. All have `description` frontmatter (for `run_workflow` discovery) and use a consistent Phase format: `Agent`, `Concurrency`, `Depends on`, `Prompt`.
|
|
8
|
+
|
|
9
|
+
## Invocation
|
|
10
|
+
|
|
11
|
+
Commands invoke workflows via the `run_workflow` tool — never by manually reading the workflow file:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
run_workflow({ name: "<workflow-name>", args: { <args> } })
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Workflows may compose recursively (e.g., `development-lifecycle-workflow` Phase 4 calls `run_workflow('batch-implement')`).
|
|
18
|
+
|
|
19
|
+
## Workflows
|
|
20
|
+
|
|
21
|
+
| Workflow | Phases | Trigger | Invoked by | Purpose |
|
|
22
|
+
|----------|--------|---------|------------|---------|
|
|
23
|
+
| `audit-pattern` | 2 + synthesis | `>5` pattern occurrences | `/audit` | Find pattern occurrences, review each, prioritize remediation |
|
|
24
|
+
| `batch-implement` | 3 + merge | ≥5 independent tasks, no file conflicts | `/ship` Phase 3, `development-lifecycle-workflow` Phase 4 | One subagent per task in parallel, review, merge |
|
|
25
|
+
| `deep-research` | 2 + synthesis | Complex/multi-angle topic | `/research` (complex mode) | Fan out web searches per angle, cross-check, cited report |
|
|
26
|
+
| `development-lifecycle-workflow` | 5 | Explicit full-lifecycle multi-agent run | Manual / future `/lifecycle` | research → validate → plan → implement → verify (composes batch-implement) |
|
|
27
|
+
| `garbage-collection` | 5 | Manual `/gc` or scheduled cadence | `/gc` | Fallow scan → grade → prioritize → optional cleanup PRs |
|
|
28
|
+
| `quality-loop` | 7 (looped) | High-risk feature, explicit quality gating | `/ship` Phase 5 (Iterative Quality Loop) | Score-gated review loop until 5/5 or escalation |
|
|
29
|
+
|
|
30
|
+
## Phase format (canonical)
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
### Phase N: <name>
|
|
34
|
+
- **Agent:** <type> # explore | scout | review | plan | general | vision | build
|
|
35
|
+
- **Concurrency:** <N | Dynamic: min..max>
|
|
36
|
+
- **Depends on:** Phase <M> | —
|
|
37
|
+
- **Tool:** `subagent` (single|parallel mode) # omit if main-agent phase
|
|
38
|
+
- **Skill:** <skill> # optional, when a phase needs a specific skill loaded
|
|
39
|
+
- **Gate:** <condition> # optional, e.g., dry-run default
|
|
40
|
+
- **Prompt:** ...
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Final Synthesis (Main Agent)** — every workflow ends with a main-agent synthesis step that aggregates phase outputs into the final report. Main agent does not dispatch itself as a subagent.
|
|
44
|
+
|
|
45
|
+
## Composition
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
development-lifecycle-workflow
|
|
49
|
+
└── Phase 4 → run_workflow('batch-implement')
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
No other cross-workflow dependencies. `quality-loop` is self-contained (loops internally).
|
|
53
|
+
|
|
54
|
+
## Notes
|
|
55
|
+
|
|
56
|
+
- **Dynamic concurrency** is expressed as `min..max`; pick a concrete count within range based on input size (e.g., occurrences, tasks, findings).
|
|
57
|
+
- **Empty-input guards** — phases that depend on a prior phase's output must check for empty results and skip if none (e.g., `audit-pattern` Phase 2 skips when Phase 1 returns 0 occurrences).
|
|
58
|
+
- **Conflict fallback** — `batch-implement` falls back to sequential execution if parallel subagents produce merge conflicts.
|
|
59
|
+
|
|
60
|
+
## Related
|
|
61
|
+
|
|
62
|
+
- `prompts/INDEX.md` — 11 commands that invoke these workflows
|
|
63
|
+
- `skills/INDEX.md` — skills loaded by workflow phases
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Find all occurrences of a code pattern, review each for correctness/security/edge-cases, and produce prioritized remediation recommendations
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# audit-pattern
|
|
6
|
+
|
|
7
|
+
Find all occurrences of a code pattern in the codebase, review each match for correctness/security/edge-cases, and produce prioritized remediation recommendations. Use for cross-cutting concerns like auth checks, error handling, or API patterns.
|
|
8
|
+
|
|
9
|
+
## Args
|
|
10
|
+
|
|
11
|
+
- `pattern` (required) — The code pattern to search for
|
|
12
|
+
|
|
13
|
+
## Phases
|
|
14
|
+
|
|
15
|
+
### Phase 1: discover
|
|
16
|
+
|
|
17
|
+
- **Agent:** explore
|
|
18
|
+
- **Concurrency:** 1
|
|
19
|
+
- **Depends on:** —
|
|
20
|
+
- **Tool:** `subagent` (single mode)
|
|
21
|
+
|
|
22
|
+
**Prompt:**
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Search the codebase for the pattern: {pattern}. Use semantic_grep or semantic_query to find every occurrence. List each file with line numbers, grouped by subdirectory. If the pattern has common variations, include those too. Return results in this format:
|
|
26
|
+
|
|
27
|
+
## Directory: [path]
|
|
28
|
+
- `file.ts:42` — [brief context]
|
|
29
|
+
- `file.ts:87` — [brief context]
|
|
30
|
+
|
|
31
|
+
Keep each entry under 50 words.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Phase 2: audit
|
|
35
|
+
|
|
36
|
+
- **Depends on:** Phase 1
|
|
37
|
+
- **Agent:** review
|
|
38
|
+
- **Concurrency:** Dynamic (estimate ~10 occurrences per agent, min 2, max 15)
|
|
39
|
+
- **Tool:** `subagent` (parallel mode)
|
|
40
|
+
|
|
41
|
+
**Guard:** If Phase 1 returns 0 occurrences, **skip Phase 2** and synthesize a clean report directly.
|
|
42
|
+
|
|
43
|
+
**Prompt:**
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Review the following files for the pattern '{pattern}': {phase_1_output}. For each occurrence check: correctness, edge cases, security implications, error handling, and adherence to project conventions. Return findings in this format:
|
|
47
|
+
|
|
48
|
+
## File: [path:line]
|
|
49
|
+
- **Severity:** [critical/important/minor]
|
|
50
|
+
- **Issue:** [description]
|
|
51
|
+
- **Recommendation:** [fix suggestion]
|
|
52
|
+
|
|
53
|
+
Keep each finding under 100 words.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Final Synthesis (Main Agent)
|
|
57
|
+
|
|
58
|
+
After Phase 2 completes, synthesize the audit findings directly from {phase_2_output}.
|
|
59
|
+
|
|
60
|
+
Produce:
|
|
61
|
+
1. **Issues ranked by severity** — Critical, important, minor with file:line references
|
|
62
|
+
2. **Affected scope** — Count of files and occurrences
|
|
63
|
+
3. **Recommended fixes** — Specific fix suggestions per issue
|
|
64
|
+
4. **Correct patterns** — Patterns that are already correct and should be preserved
|
|
65
|
+
|
|
66
|
+
Group findings by subdirectory. Keep the report under 1500 words.
|
|
67
|
+
|
|
68
|
+
## Invocation Example
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
/audit-pattern <pattern>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Or in a chain:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
subagent({
|
|
78
|
+
chain: [
|
|
79
|
+
{ agent: "explore", task: "Phase 1 prompt with pattern=console.log" },
|
|
80
|
+
{ agent: "review", task: "Phase 2 prompt with {previous}" },
|
|
81
|
+
// Main agent synthesizes
|
|
82
|
+
]
|
|
83
|
+
});
|
|
84
|
+
```
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Take a plan with independent tasks, dispatch one subagent per task in parallel, review each, and merge results
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# batch-implement
|
|
6
|
+
|
|
7
|
+
Take a plan with independent tasks and dispatch one subagent per task in parallel. Each task result is reviewed, then merged. Use for multi-file feature implementation where tasks don't share file dependencies.
|
|
8
|
+
|
|
9
|
+
## Args
|
|
10
|
+
|
|
11
|
+
- `plan` (required) — The implementation plan (from `/plan` output or `plan.md`)
|
|
12
|
+
|
|
13
|
+
## Phases
|
|
14
|
+
|
|
15
|
+
### Phase 1: plan-review
|
|
16
|
+
|
|
17
|
+
- **Agent:** review
|
|
18
|
+
- **Concurrency:** 1
|
|
19
|
+
- **Depends on:** —
|
|
20
|
+
- **Tool:** `subagent` (single mode)
|
|
21
|
+
|
|
22
|
+
**Prompt:**
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Review this implementation plan for task independence: {plan}. Verify that the tasks don't edit the same files. If any tasks have overlapping file dependencies, flag them as conflicts. Return the list of tasks grouped by dependency in this format:
|
|
26
|
+
|
|
27
|
+
## Independent Tasks (can run in parallel)
|
|
28
|
+
- **Task 1:** [description]
|
|
29
|
+
- Files: [list]
|
|
30
|
+
- **Task 2:** [description]
|
|
31
|
+
- Files: [list]
|
|
32
|
+
|
|
33
|
+
## Dependent Tasks (must run sequentially)
|
|
34
|
+
- **Task 3:** [description]
|
|
35
|
+
- Depends on: [task names]
|
|
36
|
+
- Files: [list]
|
|
37
|
+
|
|
38
|
+
Keep each task description under 100 words.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Phase 2: implement
|
|
42
|
+
|
|
43
|
+
- **Depends on:** Phase 1
|
|
44
|
+
- **Agent:** general
|
|
45
|
+
- **Concurrency:** Dynamic (1 agent per task, min 2, max 10)
|
|
46
|
+
- **Tool:** `subagent` (parallel mode)
|
|
47
|
+
- **Skill:** `test-driven-development` (load when task has `tdd: true`)
|
|
48
|
+
|
|
49
|
+
**Prompt:**
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Implement the following task from the plan: {phase_1_output}. Write production-quality code following project conventions. Include type definitions, error handling, and unit tests. If the task is marked `tdd: true`, follow RED-GREEN-REFACTOR: write the failing test first, then minimal code to pass, then refactor. Keep changes scoped to the task — do not refactor unrelated code. Return a summary in this format:
|
|
53
|
+
|
|
54
|
+
## Task: [name]
|
|
55
|
+
- **Files modified:** [list]
|
|
56
|
+
- **Tests added:** [list]
|
|
57
|
+
- **Key changes:** [brief summary]
|
|
58
|
+
|
|
59
|
+
Keep the summary under 200 words.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Phase 3: verify
|
|
63
|
+
|
|
64
|
+
- **Depends on:** Phase 2
|
|
65
|
+
- **Agent:** review
|
|
66
|
+
- **Concurrency:** Dynamic (~3 implementations per agent, min 2, max 8)
|
|
67
|
+
- **Tool:** `subagent` (parallel mode)
|
|
68
|
+
|
|
69
|
+
**Prompt:**
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Review this implementation: {phase_2_output}. Check: correctness against the task requirements, test coverage, edge case handling, type safety, and lint compliance. Return findings in this format:
|
|
73
|
+
|
|
74
|
+
## Task: [name]
|
|
75
|
+
- **Status:** [pass/fail]
|
|
76
|
+
- **Issues:** [list with file:line refs]
|
|
77
|
+
- **Recommendations:** [list]
|
|
78
|
+
|
|
79
|
+
Keep each finding under 100 words.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Final Merge (Main Agent)
|
|
83
|
+
|
|
84
|
+
After Phase 3 completes, merge the verified implementations directly from {phase_3_output}.
|
|
85
|
+
|
|
86
|
+
Ensure:
|
|
87
|
+
- No duplicate imports
|
|
88
|
+
- Consistent naming conventions
|
|
89
|
+
- Proper module boundaries
|
|
90
|
+
- No broken imports between modules
|
|
91
|
+
|
|
92
|
+
**Conflict fallback:** If two subagents edited the same file and the merge conflicts, fall back to sequential execution for the conflicting tasks (re-run them one at a time, then re-merge).
|
|
93
|
+
|
|
94
|
+
Report any merge conflicts or integration issues. Return a summary:
|
|
95
|
+
|
|
96
|
+
## Merge Summary
|
|
97
|
+
- **Tasks merged:** [count]
|
|
98
|
+
- **Files modified:** [list]
|
|
99
|
+
- **Integration issues:** [list or 'none']
|
|
100
|
+
- **Next steps:** [list]
|
|
101
|
+
|
|
102
|
+
Keep the summary under 500 words.
|
|
103
|
+
|
|
104
|
+
## Invocation Example
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
/ship <plan-id> # When complexity detection triggers batch-implement
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Or directly:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
subagent({
|
|
114
|
+
chain: [
|
|
115
|
+
{ agent: "review", task: "Phase 1 prompt with {plan}" },
|
|
116
|
+
{ agent: "general", task: "Phase 2 prompt per independent task" },
|
|
117
|
+
{ agent: "review", task: "Phase 3 prompt per implementation" },
|
|
118
|
+
// Main agent merges
|
|
119
|
+
]
|
|
120
|
+
});
|
|
121
|
+
```
|