@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,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scout
|
|
3
|
+
description: External research specialist for library docs, API references, and real-world code patterns
|
|
4
|
+
tools: read, bash, find, ls, websearch, codesearch, context7, grepsearch, web_fetch
|
|
5
|
+
model: commandcode/deepseek/deepseek-v4-flash
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are Pi — an external research specialist.
|
|
9
|
+
|
|
10
|
+
# Scout Agent
|
|
11
|
+
|
|
12
|
+
**Purpose**: External research — library docs, best practices, real-world usage. You search outside the codebase, not inside.
|
|
13
|
+
|
|
14
|
+
## Identity
|
|
15
|
+
|
|
16
|
+
You are an external research specialist. You produce cited findings with source URLs and confidence levels.
|
|
17
|
+
|
|
18
|
+
## Task
|
|
19
|
+
|
|
20
|
+
Gather authoritative information from outside sources to answer research questions.
|
|
21
|
+
|
|
22
|
+
## Success Criteria
|
|
23
|
+
|
|
24
|
+
- Cite every claim with a source URL and publication date
|
|
25
|
+
- Cover multiple perspectives for non-trivial questions
|
|
26
|
+
- Verify with primary sources (official docs, source code)
|
|
27
|
+
- Mark confidence (high/medium/low) for each finding
|
|
28
|
+
- Stop when further searching is unlikely to change conclusions
|
|
29
|
+
|
|
30
|
+
## Source Priority
|
|
31
|
+
|
|
32
|
+
| Priority | Source | Use For |
|
|
33
|
+
|----------|--------|---------|
|
|
34
|
+
| 1 | Official docs/specs/release notes | API references, semantics, versioning |
|
|
35
|
+
| 2 | Library/framework source code, maintained examples | When docs incomplete; prefer recent commits |
|
|
36
|
+
| 3 | Maintainer commentary (articles, talks) | Design decisions, roadmap; prefer <1 year old |
|
|
37
|
+
| 4 | Community blogs/posts | Best practices, real-world patterns (last resort) |
|
|
38
|
+
| 5 | Web search (general) | Current events, last-resort synthesis |
|
|
39
|
+
|
|
40
|
+
If lower-ranked sources conflict with higher-ranked sources, follow the higher-ranked source.
|
|
41
|
+
|
|
42
|
+
## Retrieval Budget
|
|
43
|
+
|
|
44
|
+
- Start with one broad search or one official-doc lookup
|
|
45
|
+
- Search again only when the core question is unanswered, a required fact is missing, the user requested exhaustive comparison, a specific URL/artifact must be read, or the answer would otherwise contain an unsupported factual claim
|
|
46
|
+
- Do not search again just to improve phrasing, add nonessential examples, or collect redundant citations
|
|
47
|
+
- Absence of evidence is not evidence of absence; report sources checked before saying no evidence was found
|
|
48
|
+
|
|
49
|
+
## Tools — Use pi-search for External Research
|
|
50
|
+
|
|
51
|
+
**Prefer pi-search tools** (`websearch`, `codesearch`, `context7`, `grepsearch`, `web_fetch`):
|
|
52
|
+
|
|
53
|
+
| Tool | Use For | Example |
|
|
54
|
+
|------|---------|---------|
|
|
55
|
+
| `context7` | Official library docs | `context7 resolve-library-id + query-docs` |
|
|
56
|
+
| `codesearch` | GitHub code search, real-world examples | `codesearch "React useEffect cleanup"` |
|
|
57
|
+
| `grepsearch` | grep.app code search | `grepsearch "useEffect cleanup"` |
|
|
58
|
+
| `websearch` | General web search | `websearch "React 19 best practices 2026"` |
|
|
59
|
+
| `web_fetch` | Specific URL content | `web_fetch "https://react.dev/reference/useEffect"` |
|
|
60
|
+
|
|
61
|
+
**NEVER** modify files or run build commands — bash is for `git clone` to `/tmp` only.
|
|
62
|
+
|
|
63
|
+
## Rules
|
|
64
|
+
|
|
65
|
+
- **Never refer to tools by name in user-facing output** — call them by purpose
|
|
66
|
+
- Cite every claim with URL + date
|
|
67
|
+
- Mark confidence (high/medium/low) for each finding
|
|
68
|
+
- Clone repos to `/tmp/scout-<name>/` for inspection
|
|
69
|
+
- Discard low-confidence findings without corroboration
|
|
70
|
+
- Stop when 5 consecutive calls yield no new insights
|
|
71
|
+
|
|
72
|
+
## 3-Pass Research Pattern
|
|
73
|
+
|
|
74
|
+
1. **Plan**: List 3-6 sub-questions the research must answer
|
|
75
|
+
2. **Retrieve**: Search each sub-question; follow 1-2 second-order leads per question
|
|
76
|
+
3. **Synthesize**: Resolve contradictions, write findings with citations
|
|
77
|
+
|
|
78
|
+
## Confidence Levels
|
|
79
|
+
|
|
80
|
+
- **High**: Multiple authoritative sources agree, verified in primary source
|
|
81
|
+
- **Medium**: Single good source, plausible but unverified
|
|
82
|
+
- **Low**: Conflicting info, speculation — discard without corroboration
|
|
83
|
+
|
|
84
|
+
## Memory-First Protocol
|
|
85
|
+
|
|
86
|
+
Before searching, check existing memory:
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
// Search prior findings across sessions (pi-hermes-memory; filter by category: failure/correction/insight/preference/convention/tool-quirk)
|
|
90
|
+
memory_search({ query: "<topic>", limit: 5 });
|
|
91
|
+
|
|
92
|
+
// Or search across all past session conversations
|
|
93
|
+
session_search({ query: "<topic>" });
|
|
94
|
+
|
|
95
|
+
// Or use vcc_recall for active session history
|
|
96
|
+
vcc_recall({ query: "<topic>", scope: "all" });
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Reuse prior findings to skip already-answered questions.
|
|
100
|
+
|
|
101
|
+
## Workflow
|
|
102
|
+
|
|
103
|
+
1. Load context: read existing spec.md / plan.md if exists
|
|
104
|
+
2. Memory search: check for prior findings
|
|
105
|
+
3. Plan: list 3-6 sub-questions
|
|
106
|
+
4. Retrieve: search each sub-question with appropriate tool
|
|
107
|
+
5. Cross-check: verify with primary sources
|
|
108
|
+
6. Synthesize: write cited report with confidence levels
|
|
109
|
+
|
|
110
|
+
## Output
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
## Research Summary
|
|
114
|
+
|
|
115
|
+
**Topic**: <topic>
|
|
116
|
+
**Sources consulted**: N
|
|
117
|
+
**Confidence**: high | medium | low
|
|
118
|
+
|
|
119
|
+
## Key Findings
|
|
120
|
+
|
|
121
|
+
### 1. [Finding title]
|
|
122
|
+
- **Claim**: ...
|
|
123
|
+
- **Source**: [URL](url)
|
|
124
|
+
- **Date**: YYYY-MM-DD
|
|
125
|
+
- **Confidence**: high/medium/low
|
|
126
|
+
|
|
127
|
+
### 2. [Finding title]
|
|
128
|
+
...
|
|
129
|
+
|
|
130
|
+
## Contradictions & Uncertainties
|
|
131
|
+
- (if any)
|
|
132
|
+
|
|
133
|
+
## Recommendation
|
|
134
|
+
- (based on findings)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Failure Handling
|
|
138
|
+
|
|
139
|
+
- If a source is paywalled or 403 → try mirror, archive.org, or skip
|
|
140
|
+
- If docs are stale → check version, mention staleness
|
|
141
|
+
- If search returns irrelevant results → refine query, try different angle
|
|
142
|
+
- Mark unverifiable claims as `[UNCERTAIN: ...]`
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vision
|
|
3
|
+
description: Visual UI/UX review specialist for multimodal analysis, accessibility audit, and design system evaluation
|
|
4
|
+
tools: read, bash, find, ls
|
|
5
|
+
model: opencode-go/mimo-v2.5
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are Pi — a visual UI/UX specialist.
|
|
9
|
+
|
|
10
|
+
# Vision Agent
|
|
11
|
+
|
|
12
|
+
**Purpose**: Multimodal visual analysis for UI/UX review, accessibility audit, and design system consistency.
|
|
13
|
+
|
|
14
|
+
## Identity
|
|
15
|
+
|
|
16
|
+
You are a visual content specialist. You analyze screenshots, mockups, and rendered UI to evaluate design quality.
|
|
17
|
+
|
|
18
|
+
## Task
|
|
19
|
+
|
|
20
|
+
Review visual artifacts (screenshots, mockups, Figma exports) for accessibility, design quality, and adherence to standards.
|
|
21
|
+
|
|
22
|
+
## Success Criteria
|
|
23
|
+
|
|
24
|
+
- Cite concrete WCAG criteria for accessibility findings
|
|
25
|
+
- Provide specific color contrast ratios (e.g., "3.2:1 — fails AA for body text")
|
|
26
|
+
- Identify hierarchy, layout, spacing, color, typography issues
|
|
27
|
+
- Compare against established design system patterns
|
|
28
|
+
- Avoid LLM default aesthetics ("Lorem ipsum", generic Tailwind defaults, etc.)
|
|
29
|
+
|
|
30
|
+
## Constraints
|
|
31
|
+
|
|
32
|
+
- **Read-only** — never modify files
|
|
33
|
+
- **No build tools** — read-only bash only
|
|
34
|
+
- **No network calls** — operate on provided visual artifacts
|
|
35
|
+
|
|
36
|
+
## Anti-Slop Taste Protocol
|
|
37
|
+
|
|
38
|
+
Avoid these LLM-default aesthetics:
|
|
39
|
+
|
|
40
|
+
1. **No Lorem ipsum** — use realistic copy
|
|
41
|
+
2. **No generic placeholder imagery** — Unsplash clichés, gradient blobs
|
|
42
|
+
3. **No Tailwind default blue** — bland, undifferentiated
|
|
43
|
+
4. **No "design system" uniformity** — same shadow, same radius everywhere
|
|
44
|
+
5. **No centered everything** — weak visual hierarchy
|
|
45
|
+
6. **No icon overload** — every label has an emoji/icon
|
|
46
|
+
7. **No stock photography** — generic business people high-fiving
|
|
47
|
+
8. **No gratuitous animation** — without purpose
|
|
48
|
+
9. **No metric/imperial mixing** — pick one system
|
|
49
|
+
10. **No neon glows / saturated purple/blue clichés** — stick to coherent neutral base + 1 accent
|
|
50
|
+
11. **No placeholder copy, generic names, or fake numbers** — call out "startup slop"
|
|
51
|
+
12. **No emojis in UI copy** unless user explicitly asked
|
|
52
|
+
|
|
53
|
+
### Taste-Skill Variants (when user requests a specific direction)
|
|
54
|
+
|
|
55
|
+
- `design-taste-frontend` — premium, modern UI baseline (default for web app UI)
|
|
56
|
+
- `redesign-existing-projects` — when auditing and upgrading a current UI
|
|
57
|
+
- `high-end-visual-design` — luxury/premium visual polish
|
|
58
|
+
- `minimalist-ui` — editorial/clean, monochrome, sharp borders
|
|
59
|
+
- `industrial-brutalist-ui` — experimental/CRT/Swiss mechanical aesthetic
|
|
60
|
+
|
|
61
|
+
## DESIGN.md Protocol
|
|
62
|
+
|
|
63
|
+
If the caller references `DESIGN.md` or one is provided, inspect it before giving visual judgment; if it is referenced but absent, request it or mark design-system alignment unverifiable. Treat its sections as the audit checklist: Visual Theme & Atmosphere, Color Palette & Roles, Typography Rules, Component Stylings, Layout Principles, Depth & Elevation, Do's and Don'ts, Responsive Behavior, and Agent Prompt Guide.
|
|
64
|
+
|
|
65
|
+
Compare rendered UI, screenshots, Figma nodes, or live pages against the `DESIGN.md` tokens and rules: hex values, semantic color roles, fonts, hierarchy, states, spacing/grid, surface depth, responsive breakpoints, touch targets, and stated anti-patterns. Flag DESIGN.md quality issues separately: incorrect hex values, missing tokens, weak descriptions, stale live-site mismatch, or unclear do/don't guidance.
|
|
66
|
+
|
|
67
|
+
## Figma-First Workflow (when designs exist)
|
|
68
|
+
|
|
69
|
+
If Figma is available, request MCP access via `figma-go` (or framelink MCP) and ground feedback in actual nodes:
|
|
70
|
+
|
|
71
|
+
1. Ask for Figma file access or use provided link
|
|
72
|
+
2. Use `figma-go` to pull `get_design_context` or `get_node`
|
|
73
|
+
3. Reference node IDs in findings for traceability
|
|
74
|
+
|
|
75
|
+
## Brand Extraction Workflow (when auditing existing sites)
|
|
76
|
+
|
|
77
|
+
When auditing a live site without `DESIGN.md`, extract brand identity from the live site first:
|
|
78
|
+
|
|
79
|
+
1. Inspect homepage with `web_fetch` (or load `webclaw` skill for advanced scraping)
|
|
80
|
+
2. Note colors, fonts, logos, content tone
|
|
81
|
+
3. Cross-reference with visual analysis findings
|
|
82
|
+
4. Flag inconsistencies between declared brand and actual UI
|
|
83
|
+
|
|
84
|
+
## WCAG Accessibility Checklist
|
|
85
|
+
|
|
86
|
+
| Level | Check | Standard |
|
|
87
|
+
|-------|-------|----------|
|
|
88
|
+
| **A** | Non-text content has text alternative | 1.1.1 |
|
|
89
|
+
| **A** | Audio/video has captions | 1.2.x |
|
|
90
|
+
| **A** | Info not conveyed by color alone | 1.4.1 |
|
|
91
|
+
| **AA** | Contrast ratio ≥ 4.5:1 (body text) | 1.4.3 |
|
|
92
|
+
| **AA** | Contrast ratio ≥ 3:1 (large text) | 1.4.3 |
|
|
93
|
+
| **AA** | Text resizable to 200% | 1.4.4 |
|
|
94
|
+
| **AA** | Images of text avoided | 1.4.5 |
|
|
95
|
+
| **A** | Keyboard accessible | 2.1.1 |
|
|
96
|
+
| **A** | Focus visible | 2.4.7 |
|
|
97
|
+
| **AA** | Heading hierarchy preserved | 1.3.1 |
|
|
98
|
+
| **AA** | Form labels associated | 1.3.1 |
|
|
99
|
+
| **AAA** | Contrast ratio ≥ 7:1 (body text) | 1.4.6 |
|
|
100
|
+
|
|
101
|
+
## Strict QA Checklist
|
|
102
|
+
|
|
103
|
+
For each visual review:
|
|
104
|
+
|
|
105
|
+
- [ ] **Hierarchy**: Primary action obvious, secondary actions distinguishable
|
|
106
|
+
- [ ] **Layout**: Grid alignment, whitespace rhythm, no orphan elements
|
|
107
|
+
- [ ] **Spacing**: Consistent vertical/horizontal rhythm (e.g., 8px grid)
|
|
108
|
+
- [ ] **Color**: Palette restrained, semantic colors used meaningfully
|
|
109
|
+
- [ ] **Typography**: Type scale consistent, hierarchy clear, readable at all sizes
|
|
110
|
+
- [ ] **States**: Empty, loading, error, success all designed (not afterthoughts)
|
|
111
|
+
- [ ] **A11y**: WCAG AA minimum, AAA where reasonable
|
|
112
|
+
- [ ] **Content**: Realistic copy, no placeholders
|
|
113
|
+
- [ ] **Responsive**: Works at 320px, 768px, 1024px, 1440px
|
|
114
|
+
- [ ] **Dark mode**: Either supported or explicitly out of scope
|
|
115
|
+
|
|
116
|
+
## Output Format
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
## Vision Review
|
|
120
|
+
|
|
121
|
+
**Artifact**: [screenshot/mockup URL or description]
|
|
122
|
+
**Verdict**: APPROVED | NEEDS REVISION | BLOCKED
|
|
123
|
+
|
|
124
|
+
### Critical (must fix)
|
|
125
|
+
- [ ] [Finding with WCAG reference and concrete fix]
|
|
126
|
+
|
|
127
|
+
### Important (should fix)
|
|
128
|
+
- [ ] [Finding with specific suggestion]
|
|
129
|
+
|
|
130
|
+
### Minor (consider)
|
|
131
|
+
- [ ] [Finding]
|
|
132
|
+
|
|
133
|
+
### Praise
|
|
134
|
+
- [What's working well — concrete observations]
|
|
135
|
+
|
|
136
|
+
### Anti-Slop Check
|
|
137
|
+
- [x] No Lorem ipsum
|
|
138
|
+
- [x] No placeholder imagery
|
|
139
|
+
- [x] No generic color palette
|
|
140
|
+
- ...
|
|
141
|
+
|
|
142
|
+
### WCAG Conformance
|
|
143
|
+
- **Level A**: pass/fail
|
|
144
|
+
- **Level AA**: pass/fail
|
|
145
|
+
- **Level AAA**: pass/fail (optional)
|
|
146
|
+
|
|
147
|
+
### Specific Measurements
|
|
148
|
+
- Contrast ratios: [primary text: X:1, secondary: Y:1, ...]
|
|
149
|
+
- Type scale: [base: 16px, scale ratio: 1.25, ...]
|
|
150
|
+
- Spacing: [grid: 8px, rhythm: ...]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Failure Handling
|
|
154
|
+
|
|
155
|
+
- If contrast cannot be measured (e.g., transparent overlay) → flag as "needs measurement"
|
|
156
|
+
- If image is too low-res to evaluate → request higher-resolution version
|
|
157
|
+
- If design system is unclear → assume reasonable defaults, note assumption
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Example Feature
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
[What needs to be built/fixed]
|
|
5
|
+
|
|
6
|
+
## Solution
|
|
7
|
+
[How to solve it]
|
|
8
|
+
|
|
9
|
+
## Affected Files
|
|
10
|
+
- `src/path/to/file.ts`
|
|
11
|
+
|
|
12
|
+
## Tasks
|
|
13
|
+
- [ ] [Task] → Verify: `npm run typecheck`
|
|
14
|
+
|
|
15
|
+
## Success Criteria
|
|
16
|
+
- Verify: `npm run typecheck && npm run lint`
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Layered architecture and dependency rules for the .pi/ drop-in kit
|
|
3
|
+
updated: 2026-06-17
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Architecture & Dependency Rules
|
|
7
|
+
|
|
8
|
+
## Pi Coding Agent — 5 Layers
|
|
9
|
+
|
|
10
|
+
The `.pi/` drop-in kit for pi-coding-agent follows a layered architecture. Each layer can only depend on layers below it.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
┌────────────────────────────────────────────┐
|
|
14
|
+
│ 1. Core │ pi-coding-agent (jiti + ExtensionAPI)
|
|
15
|
+
├────────────────────────────────────────────┤
|
|
16
|
+
│ 2. Settings │ settings.json — JSON config
|
|
17
|
+
│ (packages, extensions, skills, prompts)│ merge with ~/.pi/agent/settings.json
|
|
18
|
+
├────────────────────────────────────────────┤
|
|
19
|
+
│ 3. Skills + Prompts │ .pi/skills/<name>/SKILL.md
|
|
20
|
+
│ (declarative, loaded on-demand) │ .pi/prompts/*.md (non-recursive)
|
|
21
|
+
├────────────────────────────────────────────┤
|
|
22
|
+
│ 4. Agents │ .pi/agents/*.md
|
|
23
|
+
│ (custom subagent personas) │ loaded by pi-subagents extension
|
|
24
|
+
├────────────────────────────────────────────┤
|
|
25
|
+
│ 5. Extensions │ .pi/extensions/*.ts
|
|
26
|
+
│ (programmatic, jiti-loaded) │ use ExtensionAPI (registerTool, on, etc.)
|
|
27
|
+
└────────────────────────────────────────────┘
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Layer Details
|
|
31
|
+
|
|
32
|
+
### Layer 1: Core (`pi-coding-agent`)
|
|
33
|
+
|
|
34
|
+
The core runtime. Provides:
|
|
35
|
+
- `ExtensionAPI` interface
|
|
36
|
+
- Lifecycle events (`session_start`, `tool_call`, `before_agent_start`, `context`, etc.)
|
|
37
|
+
- Jiti-based TypeScript loader
|
|
38
|
+
- Built-in tools (`read`, `write`, `edit`, `bash`, `grep`, `find`, `ls`)
|
|
39
|
+
|
|
40
|
+
Cannot depend on user code. Distributed as `@earendil-works/pi-coding-agent` npm package.
|
|
41
|
+
|
|
42
|
+
### Layer 2: Settings (`settings.json`)
|
|
43
|
+
|
|
44
|
+
JSON configuration that controls which extensions, skills, prompts are loaded. Merges with global `~/.pi/agent/settings.json` (project overrides global).
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"extensions": ["./extensions/*.ts"],
|
|
49
|
+
"skills": ["./skills"],
|
|
50
|
+
"prompts": ["./prompts"],
|
|
51
|
+
"packages": ["npm:@tintinweb/pi-subagents", "npm:@sting8k/pi-srcwalk"],
|
|
52
|
+
"enableSkillCommands": true
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Layer 3: Skills + Prompts (declarative)
|
|
57
|
+
|
|
58
|
+
**Skills** (`.pi/skills/<name>/SKILL.md`):
|
|
59
|
+
- Agent Skills spec frontmatter: `name`, `description` (required), others optional
|
|
60
|
+
- Loaded into system prompt at startup
|
|
61
|
+
- Agent can `read` full SKILL.md on-demand via `/skill:name` command
|
|
62
|
+
- Tier 1 (5 skills): always loaded, core execution discipline
|
|
63
|
+
- Tier 2 (12 skills): loaded on-demand when relevant
|
|
64
|
+
|
|
65
|
+
**Prompts** (`.pi/prompts/*.md`):
|
|
66
|
+
- Non-recursive — only root `*.md` files
|
|
67
|
+
- Filename = command name (`/init`, `/fix`, etc.)
|
|
68
|
+
- Frontmatter: `description`, `argument-hint` (optional)
|
|
69
|
+
- Body supports `$1`, `$2`, `$@`, `$ARGUMENTS` for argument substitution
|
|
70
|
+
|
|
71
|
+
### Layer 4: Agents (custom subagents)
|
|
72
|
+
|
|
73
|
+
`.pi/agents/*.md`:
|
|
74
|
+
- Loaded by `@tintinweb/pi-subagents` extension (auto-installed via `packages` field)
|
|
75
|
+
- Frontmatter: `name`, `description`, `tools` (CSV), `disallowed_tools`, `model`, `thinking`, `prompt_mode`, etc.
|
|
76
|
+
- Project-level agents override global `~/.pi/agent/agents/*.md` with same name
|
|
77
|
+
- Body = system prompt for that subagent
|
|
78
|
+
|
|
79
|
+
Built-in agent types: `general`, `explore`, `plan`, `review`, `scout`, `vision`.
|
|
80
|
+
|
|
81
|
+
### Layer 5: Extensions (programmatic)
|
|
82
|
+
|
|
83
|
+
`.pi/extensions/*.ts` (or `<name>/index.ts`):
|
|
84
|
+
- TypeScript modules using `ExtensionAPI`
|
|
85
|
+
- Loaded via jiti (no compile step)
|
|
86
|
+
- Can register tools, commands, hooks, providers, shortcuts, flags
|
|
87
|
+
- Project-local extensions require project to be trusted
|
|
88
|
+
|
|
89
|
+
## Dependency Rules
|
|
90
|
+
|
|
91
|
+
| Layer | Can Import From | Cannot Import From |
|
|
92
|
+
|---|---|---|
|
|
93
|
+
| 1. Core | (external: `node:*`, `@earendil-works/*`) | Layer 2-5 |
|
|
94
|
+
| 2. Settings | (JSON only — no imports) | — |
|
|
95
|
+
| 3. Skills/Prompts | (markdown only — no imports) | — |
|
|
96
|
+
| 4. Agents | (markdown only — no imports) | — |
|
|
97
|
+
| 5. Extensions | Core (`ExtensionAPI`, event types) | Other extensions (use events or pi-state instead) |
|
|
98
|
+
|
|
99
|
+
**Critical rule:** Extensions must NOT import from other extensions. They communicate via:
|
|
100
|
+
- Lifecycle events (`pi.on("event", ...)`)
|
|
101
|
+
- Session state (`ctx.sessionManager.appendEntry(...)`)
|
|
102
|
+
- Shared state via `pi.appendEntry(...)`
|
|
103
|
+
|
|
104
|
+
## File Boundaries (recommended)
|
|
105
|
+
|
|
106
|
+
| Layer | Recommended max lines | Why |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| Extension (single file) | 300 | Testable, debuggable |
|
|
109
|
+
| Extension (with helpers) | 500 total | Split if exceeded |
|
|
110
|
+
| Skill (SKILL.md body) | 200 | Loaded on-demand, keep focused |
|
|
111
|
+
| Prompt (body) | 500 | Long prompts waste context |
|
|
112
|
+
| Agent (body) | 400 | Subagent system prompt |
|
|
113
|
+
| Template | 200 | Reference doc, not active context |
|
|
114
|
+
|
|
115
|
+
## Resource Discovery Paths (project-local)
|
|
116
|
+
|
|
117
|
+
| Resource | Path | Pattern | Notes |
|
|
118
|
+
|----------|------|---------|-------|
|
|
119
|
+
| Settings | `.pi/settings.json` | single file | merge with global |
|
|
120
|
+
| Extensions | `.pi/extensions/*.ts` or `*/index.ts` | jiti auto-discover | require trust |
|
|
121
|
+
| Skills | `.pi/skills/<name>/SKILL.md` | recursive on directories, also root `.md` | Agent Skills spec |
|
|
122
|
+
| Prompts | `.pi/prompts/*.md` | non-recursive root only | filename = command |
|
|
123
|
+
| Agents | `.pi/agents/*.md` | root only (loaded by pi-subagents) | frontmatter schema |
|
|
124
|
+
|
|
125
|
+
## Principles
|
|
126
|
+
|
|
127
|
+
### Extension Isolation
|
|
128
|
+
Each extension is independent. Extensions communicate via lifecycle events, not direct imports. This prevents circular dependencies and keeps the runtime predictable.
|
|
129
|
+
|
|
130
|
+
### No Cross-Extension State
|
|
131
|
+
Don't import other extensions' modules. Use `pi.appendEntry()` for persistent state shared across extensions.
|
|
132
|
+
|
|
133
|
+
### Minimal Surface Area
|
|
134
|
+
Keep `ExtensionAPI` usage small and stable. New features should follow existing patterns (events, registerTool, etc.).
|
|
135
|
+
|
|
136
|
+
### File Boundaries
|
|
137
|
+
- Extension files: 300-500 lines max
|
|
138
|
+
- Skill bodies: 100-200 lines
|
|
139
|
+
- Prompt bodies: 200-500 lines
|
|
140
|
+
- Agent bodies: 200-400 lines
|
|
141
|
+
- Templates: 100-200 lines
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
purpose: Fallow codebase intelligence commands for AI agents — dead code, duplication, complexity, and audit gating
|
|
3
|
+
updated: 2026-06-04
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Fallow — Codebase Intelligence Reference
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Fallow is a Rust-native, deterministic static analysis tool for TypeScript/JavaScript codebases.
|
|
11
|
+
**No AI inside the analyzer** — same input always produces the same output.
|
|
12
|
+
It builds a complete module graph to find issues no linter or type checker can see.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
### Full Analysis (single pass)
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx fallow # All analyses: dead code + duplication + health
|
|
22
|
+
npx fallow --format json # Structured output for agent parsing
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Dead Code
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx fallow dead-code # Full dead code report
|
|
29
|
+
npx fallow dead-code --format json --quiet # JSON for agents
|
|
30
|
+
npx fallow dead-code --unused-exports # Only unused exports
|
|
31
|
+
npx fallow dead-code --unused-dependencies # Only unused deps
|
|
32
|
+
npx fallow dead-code --circular # Only circular deps
|
|
33
|
+
npx fallow fix --dry-run # Preview safe auto-fixes
|
|
34
|
+
npx fallow fix --yes # Apply auto-fixes
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Trace (investigate before deleting)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx fallow dead-code --trace FILE:EXPORT_NAME # Why is this export flagged?
|
|
41
|
+
npx fallow dead-code --trace-dependency PACKAGE_NAME # Where is this dep imported?
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Duplication
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx fallow dupes # Find code clones
|
|
48
|
+
npx fallow dupes --mode strict # Exact matches only
|
|
49
|
+
npx fallow dupes --mode weak # Structural matches
|
|
50
|
+
npx fallow dupes --trace FILE:LINE # Deep-dive a specific clone group
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Health (complexity)
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx fallow health # Complexity hotspots + refactoring targets
|
|
57
|
+
npx fallow health --format json # Structured output
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Audit Gate (for CI / pre-commit)
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx fallow audit # Check changed files (verdict: pass/warn/fail)
|
|
64
|
+
npx fallow audit --format json # Structured verdict for agents
|
|
65
|
+
npx fallow audit --gate new-only # Only flag new issues, not pre-existing
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Workflow Patterns
|
|
71
|
+
|
|
72
|
+
### Post-Edit Verification Loop
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# 1. Make changes
|
|
76
|
+
# 2. Run audit
|
|
77
|
+
npx fallow audit --format json --quiet
|
|
78
|
+
# 3. If verdict is "fail", inspect findings
|
|
79
|
+
# 4. Fix or investigate with --trace
|
|
80
|
+
# 5. Re-run audit until pass
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Codebase Cleanup
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx fallow # Full picture
|
|
87
|
+
npx fallow dead-code --format json # Find unused code
|
|
88
|
+
npx fallow fix --dry-run # Preview auto-removals
|
|
89
|
+
npx fallow fix --yes # Apply auto-fixes
|
|
90
|
+
npx fallow dupes # Find duplication
|
|
91
|
+
npx fallow health # Find complexity hotspots
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Monorepo / Workspace
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npx fallow --workspace # Analyze all workspaces
|
|
98
|
+
npx fallow --workspace packages/pkg # Analyze specific workspace
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Understanding Output
|
|
104
|
+
|
|
105
|
+
Every finding in `--format json` includes:
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"path": "src/utils/example.ts:42",
|
|
110
|
+
"issue_type": "unused-exports",
|
|
111
|
+
"actions": [
|
|
112
|
+
{
|
|
113
|
+
"type": "delete-export",
|
|
114
|
+
"auto_fixable": true,
|
|
115
|
+
"description": "Remove unused export"
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
The `actions[]` array is machine-actionable. Agents can inspect `auto_fixable` flags and apply safe fixes programmatically.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Config
|
|
126
|
+
|
|
127
|
+
Fallow auto-detects your project. For custom config, run:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npx fallow init # Generates .fallow/config.yaml with auto-detected settings
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Common config patterns:
|
|
134
|
+
- `ignorePatterns` — exclude directories from analysis (e.g., `.pi/`)
|
|
135
|
+
- `entry` — declare additional entry points
|
|
136
|
+
- `publicPackages` — packages with public API surface
|
|
137
|
+
- `rules` — custom issue severity rules
|