memory-journal-mcp 7.7.1 → 8.0.1
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-ARLYSFSI.js → chunk-UHSO65A4.js} +4242 -6092
- package/dist/{chunk-6LPTBIB6.js → chunk-V3UTFQQK.js} +318 -4330
- 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 +6 -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,149 @@
|
|
|
1
|
+
# Cloudflare Web Analytics
|
|
2
|
+
|
|
3
|
+
Privacy-first web analytics providing Core Web Vitals, traffic metrics, and user insights without compromising visitor privacy.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Cloudflare Web Analytics provides:
|
|
8
|
+
|
|
9
|
+
- **Core Web Vitals** - LCP, FID, CLS, INP, TTFB monitoring
|
|
10
|
+
- **Page views & visits** - Traffic patterns without cookies
|
|
11
|
+
- **Referrers & paths** - Traffic sources and popular pages
|
|
12
|
+
- **Device & browser data** - User agent breakdown
|
|
13
|
+
- **Geographic data** - Country-level visitor distribution
|
|
14
|
+
- **Privacy-first** - No cookies, fingerprinting, or PII collection
|
|
15
|
+
- **Free** - No cost, unlimited pageviews
|
|
16
|
+
|
|
17
|
+
**Important:** Web Analytics is **dashboard-only**. No API exists for programmatic data access.
|
|
18
|
+
|
|
19
|
+
## Quick Start Decision Tree
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Is your site proxied through Cloudflare?
|
|
23
|
+
├─ YES → Use automatic injection (configuration.md)
|
|
24
|
+
│ ├─ Enable auto-injection in dashboard
|
|
25
|
+
│ └─ No code changes needed (unless Cache-Control: no-transform)
|
|
26
|
+
│
|
|
27
|
+
└─ NO → Use manual beacon integration (integration.md)
|
|
28
|
+
├─ Add JS snippet to HTML
|
|
29
|
+
├─ Use spa: true for React/Vue/Next.js
|
|
30
|
+
└─ Configure CSP if needed
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Reading Order
|
|
34
|
+
|
|
35
|
+
1. **[configuration.md](configuration.md)** - Setup for proxied vs non-proxied sites
|
|
36
|
+
2. **[integration.md](integration.md)** - Framework-specific beacon integration (React, Next.js, Vue, Nuxt, etc.)
|
|
37
|
+
3. **[patterns.md](patterns.md)** - Common use cases (performance monitoring, GDPR consent, multi-site tracking)
|
|
38
|
+
4. **[gotchas.md](gotchas.md)** - Troubleshooting (SPA tracking, CSP issues, hash routing limitations)
|
|
39
|
+
|
|
40
|
+
## When to Use Each File
|
|
41
|
+
|
|
42
|
+
- **Setting up for first time?** → Start with configuration.md
|
|
43
|
+
- **Using React/Next.js/Vue/Nuxt?** → Go to integration.md for framework code
|
|
44
|
+
- **Need GDPR consent loading?** → See patterns.md
|
|
45
|
+
- **Beacon not loading or no data?** → Check gotchas.md
|
|
46
|
+
- **SPA not tracking navigation?** → See integration.md for `spa: true` config
|
|
47
|
+
|
|
48
|
+
## Key Concepts
|
|
49
|
+
|
|
50
|
+
### Proxied vs Non-Proxied Sites
|
|
51
|
+
|
|
52
|
+
| Type | Description | Beacon Injection | Limit |
|
|
53
|
+
| --------------- | ------------------------------------- | ------------------- | ------------ |
|
|
54
|
+
| **Proxied** | DNS through Cloudflare (orange cloud) | Automatic or manual | Unlimited |
|
|
55
|
+
| **Non-proxied** | External hosting, manual beacon | Manual only | 10 sites max |
|
|
56
|
+
|
|
57
|
+
### SPA Mode
|
|
58
|
+
|
|
59
|
+
**Critical for modern frameworks:**
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{ "token": "YOUR_TOKEN", "spa": true }
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Without `spa: true`, client-side navigation (React Router, Vue Router, Next.js routing) will NOT be tracked. Only initial page loads will register.
|
|
66
|
+
|
|
67
|
+
### CSP Requirements
|
|
68
|
+
|
|
69
|
+
If using Content Security Policy, allow both domains:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
script-src https://static.cloudflareinsights.com https://cloudflareinsights.com;
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Features
|
|
76
|
+
|
|
77
|
+
### Core Web Vitals Debugging
|
|
78
|
+
|
|
79
|
+
- **LCP (Largest Contentful Paint)** - Identifies slow-loading hero images/elements
|
|
80
|
+
- **FID (First Input Delay)** - Interaction responsiveness (legacy metric)
|
|
81
|
+
- **INP (Interaction to Next Paint)** - Modern interaction responsiveness metric
|
|
82
|
+
- **CLS (Cumulative Layout Shift)** - Visual stability issues
|
|
83
|
+
- **TTFB (Time to First Byte)** - Server response performance
|
|
84
|
+
|
|
85
|
+
Dashboard shows top 5 problematic elements with CSS selectors for debugging.
|
|
86
|
+
|
|
87
|
+
### Traffic Filters
|
|
88
|
+
|
|
89
|
+
- **Bot filtering** - Exclude automated traffic from metrics
|
|
90
|
+
- **Date ranges** - Custom time period analysis
|
|
91
|
+
- **Geographic** - Country-level filtering
|
|
92
|
+
- **Device type** - Desktop, mobile, tablet breakdown
|
|
93
|
+
- **Browser/OS** - User agent filtering
|
|
94
|
+
|
|
95
|
+
### Rules (Advanced - Plan-dependent)
|
|
96
|
+
|
|
97
|
+
Create custom tracking rules for advanced configurations:
|
|
98
|
+
|
|
99
|
+
**Sample Rate Rules:**
|
|
100
|
+
|
|
101
|
+
- Reduce data collection percentage for high-traffic sites
|
|
102
|
+
- Example: Track only 50% of visitors to reduce volume
|
|
103
|
+
|
|
104
|
+
**Path-Based Rules:**
|
|
105
|
+
|
|
106
|
+
- Different behavior per route
|
|
107
|
+
- Example: Exclude `/admin/*` or `/internal/*` from tracking
|
|
108
|
+
|
|
109
|
+
**Host-Based Rules:**
|
|
110
|
+
|
|
111
|
+
- Multi-domain configurations
|
|
112
|
+
- Example: Separate tracking for staging vs production subdomains
|
|
113
|
+
|
|
114
|
+
**Availability:** Rules feature depends on your Cloudflare plan. Check dashboard under Web Analytics → Rules to see if available. Free plans may have limited or no access.
|
|
115
|
+
|
|
116
|
+
## Plan Limits
|
|
117
|
+
|
|
118
|
+
| Feature | Free | Notes |
|
|
119
|
+
| ----------------- | -------------- | ---------------------- |
|
|
120
|
+
| Proxied sites | Unlimited | DNS through Cloudflare |
|
|
121
|
+
| Non-proxied sites | 10 | External hosting |
|
|
122
|
+
| Pageviews | Unlimited | No volume limits |
|
|
123
|
+
| Data retention | 6 months | Rolling window |
|
|
124
|
+
| Rules | Plan-dependent | Check dashboard |
|
|
125
|
+
|
|
126
|
+
## Privacy & Compliance
|
|
127
|
+
|
|
128
|
+
- **No cookies** - Zero client-side storage
|
|
129
|
+
- **No fingerprinting** - No tracking across sites
|
|
130
|
+
- **No PII** - IP addresses not stored
|
|
131
|
+
- **GDPR-friendly** - Minimal data collection
|
|
132
|
+
- **CCPA-compliant** - No personal data sale
|
|
133
|
+
|
|
134
|
+
**EU opt-out:** Dashboard option to exclude EU visitor data entirely.
|
|
135
|
+
|
|
136
|
+
## Limitations
|
|
137
|
+
|
|
138
|
+
- **Dashboard-only** - No API for programmatic access
|
|
139
|
+
- **No real-time** - 5-10 minute data delay
|
|
140
|
+
- **No custom events** - Automatic pageview/navigation tracking only
|
|
141
|
+
- **History API only** - Hash-based routing (`#/path`) not supported
|
|
142
|
+
- **No session replay** - Metrics only, no user recordings
|
|
143
|
+
- **No form tracking** - Page navigation tracking only
|
|
144
|
+
|
|
145
|
+
## See Also
|
|
146
|
+
|
|
147
|
+
- [Cloudflare Web Analytics Docs](https://developers.cloudflare.com/analytics/web-analytics/)
|
|
148
|
+
- [Core Web Vitals Guide](https://web.dev/vitals/)
|
|
149
|
+
- [GraphQL Analytics API Reference](../graphql-api/) - Query server-side analytics (HTTP, Workers, DNS, Firewall, etc.) via GraphQL
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Configuration
|
|
2
|
+
|
|
3
|
+
## Setup Methods
|
|
4
|
+
|
|
5
|
+
### Proxied Sites (Automatic)
|
|
6
|
+
|
|
7
|
+
Dashboard → Web Analytics → Add site → Select hostname → Done
|
|
8
|
+
|
|
9
|
+
| Injection Option | Description |
|
|
10
|
+
| -------------------------- | -------------------------------------- |
|
|
11
|
+
| Enable | Auto-inject for all visitors (default) |
|
|
12
|
+
| Enable, excluding EU | No injection for EU (GDPR) |
|
|
13
|
+
| Enable with manual snippet | You add beacon manually |
|
|
14
|
+
| Disable | Pause tracking |
|
|
15
|
+
|
|
16
|
+
**Fails if response has:** `Cache-Control: public, no-transform`
|
|
17
|
+
|
|
18
|
+
**CSP required:**
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
script-src https://static.cloudflareinsights.com https://cloudflareinsights.com;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Non-Proxied Sites (Manual)
|
|
25
|
+
|
|
26
|
+
Dashboard → Web Analytics → Add site → Enter hostname → Copy snippet
|
|
27
|
+
|
|
28
|
+
```html
|
|
29
|
+
<script
|
|
30
|
+
defer
|
|
31
|
+
src="https://static.cloudflareinsights.com/beacon.min.js"
|
|
32
|
+
data-cf-beacon='{"token": "YOUR_TOKEN", "spa": true}'
|
|
33
|
+
></script>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Limits:** 10 non-proxied sites per account
|
|
37
|
+
|
|
38
|
+
## SPA Mode
|
|
39
|
+
|
|
40
|
+
**Enable `spa: true` for:** React Router, Next.js, Vue Router, Nuxt, SvelteKit, Angular
|
|
41
|
+
|
|
42
|
+
**Keep `spa: false` for:** Traditional multi-page apps, static sites, WordPress
|
|
43
|
+
|
|
44
|
+
**Hash routing (`#/path`) NOT supported** - use History API routing.
|
|
45
|
+
|
|
46
|
+
## Token Management
|
|
47
|
+
|
|
48
|
+
- Found in: Dashboard → Web Analytics → Manage site
|
|
49
|
+
- **Not secrets** - domain-locked, safe to expose in HTML
|
|
50
|
+
- Each site gets unique token
|
|
51
|
+
|
|
52
|
+
## Environment Config
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
// Only load in production
|
|
56
|
+
if (process.env.NODE_ENV === 'production') {
|
|
57
|
+
// Load beacon
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Or use environment-specific tokens via env vars.
|
|
62
|
+
|
|
63
|
+
## Verify Installation
|
|
64
|
+
|
|
65
|
+
1. DevTools Network → filter `cloudflareinsights` → see `beacon.min.js` + data request
|
|
66
|
+
2. No CSP/CORS errors in console
|
|
67
|
+
3. Dashboard shows pageviews after 5-10 min delay
|
|
68
|
+
|
|
69
|
+
## Rules (Plan-dependent)
|
|
70
|
+
|
|
71
|
+
Configure in dashboard for:
|
|
72
|
+
|
|
73
|
+
- **Sample rate** - reduce collection % for high-traffic
|
|
74
|
+
- **Path-based** - different behavior per route
|
|
75
|
+
- **Host-based** - separate tracking per domain
|
|
76
|
+
|
|
77
|
+
## Data Retention
|
|
78
|
+
|
|
79
|
+
- 6 months rolling window
|
|
80
|
+
- 1-hour bucket granularity
|
|
81
|
+
- No raw export, dashboard only
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Web Analytics Gotchas
|
|
2
|
+
|
|
3
|
+
## Critical Issues
|
|
4
|
+
|
|
5
|
+
### SPA Navigation Not Tracked
|
|
6
|
+
|
|
7
|
+
**Symptom:** Only initial pageload counted
|
|
8
|
+
**Fix:** Add `spa: true`:
|
|
9
|
+
|
|
10
|
+
```html
|
|
11
|
+
<script data-cf-beacon='{"token": "TOKEN", "spa": true}' ...></script>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### CSP Blocking Beacon
|
|
15
|
+
|
|
16
|
+
**Symptom:** Console error "Refused to load script"
|
|
17
|
+
**Fix:** Allow both domains:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
script-src 'self' https://static.cloudflareinsights.com https://cloudflareinsights.com;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Hash-Based Routing Unsupported
|
|
24
|
+
|
|
25
|
+
**Symptom:** `#/path` URLs not tracked
|
|
26
|
+
**Fix:** Migrate to History API (`BrowserRouter`, not `HashRouter`). No workaround for hash routing.
|
|
27
|
+
|
|
28
|
+
### No Data Appearing
|
|
29
|
+
|
|
30
|
+
**Causes & Fixes:**
|
|
31
|
+
|
|
32
|
+
1. **Delay** - Wait 5-15 minutes
|
|
33
|
+
2. **Wrong token** - Verify matches dashboard exactly
|
|
34
|
+
3. **Script blocked** - Check DevTools Network tab for beacon.min.js
|
|
35
|
+
4. **Domain mismatch** - Dashboard site must match actual URL
|
|
36
|
+
|
|
37
|
+
### Auto-Injection Fails
|
|
38
|
+
|
|
39
|
+
**Cause:** `Cache-Control: no-transform` header
|
|
40
|
+
**Fix:** Remove `no-transform` or install beacon manually
|
|
41
|
+
|
|
42
|
+
### Duplicate Pageviews
|
|
43
|
+
|
|
44
|
+
**Cause:** Multiple beacon scripts
|
|
45
|
+
**Fix:** Keep only one beacon per page
|
|
46
|
+
|
|
47
|
+
## Configuration Issues
|
|
48
|
+
|
|
49
|
+
| Issue | Fix |
|
|
50
|
+
| --------------------- | ------------------------------------------------ |
|
|
51
|
+
| 10-site limit reached | Delete old sites or proxy through CF (unlimited) |
|
|
52
|
+
| Token not recognized | Use exact alphanumeric token from dashboard |
|
|
53
|
+
|
|
54
|
+
## Framework-Specific
|
|
55
|
+
|
|
56
|
+
### Next.js Hydration Warning
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
<script suppressHydrationWarning ... />
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Gatsby Window Undefined
|
|
63
|
+
|
|
64
|
+
Use `gatsby-browser.js` to load client-side only.
|
|
65
|
+
|
|
66
|
+
## Limits
|
|
67
|
+
|
|
68
|
+
| Resource | Limit |
|
|
69
|
+
| ----------------- | --------------------- |
|
|
70
|
+
| Non-proxied sites | 10 |
|
|
71
|
+
| Proxied sites | Unlimited |
|
|
72
|
+
| Data retention | 6 months |
|
|
73
|
+
| Ingestion delay | 5-10 min |
|
|
74
|
+
| API access | None (dashboard only) |
|
|
75
|
+
|
|
76
|
+
## When NOT to Use Web Analytics
|
|
77
|
+
|
|
78
|
+
Use alternatives if you need:
|
|
79
|
+
|
|
80
|
+
- Custom event tracking
|
|
81
|
+
- Real-time data
|
|
82
|
+
- User-level tracking
|
|
83
|
+
- Conversion funnels
|
|
84
|
+
- Data export/API access
|
|
85
|
+
|
|
86
|
+
**Web Analytics excels at:** Core Web Vitals, basic traffic, privacy compliance, free unlimited pageviews.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Framework Integration
|
|
2
|
+
|
|
3
|
+
**Web Analytics is dashboard-only** - no programmatic API. This covers beacon integration.
|
|
4
|
+
|
|
5
|
+
## Basic HTML
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<script
|
|
9
|
+
defer
|
|
10
|
+
src="https://static.cloudflareinsights.com/beacon.min.js"
|
|
11
|
+
data-cf-beacon='{"token": "YOUR_TOKEN", "spa": true}'
|
|
12
|
+
></script>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Place before closing `</body>` tag.
|
|
16
|
+
|
|
17
|
+
## Framework Examples
|
|
18
|
+
|
|
19
|
+
| Framework | Location | Notes |
|
|
20
|
+
| ------------------ | -------------------------- | ------------------------------------------ |
|
|
21
|
+
| React/Vite | `public/index.html` | Add `spa: true` |
|
|
22
|
+
| Next.js App Router | `app/layout.tsx` | Use `<Script strategy="afterInteractive">` |
|
|
23
|
+
| Next.js Pages | `pages/_document.tsx` | Use `<Script>` |
|
|
24
|
+
| Nuxt 3 | `app.vue` with `useHead()` | Or use plugin |
|
|
25
|
+
| Vue 3/Vite | `index.html` | Add `spa: true` |
|
|
26
|
+
| Gatsby | `gatsby-browser.js` | `onClientEntry` hook |
|
|
27
|
+
| SvelteKit | `src/app.html` | Before `</body>` |
|
|
28
|
+
| Astro | Layout component | Before `</body>` |
|
|
29
|
+
| Angular | `src/index.html` | Add `spa: true` |
|
|
30
|
+
| Docusaurus | `docusaurus.config.js` | In `scripts` array |
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"token": "YOUR_TOKEN",
|
|
37
|
+
"spa": true
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Use `spa: true` for:** React Router, Vue Router, Next.js, Nuxt, Gatsby, SvelteKit, Angular
|
|
42
|
+
|
|
43
|
+
**Use `spa: false` for:** Traditional server-rendered (PHP, Django, Rails, WordPress)
|
|
44
|
+
|
|
45
|
+
## CSP Headers
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
script-src 'self' https://static.cloudflareinsights.com;
|
|
49
|
+
connect-src 'self' https://cloudflareinsights.com;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## GDPR Consent
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
// Load conditionally based on consent
|
|
56
|
+
if (localStorage.getItem('analytics-consent') === 'true') {
|
|
57
|
+
const script = document.createElement('script')
|
|
58
|
+
script.src = 'https://static.cloudflareinsights.com/beacon.min.js'
|
|
59
|
+
script.defer = true
|
|
60
|
+
script.setAttribute('data-cf-beacon', '{"token": "YOUR_TOKEN", "spa": true}')
|
|
61
|
+
document.body.appendChild(script)
|
|
62
|
+
}
|
|
63
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Web Analytics Patterns
|
|
2
|
+
|
|
3
|
+
## Core Web Vitals Debugging
|
|
4
|
+
|
|
5
|
+
Dashboard → Core Web Vitals → Click metric → Debug View shows top 5 problematic elements.
|
|
6
|
+
|
|
7
|
+
### LCP Fixes
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<!-- Priority hints -->
|
|
11
|
+
<img src="hero.jpg" loading="eager" fetchpriority="high" />
|
|
12
|
+
<link rel="preload" as="image" href="/hero.jpg" fetchpriority="high" />
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### CLS Fixes
|
|
16
|
+
|
|
17
|
+
```css
|
|
18
|
+
/* Reserve space */
|
|
19
|
+
.ad-container {
|
|
20
|
+
min-height: 250px;
|
|
21
|
+
}
|
|
22
|
+
img {
|
|
23
|
+
width: 400px;
|
|
24
|
+
height: 300px;
|
|
25
|
+
} /* Explicit dimensions */
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### INP Fixes
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
// Debounce expensive operations
|
|
32
|
+
const handleInput = debounce(search, 300)
|
|
33
|
+
|
|
34
|
+
// Yield to main thread
|
|
35
|
+
await task()
|
|
36
|
+
await new Promise((r) => setTimeout(r, 0))
|
|
37
|
+
await task2()
|
|
38
|
+
|
|
39
|
+
// Move to Web Worker for heavy computation
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
| Metric | Good | Poor |
|
|
43
|
+
| ------ | ------ | ------ |
|
|
44
|
+
| LCP | ≤2.5s | >4s |
|
|
45
|
+
| INP | ≤200ms | >500ms |
|
|
46
|
+
| CLS | ≤0.1 | >0.25 |
|
|
47
|
+
|
|
48
|
+
## GDPR Consent
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
// Load beacon only after consent
|
|
52
|
+
const consent = localStorage.getItem('analytics-consent')
|
|
53
|
+
if (consent === 'accepted') {
|
|
54
|
+
const script = document.createElement('script')
|
|
55
|
+
script.src = 'https://static.cloudflareinsights.com/beacon.min.js'
|
|
56
|
+
script.setAttribute('data-cf-beacon', '{"token": "TOKEN", "spa": true}')
|
|
57
|
+
document.body.appendChild(script)
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Alternative: Dashboard → "Enable, excluding visitor data in the EU"
|
|
62
|
+
|
|
63
|
+
## SPA Navigation
|
|
64
|
+
|
|
65
|
+
```html
|
|
66
|
+
<!-- REQUIRED for React/Vue/etc routing -->
|
|
67
|
+
<script data-cf-beacon='{"token": "TOKEN", "spa": true}' ...></script>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Without `spa: true`: only initial pageload tracked.
|
|
71
|
+
|
|
72
|
+
## Staging/Production Separation
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// Use env-specific tokens
|
|
76
|
+
const token = process.env.NEXT_PUBLIC_CF_ANALYTICS_TOKEN
|
|
77
|
+
// .env.production: production token
|
|
78
|
+
// .env.staging: staging token (or empty to disable)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Bot Filtering
|
|
82
|
+
|
|
83
|
+
Dashboard → Filters → "Exclude Bot Traffic"
|
|
84
|
+
|
|
85
|
+
Filters: Search crawlers, monitoring services, known bots.
|
|
86
|
+
Not filtered: Headless browsers (Playwright/Puppeteer).
|
|
87
|
+
|
|
88
|
+
## Ad-Blocker Impact
|
|
89
|
+
|
|
90
|
+
~25-40% of users may block `cloudflareinsights.com`. No official workaround.
|
|
91
|
+
Dashboard shows minimum baseline; use server logs for complete picture.
|
|
92
|
+
|
|
93
|
+
## Limitations
|
|
94
|
+
|
|
95
|
+
- No UTM parameter tracking
|
|
96
|
+
- No webhooks/alerts/API
|
|
97
|
+
- No custom beacon domains
|
|
98
|
+
- Max 10 non-proxied sites
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Workerd Runtime
|
|
2
|
+
|
|
3
|
+
V8-based JS/Wasm runtime powering Cloudflare Workers. Use as app server, dev tool, or HTTP proxy.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANT SECURITY NOTICE
|
|
6
|
+
|
|
7
|
+
**workerd is NOT a hardened sandbox.** Do not run untrusted code. It's designed for deploying YOUR code locally/self-hosted, not multi-tenant SaaS. Cloudflare production adds security layers not present in open-source workerd.
|
|
8
|
+
|
|
9
|
+
## Decision Tree: When to Use What
|
|
10
|
+
|
|
11
|
+
**95% of users:** Use Wrangler
|
|
12
|
+
|
|
13
|
+
- Local development: `wrangler dev` (uses workerd internally)
|
|
14
|
+
- Deployment: `wrangler deploy` (deploys to Cloudflare)
|
|
15
|
+
- Types: `wrangler types` (generates TypeScript types)
|
|
16
|
+
|
|
17
|
+
**Use raw workerd directly only if:**
|
|
18
|
+
|
|
19
|
+
- Self-hosting Workers runtime in production
|
|
20
|
+
- Embedding runtime in C++ application
|
|
21
|
+
- Custom tooling/testing infrastructure
|
|
22
|
+
- Debugging workerd-specific behavior
|
|
23
|
+
|
|
24
|
+
**Never use workerd for:**
|
|
25
|
+
|
|
26
|
+
- Running untrusted/user-submitted code
|
|
27
|
+
- Multi-tenant isolation (not hardened)
|
|
28
|
+
- Production without additional security layers
|
|
29
|
+
|
|
30
|
+
## Key Features
|
|
31
|
+
|
|
32
|
+
- **Standards-based**: Fetch API, Web Crypto, Streams, WebSocket
|
|
33
|
+
- **Nanoservices**: Service bindings with local call performance
|
|
34
|
+
- **Capability security**: Explicit bindings prevent SSRF
|
|
35
|
+
- **Backwards compatible**: Version = max compat date supported
|
|
36
|
+
|
|
37
|
+
## Architecture
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Config (workerd.capnp)
|
|
41
|
+
├── Services (workers/endpoints)
|
|
42
|
+
├── Sockets (HTTP/HTTPS listeners)
|
|
43
|
+
└── Extensions (global capabilities)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Quick Start
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
workerd serve config.capnp
|
|
50
|
+
workerd compile config.capnp myConfig -o binary
|
|
51
|
+
workerd test config.capnp
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Platform Support & Beta Status
|
|
55
|
+
|
|
56
|
+
| Platform | Status | Notes |
|
|
57
|
+
| --------------- | ------------ | ------------------------- |
|
|
58
|
+
| Linux (x64) | Stable | Primary platform |
|
|
59
|
+
| macOS (x64/ARM) | Stable | Full support |
|
|
60
|
+
| Windows | Beta | Use WSL2 for best results |
|
|
61
|
+
| Linux (ARM64) | Experimental | Limited testing |
|
|
62
|
+
|
|
63
|
+
workerd is in **active development**. Breaking changes possible. Pin versions in production.
|
|
64
|
+
|
|
65
|
+
## Core Concepts
|
|
66
|
+
|
|
67
|
+
- **Service**: Named endpoint (worker/network/disk/external)
|
|
68
|
+
- **Binding**: Capability-based resource access (KV/DO/R2/services)
|
|
69
|
+
- **Compatibility date**: Feature gate (always set!)
|
|
70
|
+
- **Modules**: ES modules (recommended) or service worker syntax
|
|
71
|
+
|
|
72
|
+
## Reading Order (Progressive Disclosure)
|
|
73
|
+
|
|
74
|
+
**Start here:**
|
|
75
|
+
|
|
76
|
+
1. This README (overview, decision tree)
|
|
77
|
+
2. [patterns.md](./patterns.md) - Common workflows, framework examples
|
|
78
|
+
|
|
79
|
+
**When you need details:** 3. [configuration.md](./configuration.md) - Config format, services, bindings 4. [api.md](./api.md) - Runtime APIs, TypeScript types 5. [gotchas.md](./gotchas.md) - Common errors, debugging
|
|
80
|
+
|
|
81
|
+
## Related References
|
|
82
|
+
|
|
83
|
+
- [workers](../workers/) - Workers runtime API documentation
|
|
84
|
+
- [miniflare](../miniflare/) - Testing tool built on workerd
|
|
85
|
+
- [wrangler](../wrangler/) - CLI that uses workerd for local dev
|