@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,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"loop_name": "<loop-name>",
|
|
3
|
+
"owner": "[Owner]",
|
|
4
|
+
"cadence": "[cron expression or manual]",
|
|
5
|
+
"last_run": null,
|
|
6
|
+
"in_progress": [],
|
|
7
|
+
"completed": [],
|
|
8
|
+
"escalated": [],
|
|
9
|
+
"failures": [],
|
|
10
|
+
"lessons": [],
|
|
11
|
+
"processed": [],
|
|
12
|
+
"stop_conditions_met": [],
|
|
13
|
+
"metrics": {
|
|
14
|
+
"runs": 0,
|
|
15
|
+
"killed": false,
|
|
16
|
+
"kill_reason": null,
|
|
17
|
+
"tokens_used": 0,
|
|
18
|
+
"token_cap": null,
|
|
19
|
+
"pr_opened": 0,
|
|
20
|
+
"items_fixed": 0,
|
|
21
|
+
"items_skipped": 0,
|
|
22
|
+
"items_escalated": 0
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Human-readable working memory + dedup ledger mirror for one loop
|
|
3
|
+
updated: <auto — last modified>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Loop State
|
|
7
|
+
|
|
8
|
+
<!--
|
|
9
|
+
Human-readable mirror of STATE.json. The machine ledger (STATE.json) is
|
|
10
|
+
authoritative for dedup; this file is for humans reading the loop's history.
|
|
11
|
+
Keep them in sync — the orchestrator writes STATE.json; update this file when
|
|
12
|
+
you review.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
**Loop name:** `<loop-name>`
|
|
16
|
+
**Owner:** `[Owner]`
|
|
17
|
+
**Cadence:** `[cron expression or "manual"]`
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Last run
|
|
22
|
+
|
|
23
|
+
<!-- When did the loop last execute, and what happened. -->
|
|
24
|
+
|
|
25
|
+
| Field | Value |
|
|
26
|
+
| --------- | ------------------------------ |
|
|
27
|
+
| Timestamp | `[ISO-8601 or null]` |
|
|
28
|
+
| Status | `[pass / fail / killed / no-op]` |
|
|
29
|
+
| Duration | `[seconds]` |
|
|
30
|
+
| Items | `[count processed this run]` |
|
|
31
|
+
| Tokens | `[tokens used this run]` |
|
|
32
|
+
|
|
33
|
+
## In progress
|
|
34
|
+
|
|
35
|
+
<!-- Items the loop is currently working on. Empty if idle. -->
|
|
36
|
+
|
|
37
|
+
| Item ID | Type | Started | Note |
|
|
38
|
+
| ------- | ---- | ------- | ---- |
|
|
39
|
+
| `<id>` | `[ci-run / pr / package@version / commit-sha]` | `[ISO-8601]` | `[note]` |
|
|
40
|
+
|
|
41
|
+
## Completed
|
|
42
|
+
|
|
43
|
+
<!-- Items the loop finished this cycle (subset of Processed items below). -->
|
|
44
|
+
|
|
45
|
+
| Item ID | Type | Completed | Outcome |
|
|
46
|
+
| ------- | ---- | --------- | ------- |
|
|
47
|
+
| `<id>` | `[type]` | `[ISO-8601]` | `[fixed / skipped / escalated / rejected]` |
|
|
48
|
+
|
|
49
|
+
## Escalated
|
|
50
|
+
|
|
51
|
+
<!-- Items the loop could not handle autonomously and escalated to a human. -->
|
|
52
|
+
|
|
53
|
+
| Item ID | Type | Escalated | Reason |
|
|
54
|
+
| ------- | ---- | --------- | ------ |
|
|
55
|
+
| `<id>` | `[type]` | `[ISO-8601]` | `[why the loop could not act]` |
|
|
56
|
+
|
|
57
|
+
## Lessons learned
|
|
58
|
+
|
|
59
|
+
<!-- Durable lessons from prior runs. One line each; link to STATE.json.lessons[]. -->
|
|
60
|
+
|
|
61
|
+
- `[Date]` — `[Lesson text]`
|
|
62
|
+
- `[Date]` — `[Lesson text]`
|
|
63
|
+
|
|
64
|
+
## Processed items
|
|
65
|
+
|
|
66
|
+
<!--
|
|
67
|
+
Dedup ledger. Keyed by STABLE item IDs so re-running the orchestrator on an
|
|
68
|
+
already-processed item skips it (idempotent). Stable ID forms:
|
|
69
|
+
- CI run ID e.g. `ci:12345678901`
|
|
70
|
+
- PR number e.g. `pr:42`
|
|
71
|
+
- package@version e.g. `pkg:lodash@4.17.21`
|
|
72
|
+
- commit SHA e.g. `sha:abc1234`
|
|
73
|
+
Deleting STATE.json reprocesses everything.
|
|
74
|
+
-->
|
|
75
|
+
|
|
76
|
+
| Item ID | Type | First seen | Last status | Retries |
|
|
77
|
+
| ------- | ---- | ---------- | ----------- | ------- |
|
|
78
|
+
| `<stable-id>` | `[ci-run / pr / package / commit]` | `[ISO-8601]` | `[fixed / skipped / failed / escalated]` | `[n]` |
|
|
79
|
+
|
|
80
|
+
## Stop conditions met
|
|
81
|
+
|
|
82
|
+
<!-- Boolean flags from the VISION.md "Hard stops" list. All false = safe to run. -->
|
|
83
|
+
|
|
84
|
+
| Stop condition | Met? |
|
|
85
|
+
| -------------- | ---- |
|
|
86
|
+
| Token budget exceeded | `[yes / no]` |
|
|
87
|
+
| Protected path modified | `[yes / no]` |
|
|
88
|
+
| Item already processed | `[yes / no]` |
|
|
89
|
+
| `gh` not authenticated | `[yes / no]` |
|
|
90
|
+
| Gate command missing/unparseable | `[yes / no]` |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
<!--
|
|
95
|
+
This file is a mirror. The machine ledger (STATE.json) is the source of
|
|
96
|
+
truth for dedup and idempotence. Update this file when reviewing run history;
|
|
97
|
+
the orchestrator does not need to write here.
|
|
98
|
+
-->
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Anti goal-drift contract for a loop — reread at the start of every run; the loop must not act outside this file
|
|
3
|
+
updated: <auto — last modified>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Loop Vision
|
|
7
|
+
|
|
8
|
+
<!--
|
|
9
|
+
This file is the immutable contract for one loop. The orchestrator (and any
|
|
10
|
+
interactive run) MUST reread this file at the start of every cycle and treat
|
|
11
|
+
its boundaries as authoritative. If context summarization drops a constraint
|
|
12
|
+
mid-run, this file restores it (boundaries are re-derived from disk, not
|
|
13
|
+
from context).
|
|
14
|
+
|
|
15
|
+
Fill the bracketed placeholders via `/loop-init <name>`, then edit by hand.
|
|
16
|
+
Never let a run edit this file during a cycle (protected path — see
|
|
17
|
+
loop-guard.ts).
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
**Loop name:** `<loop-name>`
|
|
21
|
+
**Owner:** `[Owner]`
|
|
22
|
+
**Cadence:** `[cron expression or "manual"]`
|
|
23
|
+
**Created:** `[Date]`
|
|
24
|
+
**Last revised:** `[Date]`
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Goal
|
|
29
|
+
|
|
30
|
+
<!-- One sentence: the outcome this loop produces, outcome-shaped not task-shaped. -->
|
|
31
|
+
|
|
32
|
+
[What does this loop achieve? e.g. "Triage failing CI runs nightly and open fix PRs for deterministic failures."]
|
|
33
|
+
|
|
34
|
+
## Scope
|
|
35
|
+
|
|
36
|
+
<!-- What the loop is allowed to touch. Be concrete: file paths, package names, commands. -->
|
|
37
|
+
|
|
38
|
+
- [Allowed action 1: e.g. edit source under `src/`]
|
|
39
|
+
- [Allowed action 2: e.g. run `npm test` / `npm run lint`]
|
|
40
|
+
- [Allowed action 3: e.g. open a PR on branch `loop/<name>/<ts>` — never `main`]
|
|
41
|
+
|
|
42
|
+
## Out-of-scope
|
|
43
|
+
|
|
44
|
+
<!-- What the loop must NEVER do, even if asked. Hard refuses. -->
|
|
45
|
+
|
|
46
|
+
- [Refuse 1: e.g. auth / payments / architecture changes]
|
|
47
|
+
- [Refuse 2: e.g. editing `package.json`, lockfiles, or this VISION.md / the gate script]
|
|
48
|
+
- [Refuse 3: e.g. merging or deploying — human approval required]
|
|
49
|
+
|
|
50
|
+
## Definition-of-done
|
|
51
|
+
|
|
52
|
+
<!-- Observable, verifiable end state. Must be checkable by the Gate command (exit 0). -->
|
|
53
|
+
|
|
54
|
+
- [ ] [Criterion 1: e.g. `npm test` exits 0]
|
|
55
|
+
- [ ] [Criterion 2: e.g. diff is limited to in-scope paths]
|
|
56
|
+
- [ ] [Criterion 3: e.g. a PR is open on `loop/<name>/<ts>` with a body citing this file]
|
|
57
|
+
|
|
58
|
+
## Gate
|
|
59
|
+
|
|
60
|
+
<!--
|
|
61
|
+
PARSE CONTRACT (machine-readable — do NOT edit this comment):
|
|
62
|
+
The orchestrator extracts the gate command from the SINGLE fenced
|
|
63
|
+
```bash block located directly under the "## Gate" heading in this file.
|
|
64
|
+
Extraction rule: require EXACTLY ONE ```bash block in this section
|
|
65
|
+
(bounded by the next "## " heading). Zero or more-than-one -> refuse
|
|
66
|
+
(gate not parseable; orchestrator records failure and does NOT ship).
|
|
67
|
+
Take that single block's content, strip trailing whitespace, run it via
|
|
68
|
+
`bash -c "<command>"`, read the exit code.
|
|
69
|
+
exit 0 -> PASS -> ship (push branch `loop/<name>/<ts>` + open PR)
|
|
70
|
+
non-zero -> FAIL -> no ship; record failure in STATE.json; cleanup worktree
|
|
71
|
+
The gate decision is computational (exit code), never an LLM's opinion.
|
|
72
|
+
Keep EXACTLY ONE ```bash block directly under ## Gate.
|
|
73
|
+
-->
|
|
74
|
+
|
|
75
|
+
Command (exit 0 = pass):
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
<GATE_COMMAND>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Pass:** exit 0 → ship (push `loop/<name>/<ts>` branch + open PR via `gh`).
|
|
82
|
+
**Fail:** non-zero → no ship; record failure in `STATE.json.failures[]`; cleanup worktree.
|
|
83
|
+
|
|
84
|
+
## Hard stops
|
|
85
|
+
|
|
86
|
+
<!-- Conditions that abort the run immediately, no matter the gate result. -->
|
|
87
|
+
|
|
88
|
+
- [Hard stop 1: e.g. token budget exceeded (`STATE.json.metrics.tokens_used > cap`)]
|
|
89
|
+
- [Hard stop 2: e.g. gate file / VISION.md / `package.json` modified during the run]
|
|
90
|
+
- [Hard stop 3: e.g. item already in `STATE.json.processed` → idempotent skip]
|
|
91
|
+
- [Hard stop 4: e.g. `gh` not authenticated → fall back to commit-only/log, do not ship]
|
|
92
|
+
|
|
93
|
+
## Human-approval-required
|
|
94
|
+
|
|
95
|
+
<!-- Actions the loop may stage but never execute on its own. -->
|
|
96
|
+
|
|
97
|
+
- [ ] Merging a PR
|
|
98
|
+
- [ ] Deploying to production
|
|
99
|
+
- [ ] Changing dependencies (`package.json`, lockfiles, version bumps)
|
|
100
|
+
- [ ] Modifying this VISION.md or the Gate command mid-run
|
|
101
|
+
- [ ] Touching auth, payments, or architectural decisions
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
<!--
|
|
106
|
+
Reread this file at the start of every run. The loop must not act outside
|
|
107
|
+
this file. If a proposed action is not clearly inside Scope, treat it as
|
|
108
|
+
Out-of-scope and escalate (record in STATE.json.escalated[]) instead of
|
|
109
|
+
acting.
|
|
110
|
+
-->
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# PRD Template
|
|
2
|
+
|
|
3
|
+
> **Template Instructions:**
|
|
4
|
+
>
|
|
5
|
+
> - Replace ALL bracketed placeholders with real content
|
|
6
|
+
> - If you cannot fill a section with confidence, use `[NEEDS CLARIFICATION: reason]` instead of guessing
|
|
7
|
+
> - Any `[NEEDS CLARIFICATION]` markers MUST be resolved before planning can proceed
|
|
8
|
+
> - Delete this instruction block after filling the template
|
|
9
|
+
|
|
10
|
+
**Slug:** <feature-slug>
|
|
11
|
+
**Created:** [date]
|
|
12
|
+
**Status:** Draft | In Review | Approved
|
|
13
|
+
|
|
14
|
+
## Feature Metadata
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
slug: <feature-slug> # kebab-case, written to .pi/artifacts/.active
|
|
18
|
+
depends_on: [] # Feature slugs that must complete before this one
|
|
19
|
+
parallel: true # Can run concurrently with other parallel features
|
|
20
|
+
conflicts_with: [] # Feature slugs that modify same files (cannot parallelize)
|
|
21
|
+
blocks: [] # Feature slugs waiting on this one
|
|
22
|
+
estimated_hours: 2 # Time estimate for planning
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Problem Statement
|
|
28
|
+
|
|
29
|
+
### What problem are we solving?
|
|
30
|
+
|
|
31
|
+
[Clear description of the problem. Include user impact and business impact. If unclear, use [NEEDS CLARIFICATION: what specifically is unknown]]
|
|
32
|
+
|
|
33
|
+
### Why now?
|
|
34
|
+
|
|
35
|
+
[What triggered this work? Cost of inaction? Use [NEEDS CLARIFICATION] if motivation is unclear]
|
|
36
|
+
|
|
37
|
+
### Who is affected?
|
|
38
|
+
|
|
39
|
+
- **Primary users:** [Description]
|
|
40
|
+
- **Secondary users:** [Description]
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Scope
|
|
45
|
+
|
|
46
|
+
### In-Scope
|
|
47
|
+
|
|
48
|
+
- [List what's in scope. Use [NEEDS CLARIFICATION] for ambiguous boundaries]
|
|
49
|
+
|
|
50
|
+
### Out-of-Scope
|
|
51
|
+
|
|
52
|
+
- [List what's explicitly off-limits. Use [NEEDS CLARIFICATION] for unresolved scope questions]
|
|
53
|
+
- [Deferred to future iterations]
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Proposed Solution
|
|
58
|
+
|
|
59
|
+
### Overview
|
|
60
|
+
|
|
61
|
+
[One paragraph describing what this feature does when complete. Use [NEEDS CLARIFICATION] for uncertain design decisions]
|
|
62
|
+
|
|
63
|
+
### User Flow (if user-facing)
|
|
64
|
+
|
|
65
|
+
1. [Step 1]
|
|
66
|
+
2. [Step 2]
|
|
67
|
+
3. [Step 3]
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Requirements
|
|
72
|
+
|
|
73
|
+
### Functional Requirements
|
|
74
|
+
|
|
75
|
+
#### [Requirement Name]
|
|
76
|
+
|
|
77
|
+
Brief description of what must be true.
|
|
78
|
+
|
|
79
|
+
**Scenarios:**
|
|
80
|
+
|
|
81
|
+
- **WHEN** [precondition or trigger] **THEN** [expected outcome]
|
|
82
|
+
- **WHEN** [edge case condition] **THEN** [expected behavior]
|
|
83
|
+
|
|
84
|
+
### Non-Functional Requirements
|
|
85
|
+
|
|
86
|
+
- **Performance:** [constraint if applicable]
|
|
87
|
+
- **Security:** [constraint if applicable]
|
|
88
|
+
- **Accessibility:** [WCAG level if applicable]
|
|
89
|
+
- **Compatibility:** [constraint if applicable]
|
|
90
|
+
|
|
91
|
+
> If any requirement is unknown or unresearched, mark it `[NEEDS CLARIFICATION: what needs investigation]` rather than omitting it.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Success Criteria
|
|
96
|
+
|
|
97
|
+
- [ ] [Specific, measurable criterion 1]
|
|
98
|
+
- Verify: `[command or manual check]`
|
|
99
|
+
- [ ] [Specific, measurable criterion 2]
|
|
100
|
+
- Verify: `[command or manual check]`
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Technical Context
|
|
105
|
+
|
|
106
|
+
### Existing Patterns
|
|
107
|
+
|
|
108
|
+
- Pattern 1: `src/path/to/example.ts` - Why relevant
|
|
109
|
+
|
|
110
|
+
### Key Files
|
|
111
|
+
|
|
112
|
+
- `src/relevant/file.ts` - Why relevant
|
|
113
|
+
|
|
114
|
+
### Affected Files
|
|
115
|
+
|
|
116
|
+
Files this feature will modify (for conflict detection):
|
|
117
|
+
|
|
118
|
+
```yaml
|
|
119
|
+
files:
|
|
120
|
+
- src/path/to/file.ts # Why
|
|
121
|
+
- src/path/to/other.ts # Why
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Risks & Mitigations
|
|
127
|
+
|
|
128
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
129
|
+
| ------ | ------------ | ------------ | --------------- |
|
|
130
|
+
| Risk 1 | High/Med/Low | High/Med/Low | How to mitigate |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Open Questions
|
|
135
|
+
|
|
136
|
+
| Question | Owner | Due Date | Status |
|
|
137
|
+
| ---------- | ----- | -------- | ------------- |
|
|
138
|
+
| Question 1 | Name | Date | Open/Resolved |
|
|
139
|
+
|
|
140
|
+
> **All `[NEEDS CLARIFICATION]` markers should be converted to entries in this table for tracking.**
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Tasks
|
|
145
|
+
|
|
146
|
+
High-level task outline only. Authoritative decomposition is `/plan`'s job (writes `plan.md` + `tasks.json`). Use `.pi/templates/tasks.md` for the detailed task body format.
|
|
147
|
+
|
|
148
|
+
**Rules:**
|
|
149
|
+
|
|
150
|
+
- Each task is a `### <Title> [category]` heading
|
|
151
|
+
- Provide one sentence describing the end state
|
|
152
|
+
- Include `**Metadata:**` with dependency info
|
|
153
|
+
- Include `**Verification:**` with bullet steps proving it works
|
|
154
|
+
|
|
155
|
+
### <Task Title> [category]
|
|
156
|
+
|
|
157
|
+
<One sentence describing the end state>
|
|
158
|
+
|
|
159
|
+
**Metadata:**
|
|
160
|
+
|
|
161
|
+
```yaml
|
|
162
|
+
depends_on: [] # Task titles that must complete first
|
|
163
|
+
parallel: true # Can run with other parallel tasks
|
|
164
|
+
conflicts_with: [] # Task titles modifying same files
|
|
165
|
+
files: [] # Files this task will modify
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Verification:**
|
|
169
|
+
|
|
170
|
+
- [Command or check]
|
|
171
|
+
- [Command or check]
|
|
172
|
+
|
|
173
|
+
### <Task Title> [category]
|
|
174
|
+
|
|
175
|
+
<One sentence describing the end state>
|
|
176
|
+
|
|
177
|
+
**Metadata:**
|
|
178
|
+
|
|
179
|
+
```yaml
|
|
180
|
+
depends_on: ["<Previous Task Title>"]
|
|
181
|
+
parallel: false
|
|
182
|
+
files: []
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Verification:**
|
|
186
|
+
|
|
187
|
+
- [Command or check]
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Dependency Legend
|
|
192
|
+
|
|
193
|
+
| Field | Purpose | Example |
|
|
194
|
+
| ---------------- | ------------------------------------------------- | ------------------------------------------ |
|
|
195
|
+
| `depends_on` | Must complete before this task starts | `["Setup database", "Create schema"]` |
|
|
196
|
+
| `parallel` | Can run concurrently with other parallel tasks | `true` / `false` |
|
|
197
|
+
| `conflicts_with` | Cannot run in parallel (same files) | `["Update config"]` |
|
|
198
|
+
| `files` | Files this task modifies (for conflict detection) | `["src/db/schema.ts", "src/db/client.ts"]` |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Notes
|
|
203
|
+
|
|
204
|
+
[Additional context, constraints, or decisions]
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Progress — <feature-slug>
|
|
2
|
+
|
|
3
|
+
> **Purpose:** Append-only log for `/ship`, `/verify`, `/fix`, and `/close`. Each entry is a short, dated line. Lives at `.pi/artifacts/$SLUG/progress.md`. Not a fill-in template — created empty per feature and appended to during execution.
|
|
4
|
+
|
|
5
|
+
**Spec:** `.pi/artifacts/$SLUG/spec.md`
|
|
6
|
+
**Started:** [YYYY-MM-DD]
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Entries
|
|
11
|
+
|
|
12
|
+
<!-- Append one block per significant event. Keep entries under 3 lines each. -->
|
|
13
|
+
|
|
14
|
+
### [YYYY-MM-DD HH:MM] — <command>
|
|
15
|
+
- **Action:** <what was done>
|
|
16
|
+
- **Result:** <PASS|FAIL|PARTIAL|BLOCKED> — <one-line summary>
|
|
17
|
+
- **Files:** <list or "none">
|
|
18
|
+
|
|
19
|
+
### [YYYY-MM-DD HH:MM] — /verify
|
|
20
|
+
- **Result:** PASS — typecheck ✓, lint ✓, test 42/42
|
|
21
|
+
- **Mode:** full
|
|
22
|
+
- **Phantom:** CLEAN
|
|
23
|
+
|
|
24
|
+
### [YYYY-MM-DD HH:MM] — /ship
|
|
25
|
+
- **Task:** task-3 — <title>
|
|
26
|
+
- **Commit:** <hash> <subject>
|
|
27
|
+
- **Verification:** PASS
|
|
28
|
+
|
|
29
|
+
### [YYYY-MM-DD HH:MM] — /close
|
|
30
|
+
- **Outcome:** done
|
|
31
|
+
- **Note:** <user note or empty>
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Entry Format
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
### [ISO timestamp] — <command>
|
|
39
|
+
- **Action|Result|Task|Commit|Verification|Mode|Phantom|Outcome|Note:** <value>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Rules:**
|
|
43
|
+
- One top-level `###` block per event.
|
|
44
|
+
- Never delete past entries — append only.
|
|
45
|
+
- If a gate fails, record the failure with file:line evidence in the summary.
|
|
46
|
+
- `/close` appends a final outcome block and stops.
|
|
47
|
+
|
|
48
|
+
## Linked Artifacts
|
|
49
|
+
|
|
50
|
+
- `spec.md` — the PRD
|
|
51
|
+
- `plan.md` — authoritative task decomposition (from `/plan`)
|
|
52
|
+
- `tasks.json` — runtime task status (from `/plan`, updated by `/ship`)
|
|
53
|
+
- `verify.log` — verification cache stamp (from `/verify`)
|
|
54
|
+
- `review-state.json` — quality-loop state (if high-risk mode ran)
|
|
55
|
+
- `audit.md` / `research.md` — optional command outputs
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Project vision, goals, and success criteria (loaded into all AI contexts)
|
|
3
|
+
updated: <auto — last modified>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Project Vision
|
|
7
|
+
|
|
8
|
+
## The Goal
|
|
9
|
+
|
|
10
|
+
<!-- One sentence: What does this project achieve? Outcome-shaped, not task-shaped. -->
|
|
11
|
+
<!-- Good: "A real-time chat application with persistent message history" -->
|
|
12
|
+
<!-- Bad: "Build chat components and API endpoints" -->
|
|
13
|
+
|
|
14
|
+
## Success Criteria
|
|
15
|
+
|
|
16
|
+
<!-- How do we know the project is successful? List 3-7 observable outcomes. -->
|
|
17
|
+
<!-- Each should be verifiable by using the application, not by checking code. -->
|
|
18
|
+
|
|
19
|
+
1. **[Criterion 1]** - [Specific, measurable outcome]
|
|
20
|
+
2. **[Criterion 2]** - [Specific, measurable outcome]
|
|
21
|
+
3. **[Criterion 3]** - [Specific, measurable outcome]
|
|
22
|
+
|
|
23
|
+
## Target Users
|
|
24
|
+
|
|
25
|
+
<!-- Who will use this? What do they need? -->
|
|
26
|
+
|
|
27
|
+
- **Primary:** [User type and their core need]
|
|
28
|
+
- **Secondary:** [User type and their core need]
|
|
29
|
+
|
|
30
|
+
## Core Principles
|
|
31
|
+
|
|
32
|
+
<!-- Non-negotiable principles that guide all decisions -->
|
|
33
|
+
|
|
34
|
+
1. **[Principle 1]** - [Explanation]
|
|
35
|
+
2. **[Principle 2]** - [Explanation]
|
|
36
|
+
3. **[Principle 3]** - [Explanation]
|
|
37
|
+
|
|
38
|
+
## Current Phase
|
|
39
|
+
|
|
40
|
+
<!-- Where are we in the project lifecycle? -->
|
|
41
|
+
|
|
42
|
+
- **Status:** [Discovery / Planning / Implementation / Polish / Maintenance]
|
|
43
|
+
- **Milestone:** [Current milestone name]
|
|
44
|
+
- **Next Milestone:** [Next milestone name]
|
|
45
|
+
|
|
46
|
+
## Key Links
|
|
47
|
+
|
|
48
|
+
<!-- Important references -->
|
|
49
|
+
|
|
50
|
+
- **Repository:** [URL]
|
|
51
|
+
- **Documentation:** [URL]
|
|
52
|
+
- **Staging:** [URL]
|
|
53
|
+
- **Production:** [URL]
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
_Update this file when project direction or phase changes._
|
|
58
|
+
_AI uses this to maintain context across sessions and make decisions aligned with project goals._
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Proposal
|
|
2
|
+
|
|
3
|
+
> **Purpose:** Lightweight change proposal used manually for small/routine changes that don't warrant a full PRD. Pair with `.pi/templates/adr.md` when the proposal locks in a decision. Not wired into a command by default.
|
|
4
|
+
|
|
5
|
+
**Feature:** [feature-slug]
|
|
6
|
+
**Author:** [author]
|
|
7
|
+
**Date:** [YYYY-MM-DD]
|
|
8
|
+
|
|
9
|
+
## Why
|
|
10
|
+
|
|
11
|
+
<!-- What problem does this solve? Why now? -->
|
|
12
|
+
|
|
13
|
+
## What Changes
|
|
14
|
+
|
|
15
|
+
<!-- High-level description of the proposed changes -->
|
|
16
|
+
|
|
17
|
+
## Capabilities
|
|
18
|
+
|
|
19
|
+
### New Capabilities
|
|
20
|
+
|
|
21
|
+
- `capability-name`: Brief description of what it enables
|
|
22
|
+
|
|
23
|
+
### Modified Capabilities
|
|
24
|
+
|
|
25
|
+
- `capability-name`: How existing behavior changes
|
|
26
|
+
|
|
27
|
+
## Impact
|
|
28
|
+
|
|
29
|
+
### Users Affected
|
|
30
|
+
|
|
31
|
+
- [User type or system]
|
|
32
|
+
|
|
33
|
+
### Migration Required
|
|
34
|
+
|
|
35
|
+
- [ ] Yes / No
|
|
36
|
+
- If yes: [brief migration notes]
|
|
37
|
+
|
|
38
|
+
## Open Questions
|
|
39
|
+
|
|
40
|
+
- [ ] [Question that needs answering before proceeding]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft-2020-12/schema",
|
|
3
|
+
"$comment": "Runtime state for the quality-loop workflow. Created/updated at .pi/artifacts/$SLUG/review-state.json by quality-loop Phase 1. Not a context template — a runtime artifact schema.",
|
|
4
|
+
"slug": "<feature-slug>",
|
|
5
|
+
"rounds": 0,
|
|
6
|
+
"maxRounds": 5,
|
|
7
|
+
"lastScore": 0,
|
|
8
|
+
"sameScoreCount": 0,
|
|
9
|
+
"findingsResolved": 0,
|
|
10
|
+
"findingsRemaining": 0,
|
|
11
|
+
"status": "active",
|
|
12
|
+
"history": [
|
|
13
|
+
{
|
|
14
|
+
"round": 1,
|
|
15
|
+
"score": 0,
|
|
16
|
+
"findings": 0,
|
|
17
|
+
"timestamp": "<ISO 8601>"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Project roadmap with phases, milestones, and feature organization
|
|
3
|
+
updated: <auto — last modified>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Roadmap
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
<!-- High-level project breakdown -->
|
|
11
|
+
|
|
12
|
+
| Phase | Goal | Status | Features |
|
|
13
|
+
| --------- | ------------------- | ------------- | ----- |
|
|
14
|
+
| [Phase 1] | [One-sentence goal] | [Not Started] | [#] |
|
|
15
|
+
| [Phase 2] | [One-sentence goal] | [Not Started] | [#] |
|
|
16
|
+
| [Phase 3] | [One-sentence goal] | [Not Started] | [#] |
|
|
17
|
+
|
|
18
|
+
## Phase 1: [Name]
|
|
19
|
+
|
|
20
|
+
**Goal:** [Outcome-shaped description]
|
|
21
|
+
|
|
22
|
+
**Success Criteria:**
|
|
23
|
+
|
|
24
|
+
- [ ] [Criterion 1]
|
|
25
|
+
- [ ] [Criterion 2]
|
|
26
|
+
- [ ] [Criterion 3]
|
|
27
|
+
|
|
28
|
+
**Features:**
|
|
29
|
+
| ID | Title | Type | Status | Depends On |
|
|
30
|
+
|----|-------|------|--------|------------|
|
|
31
|
+
| <slug> | [Title] | task | open | - |
|
|
32
|
+
| <slug> | [Title] | task | open | <slug> |
|
|
33
|
+
|
|
34
|
+
**Out of Scope:**
|
|
35
|
+
|
|
36
|
+
- [What's explicitly deferred to later phases]
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Phase 2: [Name]
|
|
41
|
+
|
|
42
|
+
**Goal:** [Outcome-shaped description]
|
|
43
|
+
|
|
44
|
+
**Success Criteria:**
|
|
45
|
+
|
|
46
|
+
- [ ] [Criterion 1]
|
|
47
|
+
- [ ] [Criterion 2]
|
|
48
|
+
|
|
49
|
+
**Features:**
|
|
50
|
+
| ID | Title | Type | Status | Depends On |
|
|
51
|
+
|----|-------|------|--------|------------|
|
|
52
|
+
| <slug> | [Title] | feature | open | Phase 1 |
|
|
53
|
+
|
|
54
|
+
**Dependencies:**
|
|
55
|
+
|
|
56
|
+
- Requires Phase 1 completion
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Phase 3: [Name]
|
|
61
|
+
|
|
62
|
+
**Goal:** [Outcome-shaped description]
|
|
63
|
+
|
|
64
|
+
**Success Criteria:**
|
|
65
|
+
|
|
66
|
+
- [ ] [Criterion 1]
|
|
67
|
+
|
|
68
|
+
**Features:**
|
|
69
|
+
| ID | Title | Type | Status | Depends On |
|
|
70
|
+
|----|-------|------|--------|------------|
|
|
71
|
+
| <slug> | [Title] | epic | open | Phase 2 |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Legend
|
|
76
|
+
|
|
77
|
+
**Status:**
|
|
78
|
+
|
|
79
|
+
- `Not Started` - No work begun
|
|
80
|
+
- `In Progress` - Active development
|
|
81
|
+
- `Complete` - All tasks closed
|
|
82
|
+
|
|
83
|
+
**Type:**
|
|
84
|
+
|
|
85
|
+
- `task` - Tactical, single-session work
|
|
86
|
+
- `feature` - New capability, multi-session
|
|
87
|
+
- `epic` - Cross-domain, significant scope
|
|
88
|
+
- `bug` - Fix for broken behavior
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
_Update this file when phases complete or roadmap changes._
|
|
93
|
+
_Use `/plan` command to create detailed plans for active phases._
|