@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,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Close the active feature — finalize, clear .active, record outcome
|
|
3
|
+
argument-hint: "[--done | --blocked | --abandoned] [--note <text>] [--help]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Close
|
|
7
|
+
|
|
8
|
+
Finalize the active feature: record its outcome, update `state.md`, and clear `.pi/artifacts/.active`. Use to recover from a dangling `.active` left by a failed/abandoned `/ship`, or to mark a completed feature done without running the full `/ship` review.
|
|
9
|
+
|
|
10
|
+
## Parse Arguments
|
|
11
|
+
|
|
12
|
+
| Argument | Default | Description |
|
|
13
|
+
| -------------- | ------- | --------------------------------------------------- |
|
|
14
|
+
| `--done` | false | Mark feature complete (success). Append completion summary to progress.md. |
|
|
15
|
+
| `--blocked` | false | Mark feature blocked. Record blocker in state.md. |
|
|
16
|
+
| `--abandoned` | false | Mark feature abandoned. Note reason. |
|
|
17
|
+
| `--note` | — | Free-text reason/note appended to progress.md |
|
|
18
|
+
| `--help` | false | Show this usage |
|
|
19
|
+
|
|
20
|
+
If no outcome flag is given, ask the user: done / blocked / abandoned?
|
|
21
|
+
|
|
22
|
+
## Guard Phase
|
|
23
|
+
|
|
24
|
+
- Read `.pi/artifacts/.active`. If missing → report "No active feature to close." and stop.
|
|
25
|
+
- If `--done` and uncommitted changes exist → warn user, ask: commit first or close anyway?
|
|
26
|
+
- Never delete artifact directories — closing only updates markers and `state.md`.
|
|
27
|
+
|
|
28
|
+
## Load Skills
|
|
29
|
+
|
|
30
|
+
| Skill | When | Why |
|
|
31
|
+
|-------|------|-----|
|
|
32
|
+
| `git-workflow-and-versioning` | If uncommitted changes present | Decide commit/stash before closing |
|
|
33
|
+
| `documentation-and-adrs` | If `--done` | Capture a one-line outcome for handoff |
|
|
34
|
+
|
|
35
|
+
## Phase 1: Capture Outcome
|
|
36
|
+
|
|
37
|
+
1. Read active slug from `.pi/artifacts/.active`
|
|
38
|
+
2. Append to `.pi/artifacts/$SLUG/progress.md`:
|
|
39
|
+
```
|
|
40
|
+
## Close — <date>
|
|
41
|
+
**Outcome:** <done|blocked|abandoned>
|
|
42
|
+
**Note:** <user note or "" >
|
|
43
|
+
```
|
|
44
|
+
3. If `--done`: update `tasks.json` → mark all tasks `completed: true`.
|
|
45
|
+
|
|
46
|
+
## Phase 2: Update state.md
|
|
47
|
+
|
|
48
|
+
Update `.pi/templates/state.md` "Recent Completed Work" (or "Blockers" if `--blocked`):
|
|
49
|
+
- Add row: `<slug> | <title> | <date> | <one-line summary>`
|
|
50
|
+
|
|
51
|
+
## Phase 3: Clear .active
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
: > .pi/artifacts/.active # truncate to empty (preserves the file)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Do **not** `rm` the file (other tooling may expect it to exist).
|
|
58
|
+
|
|
59
|
+
## Phase 4: Optional Memory
|
|
60
|
+
|
|
61
|
+
If `--done` and the outcome is non-trivial, persist a memory entry via the `memory` tool (pi-hermes-memory, action: `add`, target: `failure`, category: `insight`):
|
|
62
|
+
- content: "Feature <slug> closed — <outcome> — <key learning>"
|
|
63
|
+
- (target `failure` holds ALL categorized memories — failure/correction/insight/preference/convention/tool-quirk — not just failures; `insight` = durable learning from completing the feature)
|
|
64
|
+
|
|
65
|
+
## Stop Conditions
|
|
66
|
+
|
|
67
|
+
- No active feature → report and stop (not an error)
|
|
68
|
+
- `--done` with uncommitted changes and user declines to commit → stop, don't close
|
|
69
|
+
|
|
70
|
+
## Phase 5: Report
|
|
71
|
+
|
|
72
|
+
1. Outcome recorded
|
|
73
|
+
2. state.md updated (which section)
|
|
74
|
+
3. `.active` cleared
|
|
75
|
+
4. Next suggestion: `/status` to confirm, `/create` to start next feature
|
|
76
|
+
|
|
77
|
+
## Related Commands
|
|
78
|
+
|
|
79
|
+
| Need | Command |
|
|
80
|
+
| ----------------- | --------- |
|
|
81
|
+
| Check state | `/status` |
|
|
82
|
+
| Start next | `/create` |
|
|
83
|
+
| Resume (if wrong) | `/ship` |
|
|
84
|
+
|
|
85
|
+
## Related Skills
|
|
86
|
+
|
|
87
|
+
- `git-workflow-and-versioning` — commit/stash discipline before closing
|
|
88
|
+
- `documentation-and-adrs` — outcome capture for handoff
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a specification with PRD, tasks, and workspace setup
|
|
3
|
+
argument-hint: "<description> [--lite] [--dry-run] [--help]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Create a specification (PRD), set up workspace, and define executable tasks — ready for `/plan` or `/ship`.
|
|
9
|
+
|
|
10
|
+
> **Workflow:** `/init` → **`/create`** → `/plan` (optional) → `/ship`
|
|
11
|
+
|
|
12
|
+
## Parse Arguments
|
|
13
|
+
|
|
14
|
+
| Argument | Default | Description |
|
|
15
|
+
| --------------- | -------- | ----------------------------------------- |
|
|
16
|
+
| `<description>` | required | What to build/fix (quoted string) |
|
|
17
|
+
| `--lite` | false | Force Lite PRD (skip auto-detection) |
|
|
18
|
+
| `--dry-run` | false | Preview research depth and PRD format without writing |
|
|
19
|
+
| `--help` | false | Show this usage |
|
|
20
|
+
|
|
21
|
+
## Guard Phase
|
|
22
|
+
|
|
23
|
+
Before creating, verify:
|
|
24
|
+
- Check `.pi/artifacts/.active` for existing work in progress
|
|
25
|
+
- If active slug exists with a `spec.md`, ask user: continue with `/ship` or start new?
|
|
26
|
+
- Check `git status --porcelain` — if uncommitted changes, ask user to stash, commit, or continue
|
|
27
|
+
- Use `vcc_recall` to search session history for prior decisions on this topic — avoid repeating explored/rejected approaches
|
|
28
|
+
|
|
29
|
+
## Load Skills
|
|
30
|
+
|
|
31
|
+
| Skill | When | Why |
|
|
32
|
+
|-------|------|-----|
|
|
33
|
+
| `brainstorming` | Description is vague | Refine into concrete designs before spec |
|
|
34
|
+
| `spec-driven-development` | Always | Convert clarified idea into well-structured PRD |
|
|
35
|
+
| `context-engineering` | Deep or Standard research | Context budget management, selective loading for subagent handoffs |
|
|
36
|
+
| `doubt-driven-development` | Before saving PRD | Adversarial validation — challenge assumptions before committing |
|
|
37
|
+
| `grill-me` | Complex or cross-cutting | Adversarial interrogation of spec decisions |
|
|
38
|
+
|
|
39
|
+
## Phase 1: Choose Research Depth
|
|
40
|
+
|
|
41
|
+
Use the same Level 0-3 taxonomy as `/plan` so depth is consistent across commands.
|
|
42
|
+
|
|
43
|
+
Ask user before spawning agents:
|
|
44
|
+
|
|
45
|
+
| Level | Name | Description |
|
|
46
|
+
|-------|------|-------------|
|
|
47
|
+
| **0** | Skip | I know the codebase, use existing knowledge (no agents) |
|
|
48
|
+
| **1** | Quick | 1 agent: quick file scan (~30 sec) — single known library |
|
|
49
|
+
| **2** | Standard | 2-3 agents: patterns + tests (~1 min) — choosing between options |
|
|
50
|
+
| **3** | Deep | 3-5 agents: patterns, tests, deps, best practices (~2 min) — complex/cross-cutting |
|
|
51
|
+
|
|
52
|
+
Default: **Level 2** for new features, **Level 1** for bugfixes, **Level 0** when user says "I know the codebase".
|
|
53
|
+
|
|
54
|
+
## Phase 2: Gather Context
|
|
55
|
+
|
|
56
|
+
Based on the Level chosen in Phase 1, spawn agents using `subagent` tool:
|
|
57
|
+
|
|
58
|
+
**Level 3 (Deep):**
|
|
59
|
+
- 3x subagent with `explore` agent (patterns, tests, deps)
|
|
60
|
+
- 1x subagent with `scout` agent (external best practices)
|
|
61
|
+
- 1x subagent with `review` agent (epic review)
|
|
62
|
+
|
|
63
|
+
**Level 2 (Standard):**
|
|
64
|
+
- 2x subagent with `explore` agent (patterns, tests)
|
|
65
|
+
- 1x subagent with `scout` agent (external research)
|
|
66
|
+
|
|
67
|
+
**Level 1 (Quick):**
|
|
68
|
+
- 1x subagent with `explore` agent (patterns)
|
|
69
|
+
|
|
70
|
+
**Level 0 (Skip):** No agents — use existing knowledge.
|
|
71
|
+
|
|
72
|
+
## Phase 3: Initialize Workspace
|
|
73
|
+
|
|
74
|
+
Extract title from `$ARGUMENTS`. Derive a kebab-case slug:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
SLUG=$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9 ]//g' | tr ' ' '-' | sed 's/--*/-/g; s/^-//; s/-$//')
|
|
78
|
+
mkdir -p ".pi/artifacts/$SLUG"
|
|
79
|
+
echo "$SLUG" > ".pi/artifacts/.active"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
> **`.active` convention:** The active slug is written to `.pi/artifacts/.active`. All downstream commands (`/plan`, `/ship`, `/verify`) read this file to know which feature is current.
|
|
83
|
+
|
|
84
|
+
## Phase 4: Determine PRD Rigor
|
|
85
|
+
|
|
86
|
+
| Signal | Lite PRD | Full PRD |
|
|
87
|
+
|--------|----------|----------|
|
|
88
|
+
| Scope | Simple, single-concern | Cross-cutting, multi-system |
|
|
89
|
+
| Files affected | 1-3 | 4+ |
|
|
90
|
+
| Research depth | Level 0-1 | Level 2-3 |
|
|
91
|
+
| Logic complexity | Low (single behavior) | High (multi-step, stateful) |
|
|
92
|
+
| `--lite` flag | ✓ | — |
|
|
93
|
+
|
|
94
|
+
**Auto-detect:** If research was Level 0-1 AND description is a single sentence AND logic complexity is low → default to Lite. `--lite` flag overrides to Lite regardless. File count alone is not enough — a 3-file change with complex stateful logic is Full.
|
|
95
|
+
|
|
96
|
+
### Lite PRD Format
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
# [Title]
|
|
100
|
+
|
|
101
|
+
## Problem
|
|
102
|
+
[1-2 sentences: what's wrong or what's needed]
|
|
103
|
+
|
|
104
|
+
## Solution
|
|
105
|
+
[1-2 sentences: what to do]
|
|
106
|
+
|
|
107
|
+
## Affected Files
|
|
108
|
+
- `src/path/to/file.ts`
|
|
109
|
+
|
|
110
|
+
## Tasks
|
|
111
|
+
- [ ] [Task description] → Verify: `[command]`
|
|
112
|
+
|
|
113
|
+
## Success Criteria
|
|
114
|
+
- Verify: `npm run typecheck && npm run lint`
|
|
115
|
+
- Verify: `[specific test or check]`
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Full PRD Format
|
|
119
|
+
|
|
120
|
+
Use the full template from `.pi/templates/prd.md`.
|
|
121
|
+
|
|
122
|
+
## Phase 5: Write & Validate PRD
|
|
123
|
+
|
|
124
|
+
Copy and fill the PRD template (lite or full) using context from Phase 2.
|
|
125
|
+
|
|
126
|
+
**Before saving, verify:**
|
|
127
|
+
- No placeholder text remains
|
|
128
|
+
- Success criteria include `Verify:` commands
|
|
129
|
+
- Technical context references actual `src/` paths
|
|
130
|
+
- Affected files list real paths
|
|
131
|
+
- Each task has verification
|
|
132
|
+
- No implementation code in the PRD
|
|
133
|
+
- No unresolved `[NEEDS CLARIFICATION]` markers
|
|
134
|
+
|
|
135
|
+
## Phase 6: Create Workspace Branch
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
git status --porcelain
|
|
139
|
+
git branch --show-current
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Create feature branch and install deps if needed.
|
|
143
|
+
|
|
144
|
+
## Phase 7: Leave Task Decomposition to `/plan`
|
|
145
|
+
|
|
146
|
+
The PRD (Phase 5) contains a high-level **Tasks** outline ( Lite: checklist; Full: the template's Tasks section). Do **not** generate `tasks.json` here — task decomposition into the runtime `tasks.json` format is `/plan`'s job.
|
|
147
|
+
|
|
148
|
+
**Artifact chain (authoritative):**
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
/create → .pi/artifacts/$SLUG/spec.md (the PRD; high-level task outline only)
|
|
152
|
+
/plan → .pi/artifacts/$SLUG/plan.md (authoritative task decomposition)
|
|
153
|
+
→ .pi/artifacts/$SLUG/tasks.json (runtime, derived from plan.md)
|
|
154
|
+
/ship → reads tasks.json (primary) or plan.md (fallback)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
If the user skips `/plan` and goes straight to `/ship` for a Lite PRD, `/ship` derives `tasks.json` from the PRD's task outline on the fly.
|
|
158
|
+
|
|
159
|
+
## Failure Handling
|
|
160
|
+
|
|
161
|
+
| Scenario | Action |
|
|
162
|
+
|----------|--------|
|
|
163
|
+
| Active work already exists | Ask user: continue with `/ship` or start new? |
|
|
164
|
+
| Subagent research fails | Retry once with adjusted prompt, then proceed with existing knowledge |
|
|
165
|
+
| PRD validation fails | Fix issues inline, re-validate, max 2 retries |
|
|
166
|
+
| Missing template file | Report exact missing path, suggest running `/init` first |
|
|
167
|
+
| Uncommitted changes in workspace | Ask: stash, commit, or continue? |
|
|
168
|
+
|
|
169
|
+
## Stop Conditions
|
|
170
|
+
|
|
171
|
+
- Active slug exists with valid spec → ask: continue existing or start new?
|
|
172
|
+
- PRD has unresolved `[NEEDS CLARIFICATION]` markers → block, resolve first
|
|
173
|
+
- Verification fails 2x on same approach → stop, escalate
|
|
174
|
+
|
|
175
|
+
## Phase 8: Report
|
|
176
|
+
|
|
177
|
+
1. Summary: PRD type (Lite/Full), success criteria count, affected files count, task outline count
|
|
178
|
+
2. Branch name and workspace
|
|
179
|
+
3. Artifact location: `.pi/artifacts/$SLUG/spec.md`
|
|
180
|
+
4. Next step: `/plan` (complex — produces `plan.md` + `tasks.json`) or `/ship` (simple Lite — derives `tasks.json` on the fly)
|
|
181
|
+
|
|
182
|
+
## Related Commands
|
|
183
|
+
|
|
184
|
+
| Need | Command |
|
|
185
|
+
| -------------- | ------------ |
|
|
186
|
+
| Research first | `/research` |
|
|
187
|
+
| Plan execution | `/plan` |
|
|
188
|
+
| Ship feature | `/ship` |
|
|
189
|
+
| Verify gates | `/verify` |
|
|
190
|
+
|
|
191
|
+
## Related Skills
|
|
192
|
+
|
|
193
|
+
- `spec-driven-development` — PRD structure and vocabulary concepts used in Phase 5
|
|
194
|
+
- `brainstorming` — idea refinement before spec writing
|
|
195
|
+
- `context-engineering` — subagent context budgets for Phase 2
|
|
196
|
+
- `doubt-driven-development` — adversarial validation in Phase 5
|
|
197
|
+
- `planning-and-task-breakdown` — task decomposition patterns (next step)
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Debug and fix a bug or failing test
|
|
3
|
+
argument-hint: "<description of bug or error> [--attach <file>] [--dry-run] [--help]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Fix: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Systematically debug and fix the reported issue.
|
|
9
|
+
|
|
10
|
+
## Parse Arguments
|
|
11
|
+
|
|
12
|
+
| Argument | Default | Description |
|
|
13
|
+
| --------------- | -------- | ----------------------------------------- |
|
|
14
|
+
| `<description>` | required | What to fix (bug description, error message, or failing test) |
|
|
15
|
+
| `--attach` | — | Path to log file, crash report, or screenshot |
|
|
16
|
+
| `--artifact` | — | Write the fix report into the active feature's artifact dir (`.pi/artifacts/$SLUG/fix.md`) if `.active` exists |
|
|
17
|
+
| `--dry-run` | false | Diagnose and report root cause without applying fix |
|
|
18
|
+
| `--help` | false | Show this usage |
|
|
19
|
+
|
|
20
|
+
## Guard Phase
|
|
21
|
+
|
|
22
|
+
Before fixing:
|
|
23
|
+
- Use `vcc_recall` to search for prior fix attempts on the same issue — avoid repeating failed approaches
|
|
24
|
+
- Check that the codebase builds/tests pass at baseline (confirm the bug is not a pre-existing state)
|
|
25
|
+
|
|
26
|
+
## Load Skills
|
|
27
|
+
|
|
28
|
+
| Skill | When | Why |
|
|
29
|
+
|-------|------|-----|
|
|
30
|
+
| `root-cause-tracing` | Always | Trace bug backward through call stack to source |
|
|
31
|
+
| `debugging-and-error-recovery` | Always | Systematic 5-step triage: reproduce → localize → reduce → fix → guard |
|
|
32
|
+
| `verification-before-completion` | Always | Evidence-before-claims; verify fix actually resolves the bug |
|
|
33
|
+
| `defense-in-depth` | After fix is verified | Harden the layer so the bug becomes structurally impossible |
|
|
34
|
+
| `testing-anti-patterns` | If writing tests | Ensure regression test isn't a mock-only test |
|
|
35
|
+
|
|
36
|
+
## Phase 1: Reproduce
|
|
37
|
+
|
|
38
|
+
Reproduce the issue with the exact steps or command. Use the project's test command:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm test -- -t "<test name pattern>" # or equivalent
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If `--attach` provided, read the attached log/error file for context.
|
|
45
|
+
|
|
46
|
+
## Phase 2: Isolate
|
|
47
|
+
|
|
48
|
+
1. Search for the error message or symptom using `semantic_grep`
|
|
49
|
+
2. Trace the execution path to find the root cause using `semantic_inspect`
|
|
50
|
+
3. Read the 2-4 most relevant files
|
|
51
|
+
4. Distinguish symptom from root cause — follow `root-cause-tracing` skill methodology
|
|
52
|
+
|
|
53
|
+
## Phase 3: Fix
|
|
54
|
+
|
|
55
|
+
1. Apply the **minimal** fix for the root cause
|
|
56
|
+
2. Do not add speculative guards, tolerant readers, or defensive copies
|
|
57
|
+
3. Prefer making the bad state impossible over handling all bad states (`defense-in-depth`:
|
|
58
|
+
validate at the layer where invalid data enters)
|
|
59
|
+
|
|
60
|
+
## Phase 4: Verify
|
|
61
|
+
|
|
62
|
+
Run verification gates:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npm run typecheck
|
|
66
|
+
npm run lint
|
|
67
|
+
npm test # or vitest relevant test
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Regression check:** If writing a regression test, verify the red-green cycle:
|
|
71
|
+
1. Write test → run → MUST fail (confirm it catches the bug)
|
|
72
|
+
2. Apply fix → run → MUST pass
|
|
73
|
+
3. Revert fix → run → MUST fail again → restore fix
|
|
74
|
+
|
|
75
|
+
Then, load `defense-in-depth` skill and add validation at the data entry layer.
|
|
76
|
+
|
|
77
|
+
## Failure Handling
|
|
78
|
+
|
|
79
|
+
| Scenario | Action |
|
|
80
|
+
|----------|--------|
|
|
81
|
+
| Cannot reproduce issue | Report reproduction steps attempted, ask for clarification |
|
|
82
|
+
| Root cause ambiguous | Trace backward through call stack, add instrumentation |
|
|
83
|
+
| Verification fails 2x | Stop, report blocker with learnings from both attempts |
|
|
84
|
+
| Fix causes regression | Revert fix, report regression with evidence |
|
|
85
|
+
|
|
86
|
+
## Stop Conditions
|
|
87
|
+
|
|
88
|
+
- Cannot reproduce after 3 attempts → stop, ask for clarification
|
|
89
|
+
- Fix causes regression → revert, report
|
|
90
|
+
- Verification fails 2x on same approach → stop, escalate with learnings
|
|
91
|
+
- Root cause is in third-party dependency → stop, report with upstream reference
|
|
92
|
+
|
|
93
|
+
## Phase 5: Report
|
|
94
|
+
|
|
95
|
+
1. Root cause (with file:line)
|
|
96
|
+
2. Fix applied
|
|
97
|
+
3. Verification results (typecheck, lint, test)
|
|
98
|
+
4. Defense-in-depth layer added (if applicable)
|
|
99
|
+
5. What else was considered and rejected
|
|
100
|
+
|
|
101
|
+
If `--artifact` was passed (or `.pi/artifacts/.active` exists and the fix belongs to that feature), write the report to `.pi/artifacts/$SLUG/fix.md` and append a one-line summary to `progress.md`. Otherwise report inline.
|
|
102
|
+
|
|
103
|
+
## Related Commands
|
|
104
|
+
|
|
105
|
+
| Need | Command |
|
|
106
|
+
| -------------- | ------------ |
|
|
107
|
+
| Create feature | `/create` |
|
|
108
|
+
| Verify gates | `/verify` |
|
|
109
|
+
| Ship fix | `/ship` |
|
|
110
|
+
|
|
111
|
+
## Related Skills
|
|
112
|
+
|
|
113
|
+
- `root-cause-tracing` — backward call-stack tracing in Phase 2
|
|
114
|
+
- `debugging-and-error-recovery` — full 5-step triage methodology
|
|
115
|
+
- `verification-before-completion` — evidence gate in Phase 4
|
|
116
|
+
- `defense-in-depth` — structural hardening after fix
|
|
117
|
+
- `testing-anti-patterns` — regression test quality
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run garbage collection — Fallow analysis, quality grading, and cleanup PRs
|
|
3
|
+
argument-hint: "[--dry-run] [--scope <dir>] [--help]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Garbage Collection
|
|
7
|
+
|
|
8
|
+
Run structural analysis, update quality grades, and open cleanup PRs.
|
|
9
|
+
|
|
10
|
+
## Parse Arguments
|
|
11
|
+
|
|
12
|
+
| Argument | Default | Description |
|
|
13
|
+
| ----------- | ------- | ----------------------------------------- |
|
|
14
|
+
| `--dry-run` | false | Run analysis and report without creating cleanup PRs (default behavior for cleanup) |
|
|
15
|
+
| `--apply` | false | Actually open cleanup PRs for P0/P1 findings. Without this, Phase 4 reports only. |
|
|
16
|
+
| `--scope` | `.` | Limit GC to specific directory |
|
|
17
|
+
| `--help` | false | Show this usage |
|
|
18
|
+
|
|
19
|
+
**Safety:** Cleanup PRs require `--apply` **and** explicit user confirmation. Default is dry-run.
|
|
20
|
+
|
|
21
|
+
## Guard Phase
|
|
22
|
+
|
|
23
|
+
- GC is maintenance — don't run during active feature work
|
|
24
|
+
- If `.pi/artifacts/.active` exists, warn user: "Active feature in progress. GC changes may conflict."
|
|
25
|
+
|
|
26
|
+
## Load Skills
|
|
27
|
+
|
|
28
|
+
| Skill | When | Why |
|
|
29
|
+
|-------|------|-----|
|
|
30
|
+
| `fallow` | Always (Phase 1) | Structural analysis for dead code, duplication, complexity |
|
|
31
|
+
| `code-cleanup` | Phase 4 (cleanup PRs) | Safe code removal patterns |
|
|
32
|
+
| `verification-before-completion` | After cleanup PRs | Verify typecheck + lint pass before merging |
|
|
33
|
+
| `observability-and-instrumentation` | If removing instrumented code | Check that cleanup doesn't break monitoring/logging |
|
|
34
|
+
|
|
35
|
+
## Execution
|
|
36
|
+
|
|
37
|
+
This command delegates to the `garbage-collection` workflow via the `run_workflow` tool for multi-phase execution.
|
|
38
|
+
|
|
39
|
+
### Phase 1: Structural Analysis
|
|
40
|
+
|
|
41
|
+
1. **Run Fallow scan:**
|
|
42
|
+
```bash
|
|
43
|
+
npx fallow --format json --quiet
|
|
44
|
+
```
|
|
45
|
+
2. Extract findings: dead code, duplication, complexity hotspots, unused exports
|
|
46
|
+
|
|
47
|
+
### Phase 2: Quality Grade Update
|
|
48
|
+
|
|
49
|
+
1. Read `.pi/QUALITY.md`
|
|
50
|
+
2. Compare with Fallow results
|
|
51
|
+
3. Update quality grades per domain
|
|
52
|
+
4. No change is a valid result — report as-is
|
|
53
|
+
|
|
54
|
+
### Phase 3: Prioritize Findings
|
|
55
|
+
|
|
56
|
+
| Severity | Definition | Action |
|
|
57
|
+
|----------|-----------|--------|
|
|
58
|
+
| P0 | Security, crash, data loss | Fix immediately |
|
|
59
|
+
| P1 | Dead code >100 lines, complexity >15 | Fix this cycle |
|
|
60
|
+
| P2 | Dead code <100 lines, minor duplication | Log for next cycle |
|
|
61
|
+
| P3 | Style, naming, formatting | Skip (not GC concern) |
|
|
62
|
+
|
|
63
|
+
### Phase 4: Cleanup (P0/P1 only)
|
|
64
|
+
|
|
65
|
+
For each P0/P1 finding:
|
|
66
|
+
1. Invoke cleanup via the workflow (the workflow's Phase 4 defaults to dry-run; pass `--apply` through args to actually open PRs):
|
|
67
|
+
```
|
|
68
|
+
run_workflow({ name: "garbage-collection", args: { scope: "<--scope value or '.'>", apply: <true only if --apply flag set> } })
|
|
69
|
+
```
|
|
70
|
+
2. After any fix subagent returns, follow Worker Distrust Protocol (read diff, run verification)
|
|
71
|
+
3. Load `verification-before-completion` skill — verify typecheck + lint pass
|
|
72
|
+
4. Load `observability-and-instrumentation` skill check if removing instrumented code
|
|
73
|
+
|
|
74
|
+
If `--dry-run` (default), skip actual cleanup and report what would be cleaned. PRs are **never** opened without `--apply` and without explicit user confirmation (AGENTS.md: never push without confirmation).
|
|
75
|
+
|
|
76
|
+
### Phase 5: Report
|
|
77
|
+
|
|
78
|
+
1. **Quality Grades:** Per-domain status (before → after)
|
|
79
|
+
2. **Issues Found:** Count by severity
|
|
80
|
+
3. **Cleanup PRs:** Opened / not needed / skipped (dry-run)
|
|
81
|
+
4. **Recommendations:** Suggested improvements for next cycle
|
|
82
|
+
|
|
83
|
+
## Failure Handling
|
|
84
|
+
|
|
85
|
+
| Scenario | Action |
|
|
86
|
+
|----------|--------|
|
|
87
|
+
| Fallow scan fails | Check if fallow is installed: `npx fallow --version`. Install if missing. |
|
|
88
|
+
| Quality grades unchanged | Report as-is — no change is a valid result |
|
|
89
|
+
| Cleanup PR creation fails | Log issue, continue with remaining PRs |
|
|
90
|
+
| Verification fails 2x | Stop, report blocker with file:line evidence |
|
|
91
|
+
|
|
92
|
+
## Stop Conditions
|
|
93
|
+
|
|
94
|
+
- Fallow not installed → report install command, stop
|
|
95
|
+
- No findings returned → report clean state, skip Phase 4
|
|
96
|
+
- Cleanup PR fails review → log issue, don't block report
|
|
97
|
+
- Verification fails 2x on same approach → stop, escalate
|
|
98
|
+
|
|
99
|
+
## Related Commands
|
|
100
|
+
|
|
101
|
+
| Need | Command |
|
|
102
|
+
| ----------------- | ------------- |
|
|
103
|
+
| Full verification | `/verify all --full` |
|
|
104
|
+
| Pattern audit | `/audit` |
|
|
105
|
+
| Fix a bug | `/fix` |
|
|
106
|
+
|
|
107
|
+
## Related Skills
|
|
108
|
+
|
|
109
|
+
- `fallow` — structural analysis engine (Phase 1)
|
|
110
|
+
- `code-cleanup` — safe code removal patterns (Phase 4)
|
|
111
|
+
- `verification-before-completion` — evidence gate after cleanup (Phase 4)
|
|
112
|
+
- `observability-and-instrumentation` — telemetry integrity check (Phase 4)
|