memory-journal-mcp 7.7.0 → 8.0.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 +126 -56
- package/dist/chunk-6OHRCNYW.js +3231 -0
- package/dist/chunk-JFMITANR.js +5168 -0
- package/dist/{chunk-QCQPAF4I.js → chunk-MWNLAEHR.js} +301 -4321
- package/dist/{chunk-ARLYSFSI.js → chunk-UHSO65A4.js} +4242 -6092
- package/dist/cli.js +21 -3
- package/dist/index.d.ts +16 -13
- package/dist/index.js +4 -2
- package/dist/resources-IJVKDFGS.js +2 -0
- package/dist/tools-44DGXE3V.js +2 -0
- package/dist/worker-script.js +201 -20
- package/package.json +7 -4
- package/skills/README.md +62 -25
- package/skills/adversarial-performance/SKILL.md +139 -0
- package/skills/adversarial-performance/references/audit-categories.md +462 -0
- package/skills/adversarial-performance/references/copilot-performance-prompts.md +44 -0
- package/skills/adversarial-performance/references/copilot-usage.md +16 -0
- package/skills/adversarial-performance/references/feedback-loop.md +177 -0
- package/skills/adversarial-performance/references/multi-pass-performance-protocol.md +398 -0
- package/skills/adversarial-planner/SKILL.md +23 -54
- package/skills/adversarial-planner/references/copilot-integration.md +25 -40
- package/skills/adversarial-planner/references/copilot-usage.md +16 -0
- package/skills/adversarial-planner/references/multi-pass-protocol.md +4 -0
- package/skills/adversarial-security/SKILL.md +149 -0
- package/skills/adversarial-security/references/adversarial-base-protocol.md +44 -0
- package/skills/adversarial-security/references/audit-categories.md +723 -0
- package/skills/adversarial-security/references/copilot-security-prompts.md +142 -0
- package/skills/adversarial-security/references/copilot-usage.md +16 -0
- package/skills/adversarial-security/references/feedback-loop.md +206 -0
- package/skills/adversarial-security/references/journal-opt-out.md +7 -0
- package/skills/adversarial-security/references/multi-pass-security-protocol.md +403 -0
- package/skills/adversarial-skill-audit/SKILL.md +118 -0
- package/skills/adversarial-skill-audit/references/audit-categories.md +308 -0
- package/skills/adversarial-skill-audit/references/copilot-skill-prompts.md +68 -0
- package/skills/adversarial-skill-audit/references/copilot-usage.md +16 -0
- package/skills/adversarial-skill-audit/references/feedback-loop.md +155 -0
- package/skills/adversarial-skill-audit/references/multi-pass-skill-protocol.md +367 -0
- package/skills/adversarial-skill-audit/scripts/check-skills.ps1 +48 -0
- package/skills/adversarial-skill-audit/scripts/run-copilot.ps1 +52 -0
- package/skills/adversarial-workflow-audit/SKILL.md +82 -0
- package/skills/adversarial-workflow-audit/references/audit-categories.md +28 -0
- package/skills/adversarial-workflow-audit/references/copilot-usage.md +16 -0
- package/skills/adversarial-workflow-audit/scripts/check-workflows.ps1 +24 -0
- package/skills/agents-sdk/SKILL.md +220 -0
- package/skills/agents-sdk/references/callable.md +92 -0
- package/skills/agents-sdk/references/codemode.md +209 -0
- package/skills/agents-sdk/references/email.md +144 -0
- package/skills/agents-sdk/references/mcp/SKILL.md +65 -0
- package/skills/agents-sdk/references/mcp/code-mode-reference.md +245 -0
- package/skills/agents-sdk/references/mcp/oauth-reference.md +359 -0
- package/skills/agents-sdk/references/mcp/references/architecture-reference.md +208 -0
- package/skills/agents-sdk/references/mcp/references/cloudflare-quickstart.md +156 -0
- package/skills/agents-sdk/references/mcp/references/error-handling.md +343 -0
- package/skills/agents-sdk/references/mcp/references/http-security.md +164 -0
- package/skills/agents-sdk/references/mcp/references/implementation-guide.md +507 -0
- package/skills/agents-sdk/references/mcp/references/testing-reference.md +171 -0
- package/skills/agents-sdk/references/mcp.md +157 -0
- package/skills/agents-sdk/references/state-scheduling.md +164 -0
- package/skills/agents-sdk/references/streaming-chat.md +168 -0
- package/skills/agents-sdk/references/workflows.md +136 -0
- package/skills/auth-identity/SKILL.md +48 -0
- package/skills/autonomous-dev/SKILL.md +46 -23
- package/skills/autonomous-dev/references/workflow_orchestration.md +22 -0
- package/skills/aws/SKILL.md +39 -0
- package/skills/azure/SKILL.md +38 -0
- package/skills/bin/sync.js +7 -1
- package/skills/biome/SKILL.md +59 -0
- package/skills/bun/SKILL.md +8 -2
- package/skills/cloudflare/SKILL.md +37 -0
- package/skills/cloudflare/references/agents-sdk/README.md +95 -0
- package/skills/cloudflare/references/agents-sdk/api.md +195 -0
- package/skills/cloudflare/references/agents-sdk/configuration.md +178 -0
- package/skills/cloudflare/references/agents-sdk/gotchas.md +173 -0
- package/skills/cloudflare/references/agents-sdk/patterns.md +215 -0
- package/skills/cloudflare/references/ai-gateway/README.md +176 -0
- package/skills/cloudflare/references/ai-gateway/configuration.md +117 -0
- package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +88 -0
- package/skills/cloudflare/references/ai-gateway/features.md +96 -0
- package/skills/cloudflare/references/ai-gateway/sdk-integration.md +110 -0
- package/skills/cloudflare/references/ai-gateway/troubleshooting.md +90 -0
- package/skills/cloudflare/references/ai-search/README.md +145 -0
- package/skills/cloudflare/references/ai-search/api.md +87 -0
- package/skills/cloudflare/references/ai-search/configuration.md +91 -0
- package/skills/cloudflare/references/ai-search/gotchas.md +92 -0
- package/skills/cloudflare/references/ai-search/patterns.md +87 -0
- package/skills/cloudflare/references/analytics-engine/README.md +96 -0
- package/skills/cloudflare/references/analytics-engine/api.md +112 -0
- package/skills/cloudflare/references/analytics-engine/configuration.md +107 -0
- package/skills/cloudflare/references/analytics-engine/gotchas.md +87 -0
- package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
- package/skills/cloudflare/references/api/README.md +66 -0
- package/skills/cloudflare/references/api/api.md +205 -0
- package/skills/cloudflare/references/api/configuration.md +158 -0
- package/skills/cloudflare/references/api/gotchas.md +231 -0
- package/skills/cloudflare/references/api/patterns.md +208 -0
- package/skills/cloudflare/references/api-shield/README.md +44 -0
- package/skills/cloudflare/references/api-shield/api.md +153 -0
- package/skills/cloudflare/references/api-shield/configuration.md +210 -0
- package/skills/cloudflare/references/api-shield/gotchas.md +132 -0
- package/skills/cloudflare/references/api-shield/patterns.md +185 -0
- package/skills/cloudflare/references/argo-smart-routing/README.md +96 -0
- package/skills/cloudflare/references/argo-smart-routing/api.md +253 -0
- package/skills/cloudflare/references/argo-smart-routing/configuration.md +205 -0
- package/skills/cloudflare/references/argo-smart-routing/gotchas.md +115 -0
- package/skills/cloudflare/references/argo-smart-routing/patterns.md +107 -0
- package/skills/cloudflare/references/bindings/README.md +127 -0
- package/skills/cloudflare/references/bindings/api.md +214 -0
- package/skills/cloudflare/references/bindings/configuration.md +200 -0
- package/skills/cloudflare/references/bindings/gotchas.md +210 -0
- package/skills/cloudflare/references/bindings/patterns.md +205 -0
- package/skills/cloudflare/references/bot-management/README.md +95 -0
- package/skills/cloudflare/references/bot-management/api.md +175 -0
- package/skills/cloudflare/references/bot-management/configuration.md +175 -0
- package/skills/cloudflare/references/bot-management/gotchas.md +116 -0
- package/skills/cloudflare/references/bot-management/patterns.md +181 -0
- package/skills/cloudflare/references/browser-rendering/README.md +84 -0
- package/skills/cloudflare/references/browser-rendering/api.md +108 -0
- package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
- package/skills/cloudflare/references/browser-rendering/gotchas.md +91 -0
- package/skills/cloudflare/references/browser-rendering/patterns.md +93 -0
- package/skills/cloudflare/references/c3/README.md +111 -0
- package/skills/cloudflare/references/c3/api.md +71 -0
- package/skills/cloudflare/references/c3/configuration.md +85 -0
- package/skills/cloudflare/references/c3/gotchas.md +97 -0
- package/skills/cloudflare/references/c3/patterns.md +84 -0
- package/skills/cloudflare/references/cache-reserve/README.md +150 -0
- package/skills/cloudflare/references/cache-reserve/api.md +184 -0
- package/skills/cloudflare/references/cache-reserve/configuration.md +170 -0
- package/skills/cloudflare/references/cache-reserve/gotchas.md +136 -0
- package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
- package/skills/cloudflare/references/containers/README.md +87 -0
- package/skills/cloudflare/references/containers/api.md +197 -0
- package/skills/cloudflare/references/containers/configuration.md +191 -0
- package/skills/cloudflare/references/containers/gotchas.md +182 -0
- package/skills/cloudflare/references/containers/patterns.md +204 -0
- package/skills/cloudflare/references/cron-triggers/README.md +101 -0
- package/skills/cloudflare/references/cron-triggers/api.md +224 -0
- package/skills/cloudflare/references/cron-triggers/configuration.md +190 -0
- package/skills/cloudflare/references/cron-triggers/gotchas.md +207 -0
- package/skills/cloudflare/references/cron-triggers/patterns.md +274 -0
- package/skills/cloudflare/references/d1/README.md +137 -0
- package/skills/cloudflare/references/d1/api.md +213 -0
- package/skills/cloudflare/references/d1/configuration.md +198 -0
- package/skills/cloudflare/references/d1/gotchas.md +98 -0
- package/skills/cloudflare/references/d1/patterns.md +240 -0
- package/skills/cloudflare/references/ddos/README.md +42 -0
- package/skills/cloudflare/references/ddos/api.md +158 -0
- package/skills/cloudflare/references/ddos/configuration.md +94 -0
- package/skills/cloudflare/references/ddos/gotchas.md +114 -0
- package/skills/cloudflare/references/ddos/patterns.md +220 -0
- package/skills/cloudflare/references/decision-trees.md +95 -0
- package/skills/cloudflare/references/do-storage/README.md +79 -0
- package/skills/cloudflare/references/do-storage/api.md +107 -0
- package/skills/cloudflare/references/do-storage/configuration.md +114 -0
- package/skills/cloudflare/references/do-storage/gotchas.md +153 -0
- package/skills/cloudflare/references/do-storage/patterns.md +210 -0
- package/skills/cloudflare/references/do-storage/testing.md +186 -0
- package/skills/cloudflare/references/durable-objects/README.md +194 -0
- package/skills/cloudflare/references/durable-objects/api.md +205 -0
- package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
- package/skills/cloudflare/references/durable-objects/gotchas.md +200 -0
- package/skills/cloudflare/references/durable-objects/patterns.md +205 -0
- package/skills/cloudflare/references/email-routing/README.md +89 -0
- package/skills/cloudflare/references/email-routing/api.md +192 -0
- package/skills/cloudflare/references/email-routing/configuration.md +187 -0
- package/skills/cloudflare/references/email-routing/gotchas.md +203 -0
- package/skills/cloudflare/references/email-routing/patterns.md +241 -0
- package/skills/cloudflare/references/email-workers/README.md +153 -0
- package/skills/cloudflare/references/email-workers/api.md +227 -0
- package/skills/cloudflare/references/email-workers/configuration.md +115 -0
- package/skills/cloudflare/references/email-workers/gotchas.md +133 -0
- package/skills/cloudflare/references/email-workers/patterns.md +108 -0
- package/skills/cloudflare/references/graphql-api/README.md +147 -0
- package/skills/cloudflare/references/graphql-api/api.md +175 -0
- package/skills/cloudflare/references/graphql-api/configuration.md +151 -0
- package/skills/cloudflare/references/graphql-api/gotchas.md +111 -0
- package/skills/cloudflare/references/graphql-api/patterns.md +276 -0
- package/skills/cloudflare/references/hyperdrive/README.md +84 -0
- package/skills/cloudflare/references/hyperdrive/api.md +149 -0
- package/skills/cloudflare/references/hyperdrive/configuration.md +166 -0
- package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
- package/skills/cloudflare/references/hyperdrive/patterns.md +203 -0
- package/skills/cloudflare/references/images/README.md +65 -0
- package/skills/cloudflare/references/images/api.md +101 -0
- package/skills/cloudflare/references/images/configuration.md +206 -0
- package/skills/cloudflare/references/images/gotchas.md +106 -0
- package/skills/cloudflare/references/images/patterns.md +126 -0
- package/skills/cloudflare/references/kv/README.md +90 -0
- package/skills/cloudflare/references/kv/api.md +163 -0
- package/skills/cloudflare/references/kv/configuration.md +148 -0
- package/skills/cloudflare/references/kv/gotchas.md +133 -0
- package/skills/cloudflare/references/kv/patterns.md +195 -0
- package/skills/cloudflare/references/miniflare/README.md +113 -0
- package/skills/cloudflare/references/miniflare/api.md +204 -0
- package/skills/cloudflare/references/miniflare/configuration.md +174 -0
- package/skills/cloudflare/references/miniflare/gotchas.md +179 -0
- package/skills/cloudflare/references/miniflare/patterns.md +187 -0
- package/skills/cloudflare/references/network-interconnect/README.md +104 -0
- package/skills/cloudflare/references/network-interconnect/api.md +220 -0
- package/skills/cloudflare/references/network-interconnect/configuration.md +123 -0
- package/skills/cloudflare/references/network-interconnect/gotchas.md +175 -0
- package/skills/cloudflare/references/network-interconnect/patterns.md +174 -0
- package/skills/cloudflare/references/observability/README.md +93 -0
- package/skills/cloudflare/references/observability/api.md +168 -0
- package/skills/cloudflare/references/observability/configuration.md +178 -0
- package/skills/cloudflare/references/observability/gotchas.md +125 -0
- package/skills/cloudflare/references/observability/patterns.md +105 -0
- package/skills/cloudflare/references/pages/README.md +92 -0
- package/skills/cloudflare/references/pages/api.md +205 -0
- package/skills/cloudflare/references/pages/configuration.md +216 -0
- package/skills/cloudflare/references/pages/gotchas.md +218 -0
- package/skills/cloudflare/references/pages/patterns.md +215 -0
- package/skills/cloudflare/references/pages-functions/README.md +104 -0
- package/skills/cloudflare/references/pages-functions/api.md +159 -0
- package/skills/cloudflare/references/pages-functions/configuration.md +130 -0
- package/skills/cloudflare/references/pages-functions/gotchas.md +102 -0
- package/skills/cloudflare/references/pages-functions/patterns.md +148 -0
- package/skills/cloudflare/references/pipelines/README.md +109 -0
- package/skills/cloudflare/references/pipelines/api.md +214 -0
- package/skills/cloudflare/references/pipelines/configuration.md +98 -0
- package/skills/cloudflare/references/pipelines/gotchas.md +84 -0
- package/skills/cloudflare/references/pipelines/patterns.md +87 -0
- package/skills/cloudflare/references/product-index.md +112 -0
- package/skills/cloudflare/references/pulumi/README.md +113 -0
- package/skills/cloudflare/references/pulumi/api.md +230 -0
- package/skills/cloudflare/references/pulumi/configuration.md +213 -0
- package/skills/cloudflare/references/pulumi/gotchas.md +205 -0
- package/skills/cloudflare/references/pulumi/patterns.md +260 -0
- package/skills/cloudflare/references/queues/README.md +99 -0
- package/skills/cloudflare/references/queues/api.md +211 -0
- package/skills/cloudflare/references/queues/configuration.md +151 -0
- package/skills/cloudflare/references/queues/gotchas.md +210 -0
- package/skills/cloudflare/references/queues/patterns.md +220 -0
- package/skills/cloudflare/references/r2/README.md +97 -0
- package/skills/cloudflare/references/r2/api.md +235 -0
- package/skills/cloudflare/references/r2/configuration.md +176 -0
- package/skills/cloudflare/references/r2/gotchas.md +190 -0
- package/skills/cloudflare/references/r2/patterns.md +203 -0
- package/skills/cloudflare/references/r2-data-catalog/README.md +157 -0
- package/skills/cloudflare/references/r2-data-catalog/api.md +199 -0
- package/skills/cloudflare/references/r2-data-catalog/configuration.md +205 -0
- package/skills/cloudflare/references/r2-data-catalog/gotchas.md +170 -0
- package/skills/cloudflare/references/r2-data-catalog/patterns.md +191 -0
- package/skills/cloudflare/references/r2-sql/README.md +138 -0
- package/skills/cloudflare/references/r2-sql/SKILL.md.backup +512 -0
- package/skills/cloudflare/references/r2-sql/api.md +159 -0
- package/skills/cloudflare/references/r2-sql/configuration.md +152 -0
- package/skills/cloudflare/references/r2-sql/gotchas.md +228 -0
- package/skills/cloudflare/references/r2-sql/patterns.md +230 -0
- package/skills/cloudflare/references/realtime-sfu/README.md +66 -0
- package/skills/cloudflare/references/realtime-sfu/api.md +164 -0
- package/skills/cloudflare/references/realtime-sfu/configuration.md +141 -0
- package/skills/cloudflare/references/realtime-sfu/gotchas.md +138 -0
- package/skills/cloudflare/references/realtime-sfu/patterns.md +187 -0
- package/skills/cloudflare/references/realtimekit/README.md +118 -0
- package/skills/cloudflare/references/realtimekit/api.md +234 -0
- package/skills/cloudflare/references/realtimekit/configuration.md +226 -0
- package/skills/cloudflare/references/realtimekit/gotchas.md +206 -0
- package/skills/cloudflare/references/realtimekit/patterns.md +240 -0
- package/skills/cloudflare/references/sandbox/README.md +104 -0
- package/skills/cloudflare/references/sandbox/api.md +200 -0
- package/skills/cloudflare/references/sandbox/configuration.md +154 -0
- package/skills/cloudflare/references/sandbox/gotchas.md +201 -0
- package/skills/cloudflare/references/sandbox/patterns.md +195 -0
- package/skills/cloudflare/references/secrets-store/README.md +77 -0
- package/skills/cloudflare/references/secrets-store/api.md +199 -0
- package/skills/cloudflare/references/secrets-store/configuration.md +187 -0
- package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
- package/skills/cloudflare/references/secrets-store/patterns.md +218 -0
- package/skills/cloudflare/references/smart-placement/README.md +143 -0
- package/skills/cloudflare/references/smart-placement/api.md +192 -0
- package/skills/cloudflare/references/smart-placement/configuration.md +202 -0
- package/skills/cloudflare/references/smart-placement/gotchas.md +180 -0
- package/skills/cloudflare/references/smart-placement/patterns.md +190 -0
- package/skills/cloudflare/references/snippets/README.md +74 -0
- package/skills/cloudflare/references/snippets/api.md +214 -0
- package/skills/cloudflare/references/snippets/configuration.md +239 -0
- package/skills/cloudflare/references/snippets/gotchas.md +104 -0
- package/skills/cloudflare/references/snippets/patterns.md +135 -0
- package/skills/cloudflare/references/spectrum/README.md +52 -0
- package/skills/cloudflare/references/spectrum/api.md +184 -0
- package/skills/cloudflare/references/spectrum/configuration.md +203 -0
- package/skills/cloudflare/references/spectrum/gotchas.md +155 -0
- package/skills/cloudflare/references/spectrum/patterns.md +206 -0
- package/skills/cloudflare/references/static-assets/README.md +65 -0
- package/skills/cloudflare/references/static-assets/api.md +201 -0
- package/skills/cloudflare/references/static-assets/configuration.md +186 -0
- package/skills/cloudflare/references/static-assets/gotchas.md +164 -0
- package/skills/cloudflare/references/static-assets/patterns.md +189 -0
- package/skills/cloudflare/references/stream/README.md +123 -0
- package/skills/cloudflare/references/stream/api-live.md +202 -0
- package/skills/cloudflare/references/stream/api.md +206 -0
- package/skills/cloudflare/references/stream/configuration.md +151 -0
- package/skills/cloudflare/references/stream/gotchas.md +139 -0
- package/skills/cloudflare/references/stream/patterns.md +217 -0
- package/skills/cloudflare/references/tail-workers/README.md +92 -0
- package/skills/cloudflare/references/tail-workers/api.md +203 -0
- package/skills/cloudflare/references/tail-workers/configuration.md +178 -0
- package/skills/cloudflare/references/tail-workers/gotchas.md +206 -0
- package/skills/cloudflare/references/tail-workers/patterns.md +190 -0
- package/skills/cloudflare/references/terraform/README.md +100 -0
- package/skills/cloudflare/references/terraform/api.md +178 -0
- package/skills/cloudflare/references/terraform/configuration.md +197 -0
- package/skills/cloudflare/references/terraform/gotchas.md +150 -0
- package/skills/cloudflare/references/terraform/patterns.md +174 -0
- package/skills/cloudflare/references/tunnel/README.md +137 -0
- package/skills/cloudflare/references/tunnel/api.md +205 -0
- package/skills/cloudflare/references/tunnel/configuration.md +163 -0
- package/skills/cloudflare/references/tunnel/gotchas.md +159 -0
- package/skills/cloudflare/references/tunnel/networking.md +174 -0
- package/skills/cloudflare/references/tunnel/patterns.md +199 -0
- package/skills/cloudflare/references/turn/README.md +86 -0
- package/skills/cloudflare/references/turn/api.md +236 -0
- package/skills/cloudflare/references/turn/configuration.md +181 -0
- package/skills/cloudflare/references/turn/gotchas.md +236 -0
- package/skills/cloudflare/references/turn/patterns.md +228 -0
- package/skills/cloudflare/references/turnstile/README.md +102 -0
- package/skills/cloudflare/references/turnstile/api.md +253 -0
- package/skills/cloudflare/references/turnstile/configuration.md +242 -0
- package/skills/cloudflare/references/turnstile/gotchas.md +253 -0
- package/skills/cloudflare/references/turnstile/patterns.md +195 -0
- package/skills/cloudflare/references/vectorize/README.md +133 -0
- package/skills/cloudflare/references/vectorize/api.md +89 -0
- package/skills/cloudflare/references/vectorize/configuration.md +91 -0
- package/skills/cloudflare/references/vectorize/gotchas.md +83 -0
- package/skills/cloudflare/references/vectorize/patterns.md +92 -0
- package/skills/cloudflare/references/waf/README.md +125 -0
- package/skills/cloudflare/references/waf/api.md +203 -0
- package/skills/cloudflare/references/waf/configuration.md +215 -0
- package/skills/cloudflare/references/waf/gotchas.md +208 -0
- package/skills/cloudflare/references/waf/patterns.md +236 -0
- package/skills/cloudflare/references/web-analytics/README.md +149 -0
- package/skills/cloudflare/references/web-analytics/configuration.md +81 -0
- package/skills/cloudflare/references/web-analytics/gotchas.md +86 -0
- package/skills/cloudflare/references/web-analytics/integration.md +63 -0
- package/skills/cloudflare/references/web-analytics/patterns.md +98 -0
- package/skills/cloudflare/references/workerd/README.md +85 -0
- package/skills/cloudflare/references/workerd/api.md +219 -0
- package/skills/cloudflare/references/workerd/configuration.md +200 -0
- package/skills/cloudflare/references/workerd/gotchas.md +151 -0
- package/skills/cloudflare/references/workerd/patterns.md +205 -0
- package/skills/cloudflare/references/workers/README.md +110 -0
- package/skills/cloudflare/references/workers/api.md +197 -0
- package/skills/cloudflare/references/workers/configuration.md +184 -0
- package/skills/cloudflare/references/workers/frameworks.md +200 -0
- package/skills/cloudflare/references/workers/gotchas.md +145 -0
- package/skills/cloudflare/references/workers/patterns.md +220 -0
- package/skills/cloudflare/references/workers-ai/README.md +206 -0
- package/skills/cloudflare/references/workers-ai/api.md +115 -0
- package/skills/cloudflare/references/workers-ai/configuration.md +98 -0
- package/skills/cloudflare/references/workers-ai/gotchas.md +130 -0
- package/skills/cloudflare/references/workers-ai/patterns.md +122 -0
- package/skills/cloudflare/references/workers-for-platforms/README.md +95 -0
- package/skills/cloudflare/references/workers-for-platforms/api.md +212 -0
- package/skills/cloudflare/references/workers-for-platforms/configuration.md +178 -0
- package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
- package/skills/cloudflare/references/workers-for-platforms/patterns.md +210 -0
- package/skills/cloudflare/references/workers-playground/README.md +131 -0
- package/skills/cloudflare/references/workers-playground/api.md +101 -0
- package/skills/cloudflare/references/workers-playground/configuration.md +169 -0
- package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
- package/skills/cloudflare/references/workers-playground/patterns.md +134 -0
- package/skills/cloudflare/references/workers-vpc/README.md +130 -0
- package/skills/cloudflare/references/workers-vpc/api.md +196 -0
- package/skills/cloudflare/references/workers-vpc/configuration.md +151 -0
- package/skills/cloudflare/references/workers-vpc/gotchas.md +171 -0
- package/skills/cloudflare/references/workers-vpc/patterns.md +235 -0
- package/skills/cloudflare/references/workflows/README.md +72 -0
- package/skills/cloudflare/references/workflows/api.md +237 -0
- package/skills/cloudflare/references/workflows/configuration.md +158 -0
- package/skills/cloudflare/references/workflows/gotchas.md +97 -0
- package/skills/cloudflare/references/workflows/patterns.md +245 -0
- package/skills/cloudflare/references/wrangler/README.md +143 -0
- package/skills/cloudflare/references/wrangler/api.md +188 -0
- package/skills/cloudflare/references/wrangler/configuration.md +198 -0
- package/skills/cloudflare/references/wrangler/gotchas.md +212 -0
- package/skills/cloudflare/references/wrangler/patterns.md +211 -0
- package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +131 -0
- package/skills/cloudflare/references/zaraz/README.md +114 -0
- package/skills/cloudflare/references/zaraz/api.md +118 -0
- package/skills/cloudflare/references/zaraz/configuration.md +94 -0
- package/skills/cloudflare/references/zaraz/gotchas.md +88 -0
- package/skills/cloudflare/references/zaraz/patterns.md +77 -0
- package/skills/docker/SKILL.md +7 -101
- package/skills/docker/references/advanced-examples.md +71 -0
- package/skills/docker/references/templates.md +34 -0
- package/skills/docs-marketer/SKILL.md +178 -0
- package/skills/docs-marketer/references/audit-categories.md +328 -0
- package/skills/docs-marketer/references/copilot-docs-prompts.md +88 -0
- package/skills/docs-marketer/references/copilot-usage.md +16 -0
- package/skills/docs-marketer/references/feedback-loop.md +155 -0
- package/skills/docs-marketer/references/multi-pass-docs-protocol.md +410 -0
- package/skills/drizzle-orm/SKILL.md +82 -0
- package/skills/durable-objects/SKILL.md +167 -0
- package/skills/durable-objects/references/advanced_features.md +29 -0
- package/skills/durable-objects/references/rules.md +300 -0
- package/skills/durable-objects/references/testing.md +261 -0
- package/skills/durable-objects/references/workers.md +336 -0
- package/skills/gcp/SKILL.md +37 -0
- package/skills/github-actions/SKILL.md +5 -58
- package/skills/github-actions/references/templates.md +65 -0
- package/skills/github-commander/SKILL.md +13 -21
- package/skills/github-commander/workflows/copilot-audit.md +12 -12
- package/skills/github-copilot-cli/SKILL.md +21 -26
- package/skills/github-repo-setup/SKILL.md +136 -0
- package/skills/github-repo-setup/references/community-standards.md +136 -0
- package/skills/github-repo-setup/references/github-automation.md +490 -0
- package/skills/github-repo-setup/references/inline-templates.md +205 -0
- package/skills/github-repo-setup/references/project-config.md +320 -0
- package/skills/gitlab/SKILL.md +7 -2
- package/skills/gitlab/package-lock.json +389 -389
- package/skills/golang/SKILL.md +8 -1
- package/skills/graphql/SKILL.md +30 -0
- package/skills/hono/SKILL.md +82 -0
- package/skills/journal-optimizer/SKILL.md +206 -0
- package/skills/journal-optimizer/references/optimizer-scripts.md +169 -0
- package/skills/llm-app-engineering/SKILL.md +18 -0
- package/skills/monorepo/SKILL.md +56 -0
- package/skills/multi-agent-orchestration/SKILL.md +14 -0
- package/skills/mysql/SKILL.md +6 -2
- package/skills/next-best-practices/SKILL.md +86 -0
- package/skills/next-best-practices/references/cache-components-examples.md +234 -0
- package/skills/next-best-practices/references/cache-components.md +210 -0
- package/skills/next-best-practices/references/upgrade-decision-tree.md +33 -0
- package/skills/next-best-practices/references/upgrade.md +43 -0
- package/skills/next-cache-components/SKILL.md +441 -0
- package/skills/next-upgrade/SKILL.md +43 -0
- package/skills/next-upgrade/references/decision-tree.md +33 -0
- package/skills/nodejs/SKILL.md +46 -0
- package/skills/opentelemetry/SKILL.md +62 -0
- package/skills/package.json +39 -4
- package/skills/playwright-standard/SKILL.md +6 -11
- package/skills/playwright-standard/references/locators.md +7 -0
- package/skills/postgres/SKILL.md +6 -1
- package/skills/python/SKILL.md +8 -70
- package/skills/python/references/advanced-patterns.md +37 -0
- package/skills/python/references/config-templates.md +48 -0
- package/skills/rag-pipelines/SKILL.md +14 -0
- package/skills/redis/SKILL.md +31 -0
- package/skills/render/SKILL.md +35 -0
- package/skills/rust/SKILL.md +15 -25
- package/skills/rust/references/borrow-checker.md +13 -0
- package/skills/rust/references/ecosystem.md +11 -0
- package/skills/sandbox-sdk/SKILL.md +186 -0
- package/skills/sandbox-sdk/references/api-quick-ref.md +113 -0
- package/skills/sandbox-sdk/references/examples.md +52 -0
- package/skills/shadcn-ui/SKILL.md +22 -57
- package/skills/skill-builder/SKILL.md +23 -424
- package/skills/skill-builder/references/tutorial.md +457 -0
- package/skills/sqlite/SKILL.md +16 -5
- package/skills/table.md +59 -0
- package/skills/tailwind-css/SKILL.md +11 -60
- package/skills/tailwind-css/references/component-patterns.md +52 -0
- package/skills/trpc/SKILL.md +56 -0
- package/skills/typescript/SKILL.md +30 -433
- package/skills/typescript/references/tutorial.md +453 -0
- package/skills/vercel-ai-sdk/SKILL.md +48 -0
- package/skills/vitest-standard/SKILL.md +5 -11
- package/skills/vitest-standard/references/assertions.md +11 -0
- package/skills/web-perf/SKILL.md +207 -0
- package/skills/workers-best-practices/SKILL.md +120 -0
- package/skills/workers-best-practices/references/anti-patterns.md +18 -0
- package/skills/workers-best-practices/references/review.md +174 -0
- package/skills/workers-best-practices/references/rules.md +485 -0
- package/skills/wrangler/SKILL.md +43 -0
- package/skills/wrangler/references/cli-commands.md +861 -0
- package/skills/zod/SKILL.md +48 -0
- package/dist/tools-P4VGG4FH.js +0 -1
- package/skills/react-best-practices/AGENTS.md +0 -2883
- package/skills/react-best-practices/SKILL.md +0 -138
- /package/skills/{react-best-practices → next-best-practices}/README.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/metadata.json +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/_sections.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/_template.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/advanced-event-handler-refs.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/advanced-init-once.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/advanced-use-latest.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-api-routes.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-defer-await.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-dependencies.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-parallel.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/async-suspense-boundaries.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-barrel-imports.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-conditional.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-defer-third-party.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-dynamic-imports.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/bundle-preload.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-event-listeners.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-localstorage-schema.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-passive-event-listeners.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/client-swr-dedup.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-batch-dom-css.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-function-results.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-property-access.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-storage.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-combine-iterations.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-early-exit.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-hoist-regexp.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-index-maps.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-length-check-first.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-min-max-loop.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-set-map-lookups.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/js-tosorted-immutable.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-activity.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-animate-svg-wrapper.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-conditional-render.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-content-visibility.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hoist-jsx.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-no-flicker.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-suppress-warning.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-svg-precision.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rendering-usetransition-loading.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-defer-reads.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-dependencies.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state-no-effect.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-functional-setstate.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-lazy-state-init.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo-with-default-value.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-move-effect-to-event.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-simple-expression-in-memo.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-transitions.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/rerender-use-ref-transient-values.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-after-nonblocking.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-auth-actions.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-lru.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-react.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-dedup-props.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-parallel-fetching.md +0 -0
- /package/skills/{react-best-practices → next-best-practices}/rules/server-serialization.md +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Zaraz Gotchas
|
|
2
|
+
|
|
3
|
+
## Events Not Firing
|
|
4
|
+
|
|
5
|
+
**Check:**
|
|
6
|
+
|
|
7
|
+
1. Tool enabled in dashboard (green dot)
|
|
8
|
+
2. Trigger conditions met
|
|
9
|
+
3. Consent granted for tool's purpose
|
|
10
|
+
4. Tool credentials correct (GA4: `G-XXXXXXXXXX`, FB: numeric only)
|
|
11
|
+
|
|
12
|
+
**Debug:**
|
|
13
|
+
|
|
14
|
+
```javascript
|
|
15
|
+
zaraz.debug = true
|
|
16
|
+
console.log('Tools:', zaraz.tools)
|
|
17
|
+
console.log('Consent:', zaraz.consent.getAll())
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Consent Issues
|
|
21
|
+
|
|
22
|
+
**Modal not showing:**
|
|
23
|
+
|
|
24
|
+
```javascript
|
|
25
|
+
// Clear consent cookie
|
|
26
|
+
document.cookie = 'zaraz-consent=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'
|
|
27
|
+
location.reload()
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Tools firing before consent:** Map tool to consent purpose with "Do not load until consent granted".
|
|
31
|
+
|
|
32
|
+
## SPA Tracking
|
|
33
|
+
|
|
34
|
+
**Route changes not tracked:**
|
|
35
|
+
|
|
36
|
+
1. Configure History Change trigger in dashboard
|
|
37
|
+
2. Hash routing (`#/path`) requires manual tracking:
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
window.addEventListener('hashchange', () => {
|
|
41
|
+
zaraz.track('pageview', { page_path: location.pathname + location.hash })
|
|
42
|
+
})
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**React fix:**
|
|
46
|
+
|
|
47
|
+
```javascript
|
|
48
|
+
const location = useLocation()
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
zaraz.track('pageview', { page_path: location.pathname })
|
|
51
|
+
}, [location]) // Include dependency
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Performance
|
|
55
|
+
|
|
56
|
+
**Slow page load:**
|
|
57
|
+
|
|
58
|
+
- Audit tool count (50+ degrades performance)
|
|
59
|
+
- Disable blocking triggers unless required
|
|
60
|
+
- Reduce event payload size (<100KB)
|
|
61
|
+
|
|
62
|
+
## Tool-Specific Issues
|
|
63
|
+
|
|
64
|
+
| Tool | Issue | Fix |
|
|
65
|
+
| ---------- | -------------------------- | ------------------------------------ |
|
|
66
|
+
| GA4 | Events not in real-time | Wait 5-10 min, use DebugView |
|
|
67
|
+
| Facebook | Invalid Pixel ID | Use numeric only (no `fbpx_` prefix) |
|
|
68
|
+
| Google Ads | Conversions not attributed | Include `send_to: 'AW-XXX/LABEL'` |
|
|
69
|
+
|
|
70
|
+
## Data Layer
|
|
71
|
+
|
|
72
|
+
- Properties persist per page only - set on each page load
|
|
73
|
+
- Nested access: `{{client.__zarazTrack.user.plan}}`
|
|
74
|
+
|
|
75
|
+
## Limits
|
|
76
|
+
|
|
77
|
+
| Resource | Limit |
|
|
78
|
+
| ---------------- | ------------ |
|
|
79
|
+
| Request size | 100KB |
|
|
80
|
+
| Consent purposes | 20 |
|
|
81
|
+
| API rate | 1000 req/sec |
|
|
82
|
+
|
|
83
|
+
## When NOT to Use Zaraz
|
|
84
|
+
|
|
85
|
+
- Server-to-server tracking (use Workers)
|
|
86
|
+
- Real-time bidirectional communication
|
|
87
|
+
- Binary data transmission
|
|
88
|
+
- Authentication flows
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Zaraz Patterns
|
|
2
|
+
|
|
3
|
+
## SPA Tracking
|
|
4
|
+
|
|
5
|
+
**History Change Trigger (Recommended):** Configure in dashboard - no code needed, Zaraz auto-detects route changes.
|
|
6
|
+
|
|
7
|
+
**Manual tracking (React/Vue/Next.js):**
|
|
8
|
+
|
|
9
|
+
```javascript
|
|
10
|
+
// On route change
|
|
11
|
+
zaraz.track('pageview', { page_path: pathname, page_title: document.title })
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## User Identification
|
|
15
|
+
|
|
16
|
+
```javascript
|
|
17
|
+
// Login
|
|
18
|
+
zaraz.set({ userId: user.id, email: user.email, plan: user.plan })
|
|
19
|
+
zaraz.track('login', { method: 'oauth' })
|
|
20
|
+
|
|
21
|
+
// Logout - set to null (cannot clear)
|
|
22
|
+
zaraz.set('userId', null)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## E-commerce Funnel
|
|
26
|
+
|
|
27
|
+
| Event | Method |
|
|
28
|
+
| ----------- | ------------------------------------------------------------------- |
|
|
29
|
+
| View | `zaraz.ecommerce('Product Viewed', { product_id, name, price })` |
|
|
30
|
+
| Add to cart | `zaraz.ecommerce('Product Added', { product_id, quantity })` |
|
|
31
|
+
| Checkout | `zaraz.ecommerce('Checkout Started', { cart_id, products: [...] })` |
|
|
32
|
+
| Purchase | `zaraz.ecommerce('Order Completed', { order_id, total, products })` |
|
|
33
|
+
|
|
34
|
+
## A/B Testing
|
|
35
|
+
|
|
36
|
+
```javascript
|
|
37
|
+
zaraz.set('experiment_checkout', variant)
|
|
38
|
+
zaraz.track('experiment_viewed', { experiment_id: 'checkout', variant })
|
|
39
|
+
// On conversion
|
|
40
|
+
zaraz.track('experiment_conversion', { experiment_id, variant, value })
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Worker Integration
|
|
44
|
+
|
|
45
|
+
**Context Enricher** - Modify context before tools execute:
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
export default {
|
|
49
|
+
async fetch(request, env) {
|
|
50
|
+
const body = await request.json()
|
|
51
|
+
body.system.userRegion = request.cf?.region
|
|
52
|
+
return Response.json(body)
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Configure: Zaraz > Settings > Context Enrichers
|
|
58
|
+
|
|
59
|
+
**Worker Variables** - Compute dynamic values server-side, use as `{{worker.variable_name}}`.
|
|
60
|
+
|
|
61
|
+
## GTM Migration
|
|
62
|
+
|
|
63
|
+
| GTM | Zaraz |
|
|
64
|
+
| ------------------------------------- | ------------------------------------------- |
|
|
65
|
+
| `dataLayer.push({event: 'purchase'})` | `zaraz.ecommerce('Order Completed', {...})` |
|
|
66
|
+
| `{{Page URL}}` | `{{system.page.url}}` |
|
|
67
|
+
| `{{Page Title}}` | `{{system.page.title}}` |
|
|
68
|
+
| Page View trigger | Pageview trigger |
|
|
69
|
+
| Click trigger | Click (selector: `*`) |
|
|
70
|
+
|
|
71
|
+
## Best Practices
|
|
72
|
+
|
|
73
|
+
1. Use dashboard triggers over inline code
|
|
74
|
+
2. Enable History Change for SPAs (no manual code)
|
|
75
|
+
3. Debug with `zaraz.debug = true`
|
|
76
|
+
4. Implement consent early (GDPR/CCPA)
|
|
77
|
+
5. Use Context Enrichers for sensitive/server data
|
package/skills/docker/SKILL.md
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: docker
|
|
3
3
|
description: |
|
|
4
|
-
Production-grade Docker and container best practices. Use when
|
|
5
|
-
Dockerfiles,
|
|
6
|
-
|
|
7
|
-
Triggers on "Docker", "Dockerfile", "container", "Compose", "BuildKit",
|
|
8
|
-
"multi-stage build", "image size", "docker-compose".
|
|
4
|
+
Production-grade Docker and container best practices. Use when containerizing apps with Docker,
|
|
5
|
+
writing Dockerfiles, or managing Docker Compose environments.
|
|
6
|
+
"multi-stage build", "image size", "docker-compose". Use ONLY when a Dockerfile or container registry is the explicit target for deployment. NOT for serverless or Cloudflare Workers. NOT for generic app deployment without containers. NOT for orchestrating CI/CD pipelines natively (use github-actions instead). Do NOT trigger for generic "deploy my app" requests without clarifying the target platform.
|
|
9
7
|
---
|
|
10
8
|
|
|
11
9
|
# Docker & Container Engineering Standards
|
|
@@ -43,35 +41,7 @@ Place this as the **first line** of every Dockerfile. It enables:
|
|
|
43
41
|
## 2. Multi-Stage Builds (Required for Production)
|
|
44
42
|
|
|
45
43
|
Multi-stage builds are **mandatory** for any production image. They separate build-time dependencies from runtime.
|
|
46
|
-
|
|
47
|
-
```dockerfile
|
|
48
|
-
# syntax=docker/dockerfile:1
|
|
49
|
-
|
|
50
|
-
# ── Stage 1: Build ─────────────────────────────
|
|
51
|
-
FROM node:22-slim AS builder
|
|
52
|
-
WORKDIR /app
|
|
53
|
-
COPY package.json pnpm-lock.yaml ./
|
|
54
|
-
RUN corepack enable && pnpm install --frozen-lockfile
|
|
55
|
-
COPY . .
|
|
56
|
-
RUN pnpm run build
|
|
57
|
-
|
|
58
|
-
# ── Stage 2: Runtime ───────────────────────────
|
|
59
|
-
FROM node:22-slim AS runtime
|
|
60
|
-
WORKDIR /app
|
|
61
|
-
ENV NODE_ENV=production
|
|
62
|
-
|
|
63
|
-
# Create non-root user
|
|
64
|
-
RUN groupadd -r appgroup && useradd -r -g appgroup appuser
|
|
65
|
-
|
|
66
|
-
# Copy ONLY production artifacts
|
|
67
|
-
COPY --from=builder /app/dist ./dist
|
|
68
|
-
COPY --from=builder /app/node_modules ./node_modules
|
|
69
|
-
COPY --from=builder /app/package.json ./
|
|
70
|
-
|
|
71
|
-
USER appuser
|
|
72
|
-
EXPOSE 3000
|
|
73
|
-
CMD ["node", "dist/index.js"]
|
|
74
|
-
```
|
|
44
|
+
See **[templates.md](references/templates.md)** for the full annotated Multi-Stage Build template.
|
|
75
45
|
|
|
76
46
|
### Key Rules
|
|
77
47
|
|
|
@@ -178,75 +148,11 @@ coverage/
|
|
|
178
148
|
- **ALWAYS** exclude `node_modules` — reinstall inside the container
|
|
179
149
|
- **ALWAYS** exclude `.env*` — prevents secret leaks
|
|
180
150
|
|
|
181
|
-
## 5.
|
|
182
|
-
|
|
183
|
-
### Structure
|
|
184
|
-
|
|
185
|
-
```yaml
|
|
186
|
-
# docker-compose.yml
|
|
187
|
-
services:
|
|
188
|
-
app:
|
|
189
|
-
build:
|
|
190
|
-
context: .
|
|
191
|
-
dockerfile: Dockerfile
|
|
192
|
-
target: runtime # Target a specific stage
|
|
193
|
-
ports:
|
|
194
|
-
- '3000:3000'
|
|
195
|
-
environment:
|
|
196
|
-
NODE_ENV: production
|
|
197
|
-
depends_on:
|
|
198
|
-
db:
|
|
199
|
-
condition: service_healthy
|
|
200
|
-
restart: unless-stopped
|
|
201
|
-
|
|
202
|
-
db:
|
|
203
|
-
image: postgres:17-alpine
|
|
204
|
-
volumes:
|
|
205
|
-
- pgdata:/var/lib/postgresql/data
|
|
206
|
-
environment:
|
|
207
|
-
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
|
|
208
|
-
secrets:
|
|
209
|
-
- db_password
|
|
210
|
-
healthcheck:
|
|
211
|
-
test: ['CMD-SHELL', 'pg_isready -U postgres']
|
|
212
|
-
interval: 10s
|
|
213
|
-
timeout: 5s
|
|
214
|
-
retries: 5
|
|
215
|
-
|
|
216
|
-
volumes:
|
|
217
|
-
pgdata:
|
|
218
|
-
|
|
219
|
-
secrets:
|
|
220
|
-
db_password:
|
|
221
|
-
file: ./secrets/db_password.txt
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### Best Practices
|
|
151
|
+
## 5. Advanced Examples & CI/CD
|
|
225
152
|
|
|
226
|
-
|
|
227
|
-
- **Use named volumes** for persistent data — never bind-mount the entire project in production
|
|
228
|
-
- **Use environment files** (`env_file:`) for non-secret config
|
|
229
|
-
- **Use `secrets:`** for credentials — they are mounted as files, not env vars
|
|
230
|
-
- **Pin image versions** — `postgres:17-alpine`, not `postgres:latest`
|
|
231
|
-
|
|
232
|
-
## 6. CI/CD Integration
|
|
233
|
-
|
|
234
|
-
### GitHub Actions Pattern
|
|
235
|
-
|
|
236
|
-
```yaml
|
|
237
|
-
- name: Build and push
|
|
238
|
-
uses: docker/build-push-action@<sha>
|
|
239
|
-
with:
|
|
240
|
-
context: .
|
|
241
|
-
push: true
|
|
242
|
-
tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
|
|
243
|
-
cache-from: type=gha
|
|
244
|
-
cache-to: type=gha,mode=max
|
|
245
|
-
```
|
|
153
|
+
For advanced Docker Compose configurations and GitHub Actions CI/CD workflows, see the reference file:
|
|
246
154
|
|
|
247
|
-
|
|
248
|
-
- **Tag with commit SHA** — never `:latest` for production
|
|
249
|
-
- **Scan before push** — run vulnerability scanning as a build step
|
|
155
|
+
**[Read: references/advanced-examples.md](references/advanced-examples.md)**
|
|
250
156
|
|
|
251
157
|
## 7. Anti-Patterns (Never Do These)
|
|
252
158
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Advanced Docker & Compose Examples
|
|
2
|
+
|
|
3
|
+
## Docker Compose v2
|
|
4
|
+
|
|
5
|
+
### Structure
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
# docker-compose.yml
|
|
9
|
+
services:
|
|
10
|
+
app:
|
|
11
|
+
build:
|
|
12
|
+
context: .
|
|
13
|
+
dockerfile: Dockerfile
|
|
14
|
+
target: runtime # Target a specific stage
|
|
15
|
+
ports:
|
|
16
|
+
- '3000:3000'
|
|
17
|
+
environment:
|
|
18
|
+
NODE_ENV: production
|
|
19
|
+
depends_on:
|
|
20
|
+
db:
|
|
21
|
+
condition: service_healthy
|
|
22
|
+
restart: unless-stopped
|
|
23
|
+
|
|
24
|
+
db:
|
|
25
|
+
image: postgres:17-alpine
|
|
26
|
+
volumes:
|
|
27
|
+
- pgdata:/var/lib/postgresql/data
|
|
28
|
+
environment:
|
|
29
|
+
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
|
|
30
|
+
secrets:
|
|
31
|
+
- db_password
|
|
32
|
+
healthcheck:
|
|
33
|
+
test: ['CMD-SHELL', 'pg_isready -U postgres']
|
|
34
|
+
interval: 10s
|
|
35
|
+
timeout: 5s
|
|
36
|
+
retries: 5
|
|
37
|
+
|
|
38
|
+
volumes:
|
|
39
|
+
pgdata:
|
|
40
|
+
|
|
41
|
+
secrets:
|
|
42
|
+
db_password:
|
|
43
|
+
file: ./secrets/db_password.txt
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Best Practices
|
|
47
|
+
|
|
48
|
+
- **Use `depends_on` with health checks** — not just service start order
|
|
49
|
+
- **Use named volumes** for persistent data — never bind-mount the entire project in production
|
|
50
|
+
- **Use environment files** (`env_file:`) for non-secret config
|
|
51
|
+
- **Use `secrets:`** for credentials — they are mounted as files, not env vars
|
|
52
|
+
- **Pin image versions** — `postgres:17-alpine`, not `postgres:latest`
|
|
53
|
+
|
|
54
|
+
## CI/CD Integration
|
|
55
|
+
|
|
56
|
+
### GitHub Actions Pattern
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
- name: Build and push
|
|
60
|
+
uses: docker/build-push-action@<sha>
|
|
61
|
+
with:
|
|
62
|
+
context: .
|
|
63
|
+
push: true
|
|
64
|
+
tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
|
|
65
|
+
cache-from: type=gha
|
|
66
|
+
cache-to: type=gha,mode=max
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
- **Use GitHub Actions cache** (`type=gha`) for CI builds
|
|
70
|
+
- **Tag with commit SHA** — never `:latest` for production
|
|
71
|
+
- **Scan before push** — run vulnerability scanning as a build step
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Docker Templates
|
|
2
|
+
|
|
3
|
+
## Multi-Stage Build
|
|
4
|
+
|
|
5
|
+
Multi-stage builds are **mandatory** for any production image. They separate build-time dependencies from runtime.
|
|
6
|
+
|
|
7
|
+
```dockerfile
|
|
8
|
+
# syntax=docker/dockerfile:1
|
|
9
|
+
|
|
10
|
+
# ── Stage 1: Build ─────────────────────────────
|
|
11
|
+
FROM node:22-slim AS builder
|
|
12
|
+
WORKDIR /app
|
|
13
|
+
COPY package.json pnpm-lock.yaml ./
|
|
14
|
+
RUN corepack enable && pnpm install --frozen-lockfile
|
|
15
|
+
COPY . .
|
|
16
|
+
RUN pnpm run build
|
|
17
|
+
|
|
18
|
+
# ── Stage 2: Runtime ───────────────────────────
|
|
19
|
+
FROM node:22-slim AS runtime
|
|
20
|
+
WORKDIR /app
|
|
21
|
+
ENV NODE_ENV=production
|
|
22
|
+
|
|
23
|
+
# Create non-root user
|
|
24
|
+
RUN groupadd -r appgroup && useradd -r -g appgroup appuser
|
|
25
|
+
|
|
26
|
+
# Copy ONLY production artifacts
|
|
27
|
+
COPY --from=builder /app/dist ./dist
|
|
28
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
29
|
+
COPY --from=builder /app/package.json ./
|
|
30
|
+
|
|
31
|
+
USER appuser
|
|
32
|
+
EXPOSE 3000
|
|
33
|
+
CMD ["node", "dist/index.js"]
|
|
34
|
+
```
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-marketer
|
|
3
|
+
description: |
|
|
4
|
+
Documentation marketability audit for repository README, Docker Hub README,
|
|
5
|
+
Wiki, and registry listings. Evaluates feature visibility, first impressions,
|
|
6
|
+
competitive differentiation, onboarding friction, and cross-document
|
|
7
|
+
consistency. Use when improving README quality, surfacing under-marketed
|
|
8
|
+
features, preparing docs for a launch, or when the user says "improve my
|
|
9
|
+
README", "market my docs", "make my docs better", "README audit",
|
|
10
|
+
"under-marketed features", "improve discoverability", or "README review".
|
|
11
|
+
NOT for structural compliance or source-of-truth parity (use /doc-audit).
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Docs Marketer
|
|
15
|
+
|
|
16
|
+
A documentation marketability audit system that evaluates whether accurate
|
|
17
|
+
documentation is _effectively marketed_. While `/doc-audit` answers "are the
|
|
18
|
+
docs correct?", this skill answers "are the docs compelling?"
|
|
19
|
+
|
|
20
|
+
Surfaces under-promoted features, evaluates first impressions, identifies
|
|
21
|
+
onboarding friction, and scores competitive differentiation across all
|
|
22
|
+
documentation surfaces (README, Docker Hub, Wiki, MCP Registry, npm).
|
|
23
|
+
|
|
24
|
+
## When to Load
|
|
25
|
+
|
|
26
|
+
Load this skill when any of these apply:
|
|
27
|
+
|
|
28
|
+
- Improving documentation to better market a project's capabilities
|
|
29
|
+
- Preparing documentation for a product launch or major release
|
|
30
|
+
- Auditing whether powerful features are adequately surfaced in docs
|
|
31
|
+
- Evaluating README first impressions and competitive positioning
|
|
32
|
+
- Reviewing documentation tone, voice, and consistency across surfaces
|
|
33
|
+
- The user asks to "improve my README", "market my docs", "what features am
|
|
34
|
+
I under-marketing", "make my docs more compelling", "README review",
|
|
35
|
+
"audit my docs for marketing", or "improve discoverability"
|
|
36
|
+
|
|
37
|
+
**Do NOT load** for:
|
|
38
|
+
|
|
39
|
+
- Structural compliance checks (use `/doc-audit` instead)
|
|
40
|
+
- Source-of-truth parity against source code (use `/doc-audit` instead)
|
|
41
|
+
- Code quality audits (use `adversarial-performance` or `autonomous-dev`)
|
|
42
|
+
|
|
43
|
+
## Target Resolution
|
|
44
|
+
|
|
45
|
+
Before starting, resolve which repository to audit. If the user did not
|
|
46
|
+
specify a repository:
|
|
47
|
+
|
|
48
|
+
1. **Check workspace context** — look at the active workspace roots and any
|
|
49
|
+
`PROJECT_REGISTRY` configuration. If there is exactly one candidate
|
|
50
|
+
repository, use it.
|
|
51
|
+
2. **Infer from conversation** — if the user recently discussed a specific
|
|
52
|
+
project or the briefing identifies an active repository, prefer that.
|
|
53
|
+
3. **Ask the user** — if the target is still ambiguous (e.g., multiple
|
|
54
|
+
registered workspaces, no clear context), ask which repository to audit
|
|
55
|
+
before proceeding. Do not guess.
|
|
56
|
+
|
|
57
|
+
Once resolved, confirm the target repository and its absolute path in your
|
|
58
|
+
first output so the user can verify before the audit begins.
|
|
59
|
+
|
|
60
|
+
## Audit Modes
|
|
61
|
+
|
|
62
|
+
### Standard Mode (Default)
|
|
63
|
+
|
|
64
|
+
Single-pass structured audit. Agent A (The Marketer) inventories all
|
|
65
|
+
documentation surfaces, scores each against 10 categories, and produces a
|
|
66
|
+
prioritized improvement plan. Fast and practical — best for routine docs
|
|
67
|
+
reviews.
|
|
68
|
+
|
|
69
|
+
### Adversarial Mode (`AUDIT_DEPTH: adversarial`)
|
|
70
|
+
|
|
71
|
+
Full dual-agent pipeline. After Agent A's baseline profile, Agent B (The
|
|
72
|
+
Skeptical Reader) simulates a developer discovering the project for the first
|
|
73
|
+
time — evaluating the 30-second impression, identifying friction, and
|
|
74
|
+
challenging marketing claims. Produces deeper insights at the cost of more
|
|
75
|
+
time and tokens.
|
|
76
|
+
|
|
77
|
+
## Audit Categories
|
|
78
|
+
|
|
79
|
+
The 10 marketability categories evaluated per document surface:
|
|
80
|
+
|
|
81
|
+
| # | Category | Focus |
|
|
82
|
+
| --- | --------------------------- | --------------------------------------------------------- |
|
|
83
|
+
| 1 | Feature Visibility | Are all capabilities discoverable in docs? |
|
|
84
|
+
| 2 | First Impression | Does the repo sell itself in the first 30 seconds? |
|
|
85
|
+
| 3 | Information Architecture | Heading hierarchy, scannability, progressive disclosure |
|
|
86
|
+
| 4 | Visual Assets | Mermaid diagrams, badges, screenshots, callouts |
|
|
87
|
+
| 5 | Competitive Differentiation | Does the value proposition clearly stand out? |
|
|
88
|
+
| 6 | Onboarding Friction | Quick Start clarity, copy-paste readiness |
|
|
89
|
+
| 7 | Platform Presence | Docker Hub, npm, MCP Registry, GitHub description/topics |
|
|
90
|
+
| 8 | Cross-Document Consistency | Feature counts, naming, version alignment across surfaces |
|
|
91
|
+
| 9 | Tone & Voice | Confident, consistent, audience-appropriate |
|
|
92
|
+
| 10 | SEO & Discoverability | Keywords, GitHub topics, heading keyword density |
|
|
93
|
+
|
|
94
|
+
For the full rubric with scoring guides, checklists, and anti-patterns, read
|
|
95
|
+
[references/audit-categories.md](references/audit-categories.md).
|
|
96
|
+
|
|
97
|
+
## Adversarial Protocol
|
|
98
|
+
|
|
99
|
+
This skill follows the standard dual-agent adversarial pattern (Agent A: The
|
|
100
|
+
Marketer, Agent B: The Skeptical Reader) when `AUDIT_DEPTH` is set to
|
|
101
|
+
`adversarial`.
|
|
102
|
+
|
|
103
|
+
For the core pipeline rules, phase definitions, and agent switching protocols,
|
|
104
|
+
read:
|
|
105
|
+
**[../adversarial-security/references/adversarial-base-protocol.md](../adversarial-security/references/adversarial-base-protocol.md)**
|
|
106
|
+
|
|
107
|
+
For the docs-marketer-specific protocol with scoring, templates, and the
|
|
108
|
+
Skeptical Reader review dimensions, read:
|
|
109
|
+
**[references/multi-pass-docs-protocol.md](references/multi-pass-docs-protocol.md)**
|
|
110
|
+
|
|
111
|
+
## External Validation (Phase 4)
|
|
112
|
+
|
|
113
|
+
Phase 4 triggers an independent validation pass using the GitHub CLI
|
|
114
|
+
(`gh copilot`). The `copilot` subcommand is built into modern `gh` CLI — no
|
|
115
|
+
separate extension is needed. This provides a fundamentally different model's
|
|
116
|
+
perspective on documentation quality, catching marketing blind spots that
|
|
117
|
+
internal review normalizes.
|
|
118
|
+
|
|
119
|
+
For prompts, read
|
|
120
|
+
[references/copilot-docs-prompts.md](references/copilot-docs-prompts.md).
|
|
121
|
+
|
|
122
|
+
**Prerequisites:** `gh` CLI v2.x+ with `gh auth status` passing. If
|
|
123
|
+
`gh copilot` is not available, skip Phase 4 gracefully and note the skip in
|
|
124
|
+
the journal entry.
|
|
125
|
+
|
|
126
|
+
Read [references/copilot-usage.md](references/copilot-usage.md) for critical
|
|
127
|
+
non-interactive execution requirements.
|
|
128
|
+
|
|
129
|
+
## Feedback Loop
|
|
130
|
+
|
|
131
|
+
Every phase creates a journal entry for future retrieval. For templates and
|
|
132
|
+
tag conventions, read
|
|
133
|
+
[references/feedback-loop.md](references/feedback-loop.md).
|
|
134
|
+
|
|
135
|
+
## Prompt Improvement
|
|
136
|
+
|
|
137
|
+
If during any phase you notice an opportunity to improve the audit — a
|
|
138
|
+
category checklist that missed an important signal, a Copilot prompt that
|
|
139
|
+
produced weak results, or a scoring rubric that didn't capture real quality
|
|
140
|
+
differences — note it as a `### Prompt Improvement Opportunity` in your
|
|
141
|
+
journal entry for that phase. Include:
|
|
142
|
+
|
|
143
|
+
- **What happened**: The specific gap or weak result
|
|
144
|
+
- **Suggested fix**: Concrete wording change, new checklist item, or
|
|
145
|
+
revised prompt
|
|
146
|
+
- **Category affected**: Which of the 10 categories or Copilot prompts
|
|
147
|
+
|
|
148
|
+
These observations accumulate in the journal and inform future skill
|
|
149
|
+
refinement cycles via `skill-builder`.
|
|
150
|
+
|
|
151
|
+
## Configuration
|
|
152
|
+
|
|
153
|
+
| Variable | Default | Description |
|
|
154
|
+
| -------------------- | ---------- | -------------------------------------------------------------------------- |
|
|
155
|
+
| `AUDIT_DEPTH` | `standard` | Depth: `standard` (single-pass) or `adversarial` (dual-agent) |
|
|
156
|
+
| `MAX_AUDIT_PASSES` | `2` | Maximum adversarial cycles (phases 2–3 repeat). Ignored in standard mode. |
|
|
157
|
+
| `COPILOT_VALIDATION` | `true` | Enable/disable Copilot extension validation phase |
|
|
158
|
+
| `TARGET_DOCS` | `auto` | Auto-detect surfaces or explicit list (e.g., `README.md,DOCKER_README.md`) |
|
|
159
|
+
|
|
160
|
+
### Audit Depth Profiles
|
|
161
|
+
|
|
162
|
+
- **Standard**: All 10 categories scored per surface. Agent A only. Best for
|
|
163
|
+
routine checks and quick improvement passes. Produces a prioritized
|
|
164
|
+
improvement plan directly.
|
|
165
|
+
- **Adversarial**: Full dual-agent pipeline with Skeptical Reader stress
|
|
166
|
+
testing. Agent B simulates first-time discovery, competitive evaluation,
|
|
167
|
+
and friction audits. Best for launch preparation, major releases, or when
|
|
168
|
+
you want the deepest analysis.
|
|
169
|
+
|
|
170
|
+
## Synergies
|
|
171
|
+
|
|
172
|
+
| Skill/Workflow | Relationship |
|
|
173
|
+
| -------------------------------- | --------------------------------------------------------------------------- |
|
|
174
|
+
| `/doc-audit` | Structural compliance — run first, then `docs-marketer` for marketing |
|
|
175
|
+
| `skill-builder` | Defines quality standards for skill docs; this skill applies marketing lens |
|
|
176
|
+
| `adversarial-planner` | Parent adversarial pattern — plan-level review |
|
|
177
|
+
| `adversarial-skill-audit` | Sibling — audits skill quality; this audits doc marketability |
|
|
178
|
+
| MCP Documentation Standards (KI) | Badge standards, wiki structure, release notes patterns |
|