codexkit 1.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/.codex/.env.example +27 -0
- package/.codex/.template-manifest.json +631 -0
- package/.codex/.version +1 -0
- package/.codex/agents/builder.toml +104 -0
- package/.codex/agents/debugger.toml +67 -0
- package/.codex/agents/general.toml +41 -0
- package/.codex/agents/painter.toml +40 -0
- package/.codex/agents/planner.toml +60 -0
- package/.codex/agents/refactorer.toml +76 -0
- package/.codex/agents/reviewer.toml +60 -0
- package/.codex/agents/runner.toml +40 -0
- package/.codex/agents/scout.toml +133 -0
- package/.codex/agents/shipper.toml +69 -0
- package/.codex/agents/vision.toml +69 -0
- package/.codex/config.toml +146 -0
- package/.codex/context/architecture.md +66 -0
- package/.codex/context/conventions.md +98 -0
- package/.codex/context/current-priorities.md +33 -0
- package/.codex/context/decision-log.md +93 -0
- package/.codex/context/gotchas.md +42 -0
- package/.codex/context/index.md +21 -0
- package/.codex/context/session-context.md +11 -0
- package/.codex/context/worklog.md +9 -0
- package/.codex/hooks/README.md +17 -0
- package/.codex/hooks/after_agent.sh +11 -0
- package/.codex/hooks/after_tool_use.sh +10 -0
- package/.codex/hooks/post_commit.sh +10 -0
- package/.codex/hooks/pre_commit.sh +6 -0
- package/.codex/hooks/session_start.sh +18 -0
- package/.codex/hooks/stop.sh +10 -0
- package/.codex/mcp/README.md +143 -0
- package/.codex/mcp/basic-memory.toml.example +10 -0
- package/.codex/mcp/context7.toml.example +13 -0
- package/.codex/mcp/exa.toml.example +12 -0
- package/.codex/mcp/memory-bridge.toml.example +15 -0
- package/.codex/mcp/memory.toml.example +6 -0
- package/.codex/mcp/ref.toml.example +13 -0
- package/.codex/mcp/tilth.toml.example +10 -0
- package/.codex/memory/README.md +29 -0
- package/.codex/memory/_templates/README.md +26 -0
- package/.codex/memory/_templates/design.md +15 -0
- package/.codex/memory/_templates/gotcha.md +9 -0
- package/.codex/memory/_templates/handoff.md +9 -0
- package/.codex/memory/_templates/prd.md +13 -0
- package/.codex/memory/_templates/project.md +9 -0
- package/.codex/memory/_templates/proposal.md +13 -0
- package/.codex/memory/_templates/research.md +9 -0
- package/.codex/memory/_templates/roadmap.md +11 -0
- package/.codex/memory/_templates/session-context.md +7 -0
- package/.codex/memory/_templates/state.md +11 -0
- package/.codex/memory/_templates/tasks.md +9 -0
- package/.codex/memory/_templates/tech-stack.md +9 -0
- package/.codex/memory/_templates/user.md +7 -0
- package/.codex/memory/project/gotchas.md +5 -0
- package/.codex/memory/project/project.md +12 -0
- package/.codex/memory/project/roadmap.md +15 -0
- package/.codex/memory/project/state.md +22 -0
- package/.codex/memory/project/tech-stack.md +19 -0
- package/.codex/memory/project/user.md +10 -0
- package/.codex/memory/research/.gitkeep +1 -0
- package/.codex/memory/session-context.md +18 -0
- package/.codex/plans/README.md +7 -0
- package/.codex/prompts/compound.md +154 -0
- package/.codex/prompts/create.md +238 -0
- package/.codex/prompts/design.md +90 -0
- package/.codex/prompts/handoff.md +184 -0
- package/.codex/prompts/init-context.md +185 -0
- package/.codex/prompts/init-user.md +93 -0
- package/.codex/prompts/init.md +103 -0
- package/.codex/prompts/lfg.md +140 -0
- package/.codex/prompts/plan.md +140 -0
- package/.codex/prompts/pr.md +150 -0
- package/.codex/prompts/research.md +137 -0
- package/.codex/prompts/resume.md +105 -0
- package/.codex/prompts/review-codebase.md +147 -0
- package/.codex/prompts/ship.md +334 -0
- package/.codex/prompts/start.md +141 -0
- package/.codex/prompts/status.md +102 -0
- package/.codex/prompts/ui-inspire.md +151 -0
- package/.codex/prompts/ui-review.md +86 -0
- package/.codex/prompts/verify.md +181 -0
- package/.codex/scripts/append_worklog.sh +20 -0
- package/.codex/scripts/apply_worklog_archive.sh +48 -0
- package/.codex/scripts/audit_memory_hygiene.sh +102 -0
- package/.codex/scripts/build_memory_index.sh +167 -0
- package/.codex/scripts/build_prior_related_work.sh +127 -0
- package/.codex/scripts/build_startup_brief.sh +52 -0
- package/.codex/scripts/close_bead.sh +103 -0
- package/.codex/scripts/detect_changed_files.sh +38 -0
- package/.codex/scripts/ensure_beads.sh +14 -0
- package/.codex/scripts/memory_search.sh +292 -0
- package/.codex/scripts/prepare_worklog_archive.sh +115 -0
- package/.codex/scripts/search_bead_context.sh +214 -0
- package/.codex/scripts/start_bead.sh +129 -0
- package/.codex/scripts/sync_bead_context.sh +288 -0
- package/.codex/scripts/validate_memory_docs.sh +44 -0
- package/.codex/scripts/verify_bead.sh +154 -0
- package/.codex/skills/accessibility-audit/SKILL.md +191 -0
- package/.codex/skills/agent-browser/SKILL.md +413 -0
- package/.codex/skills/agent-teams/SKILL.md +268 -0
- package/.codex/skills/augment-context-engine/SKILL.md +115 -0
- package/.codex/skills/augment-context-engine/mcp.json +6 -0
- package/.codex/skills/beads/SKILL.md +181 -0
- package/.codex/skills/beads/references/BEST_PRACTICES.md +27 -0
- package/.codex/skills/beads/references/BOUNDARIES.md +219 -0
- package/.codex/skills/beads/references/DEPENDENCIES.md +124 -0
- package/.codex/skills/beads/references/EXAMPLES.md +45 -0
- package/.codex/skills/beads/references/FILE_CLAIMING.md +101 -0
- package/.codex/skills/beads/references/GIT_SYNC.md +25 -0
- package/.codex/skills/beads/references/HIERARCHY.md +71 -0
- package/.codex/skills/beads/references/MULTI_AGENT.md +40 -0
- package/.codex/skills/beads/references/RESUMABILITY.md +177 -0
- package/.codex/skills/beads/references/SESSION_PROTOCOL.md +61 -0
- package/.codex/skills/beads/references/TASK_CREATION.md +38 -0
- package/.codex/skills/beads/references/TROUBLESHOOTING.md +38 -0
- package/.codex/skills/beads/references/WORKFLOWS.md +226 -0
- package/.codex/skills/beads-bridge/SKILL.md +321 -0
- package/.codex/skills/brainstorming/SKILL.md +114 -0
- package/.codex/skills/bug-triage/SKILL.md +191 -0
- package/.codex/skills/chrome-devtools/SKILL.md +76 -0
- package/.codex/skills/chrome-devtools/mcp.json +19 -0
- package/.codex/skills/cloudflare/SKILL.md +253 -0
- package/.codex/skills/cloudflare/references/agents-sdk/README.md +35 -0
- package/.codex/skills/cloudflare/references/agents-sdk/api.md +100 -0
- package/.codex/skills/cloudflare/references/agents-sdk/configuration.md +99 -0
- package/.codex/skills/cloudflare/references/agents-sdk/gotchas.md +59 -0
- package/.codex/skills/cloudflare/references/agents-sdk/patterns.md +89 -0
- package/.codex/skills/cloudflare/references/ai-gateway/README.md +695 -0
- package/.codex/skills/cloudflare/references/ai-search/README.md +14 -0
- package/.codex/skills/cloudflare/references/ai-search/api.md +38 -0
- package/.codex/skills/cloudflare/references/ai-search/configuration.md +52 -0
- package/.codex/skills/cloudflare/references/ai-search/gotchas.md +41 -0
- package/.codex/skills/cloudflare/references/ai-search/patterns.md +45 -0
- package/.codex/skills/cloudflare/references/analytics-engine/README.md +14 -0
- package/.codex/skills/cloudflare/references/analytics-engine/api.md +27 -0
- package/.codex/skills/cloudflare/references/analytics-engine/configuration.md +45 -0
- package/.codex/skills/cloudflare/references/analytics-engine/gotchas.md +3 -0
- package/.codex/skills/cloudflare/references/analytics-engine/patterns.md +36 -0
- package/.codex/skills/cloudflare/references/api/README.md +21 -0
- package/.codex/skills/cloudflare/references/api/api.md +31 -0
- package/.codex/skills/cloudflare/references/api/configuration.md +20 -0
- package/.codex/skills/cloudflare/references/api/gotchas.md +28 -0
- package/.codex/skills/cloudflare/references/api/patterns.md +47 -0
- package/.codex/skills/cloudflare/references/api-shield/README.md +20 -0
- package/.codex/skills/cloudflare/references/api-shield/api.md +78 -0
- package/.codex/skills/cloudflare/references/api-shield/configuration.md +128 -0
- package/.codex/skills/cloudflare/references/api-shield/gotchas.md +51 -0
- package/.codex/skills/cloudflare/references/api-shield/patterns.md +145 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/README.md +16 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/api.md +50 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/configuration.md +53 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/patterns.md +45 -0
- package/.codex/skills/cloudflare/references/bindings/README.md +14 -0
- package/.codex/skills/cloudflare/references/bindings/api.md +3 -0
- package/.codex/skills/cloudflare/references/bindings/configuration.md +58 -0
- package/.codex/skills/cloudflare/references/bindings/gotchas.md +35 -0
- package/.codex/skills/cloudflare/references/bindings/patterns.md +37 -0
- package/.codex/skills/cloudflare/references/bot-management/README.md +71 -0
- package/.codex/skills/cloudflare/references/bot-management/api.md +168 -0
- package/.codex/skills/cloudflare/references/bot-management/configuration.md +114 -0
- package/.codex/skills/cloudflare/references/bot-management/gotchas.md +99 -0
- package/.codex/skills/cloudflare/references/bot-management/patterns.md +125 -0
- package/.codex/skills/cloudflare/references/browser-rendering/README.md +16 -0
- package/.codex/skills/cloudflare/references/browser-rendering/api.md +54 -0
- package/.codex/skills/cloudflare/references/browser-rendering/configuration.md +47 -0
- package/.codex/skills/cloudflare/references/browser-rendering/gotchas.md +29 -0
- package/.codex/skills/cloudflare/references/browser-rendering/patterns.md +29 -0
- package/.codex/skills/cloudflare/references/c3/README.md +264 -0
- package/.codex/skills/cloudflare/references/cache-reserve/README.md +93 -0
- package/.codex/skills/cloudflare/references/cache-reserve/api.md +176 -0
- package/.codex/skills/cloudflare/references/cache-reserve/configuration.md +164 -0
- package/.codex/skills/cloudflare/references/cache-reserve/gotchas.md +203 -0
- package/.codex/skills/cloudflare/references/cache-reserve/patterns.md +180 -0
- package/.codex/skills/cloudflare/references/containers/README.md +16 -0
- package/.codex/skills/cloudflare/references/containers/api.md +43 -0
- package/.codex/skills/cloudflare/references/containers/configuration.md +56 -0
- package/.codex/skills/cloudflare/references/containers/gotchas.md +21 -0
- package/.codex/skills/cloudflare/references/containers/patterns.md +40 -0
- package/.codex/skills/cloudflare/references/cron-triggers/README.md +85 -0
- package/.codex/skills/cloudflare/references/cron-triggers/api.md +198 -0
- package/.codex/skills/cloudflare/references/cron-triggers/configuration.md +151 -0
- package/.codex/skills/cloudflare/references/cron-triggers/gotchas.md +129 -0
- package/.codex/skills/cloudflare/references/cron-triggers/patterns.md +122 -0
- package/.codex/skills/cloudflare/references/d1/README.md +92 -0
- package/.codex/skills/cloudflare/references/d1/api.md +141 -0
- package/.codex/skills/cloudflare/references/d1/configuration.md +127 -0
- package/.codex/skills/cloudflare/references/d1/gotchas.md +70 -0
- package/.codex/skills/cloudflare/references/d1/patterns.md +144 -0
- package/.codex/skills/cloudflare/references/ddos/README.md +34 -0
- package/.codex/skills/cloudflare/references/ddos/api.md +136 -0
- package/.codex/skills/cloudflare/references/ddos/configuration.md +67 -0
- package/.codex/skills/cloudflare/references/ddos/gotchas.md +114 -0
- package/.codex/skills/cloudflare/references/ddos/patterns.md +158 -0
- package/.codex/skills/cloudflare/references/do-storage/README.md +62 -0
- package/.codex/skills/cloudflare/references/do-storage/api.md +89 -0
- package/.codex/skills/cloudflare/references/do-storage/configuration.md +116 -0
- package/.codex/skills/cloudflare/references/do-storage/gotchas.md +93 -0
- package/.codex/skills/cloudflare/references/do-storage/patterns.md +112 -0
- package/.codex/skills/cloudflare/references/durable-objects/README.md +125 -0
- package/.codex/skills/cloudflare/references/durable-objects/api.md +152 -0
- package/.codex/skills/cloudflare/references/durable-objects/configuration.md +148 -0
- package/.codex/skills/cloudflare/references/durable-objects/gotchas.md +158 -0
- package/.codex/skills/cloudflare/references/durable-objects/patterns.md +255 -0
- package/.codex/skills/cloudflare/references/email-routing/README.md +18 -0
- package/.codex/skills/cloudflare/references/email-routing/api.md +46 -0
- package/.codex/skills/cloudflare/references/email-routing/configuration.md +63 -0
- package/.codex/skills/cloudflare/references/email-routing/gotchas.md +16 -0
- package/.codex/skills/cloudflare/references/email-routing/patterns.md +46 -0
- package/.codex/skills/cloudflare/references/email-workers/README.md +598 -0
- package/.codex/skills/cloudflare/references/hyperdrive/README.md +62 -0
- package/.codex/skills/cloudflare/references/hyperdrive/api.md +137 -0
- package/.codex/skills/cloudflare/references/hyperdrive/configuration.md +133 -0
- package/.codex/skills/cloudflare/references/hyperdrive/gotchas.md +184 -0
- package/.codex/skills/cloudflare/references/hyperdrive/patterns.md +176 -0
- package/.codex/skills/cloudflare/references/images/README.md +14 -0
- package/.codex/skills/cloudflare/references/images/api.md +3 -0
- package/.codex/skills/cloudflare/references/images/configuration.md +45 -0
- package/.codex/skills/cloudflare/references/images/gotchas.md +23 -0
- package/.codex/skills/cloudflare/references/images/patterns.md +31 -0
- package/.codex/skills/cloudflare/references/kv/README.md +60 -0
- package/.codex/skills/cloudflare/references/kv/api.md +114 -0
- package/.codex/skills/cloudflare/references/kv/configuration.md +92 -0
- package/.codex/skills/cloudflare/references/kv/gotchas.md +117 -0
- package/.codex/skills/cloudflare/references/kv/patterns.md +139 -0
- package/.codex/skills/cloudflare/references/miniflare/README.md +64 -0
- package/.codex/skills/cloudflare/references/miniflare/api.md +144 -0
- package/.codex/skills/cloudflare/references/miniflare/configuration.md +203 -0
- package/.codex/skills/cloudflare/references/miniflare/gotchas.md +187 -0
- package/.codex/skills/cloudflare/references/miniflare/patterns.md +211 -0
- package/.codex/skills/cloudflare/references/network-interconnect/README.md +60 -0
- package/.codex/skills/cloudflare/references/network-interconnect/api.md +240 -0
- package/.codex/skills/cloudflare/references/network-interconnect/configuration.md +127 -0
- package/.codex/skills/cloudflare/references/network-interconnect/gotchas.md +171 -0
- package/.codex/skills/cloudflare/references/network-interconnect/patterns.md +171 -0
- package/.codex/skills/cloudflare/references/observability/README.md +18 -0
- package/.codex/skills/cloudflare/references/observability/api.md +51 -0
- package/.codex/skills/cloudflare/references/observability/configuration.md +60 -0
- package/.codex/skills/cloudflare/references/observability/gotchas.md +36 -0
- package/.codex/skills/cloudflare/references/observability/patterns.md +42 -0
- package/.codex/skills/cloudflare/references/pages/README.md +76 -0
- package/.codex/skills/cloudflare/references/pages/api.md +200 -0
- package/.codex/skills/cloudflare/references/pages/configuration.md +228 -0
- package/.codex/skills/cloudflare/references/pages/gotchas.md +161 -0
- package/.codex/skills/cloudflare/references/pages/patterns.md +145 -0
- package/.codex/skills/cloudflare/references/pages-functions/README.md +57 -0
- package/.codex/skills/cloudflare/references/pages-functions/api.md +201 -0
- package/.codex/skills/cloudflare/references/pages-functions/configuration.md +159 -0
- package/.codex/skills/cloudflare/references/pages-functions/gotchas.md +151 -0
- package/.codex/skills/cloudflare/references/pages-functions/patterns.md +190 -0
- package/.codex/skills/cloudflare/references/pipelines/README.md +664 -0
- package/.codex/skills/cloudflare/references/pulumi/README.md +107 -0
- package/.codex/skills/cloudflare/references/pulumi/api.md +194 -0
- package/.codex/skills/cloudflare/references/pulumi/configuration.md +216 -0
- package/.codex/skills/cloudflare/references/pulumi/gotchas.md +223 -0
- package/.codex/skills/cloudflare/references/pulumi/patterns.md +139 -0
- package/.codex/skills/cloudflare/references/queues/README.md +69 -0
- package/.codex/skills/cloudflare/references/queues/api.md +138 -0
- package/.codex/skills/cloudflare/references/queues/configuration.md +125 -0
- package/.codex/skills/cloudflare/references/queues/gotchas.md +112 -0
- package/.codex/skills/cloudflare/references/queues/patterns.md +155 -0
- package/.codex/skills/cloudflare/references/r2/README.md +61 -0
- package/.codex/skills/cloudflare/references/r2/api.md +127 -0
- package/.codex/skills/cloudflare/references/r2/configuration.md +76 -0
- package/.codex/skills/cloudflare/references/r2/gotchas.md +94 -0
- package/.codex/skills/cloudflare/references/r2/patterns.md +127 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/README.md +18 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/api.md +29 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/configuration.md +39 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/patterns.md +46 -0
- package/.codex/skills/cloudflare/references/r2-sql/README.md +512 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/README.md +21 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/api.md +135 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/configuration.md +63 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/gotchas.md +75 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/patterns.md +102 -0
- package/.codex/skills/cloudflare/references/realtimekit/README.md +81 -0
- package/.codex/skills/cloudflare/references/realtimekit/api.md +164 -0
- package/.codex/skills/cloudflare/references/realtimekit/configuration.md +147 -0
- package/.codex/skills/cloudflare/references/realtimekit/gotchas.md +172 -0
- package/.codex/skills/cloudflare/references/realtimekit/patterns.md +155 -0
- package/.codex/skills/cloudflare/references/sandbox/README.md +90 -0
- package/.codex/skills/cloudflare/references/sandbox/api.md +178 -0
- package/.codex/skills/cloudflare/references/sandbox/configuration.md +131 -0
- package/.codex/skills/cloudflare/references/sandbox/gotchas.md +156 -0
- package/.codex/skills/cloudflare/references/sandbox/patterns.md +203 -0
- package/.codex/skills/cloudflare/references/secrets-store/README.md +58 -0
- package/.codex/skills/cloudflare/references/secrets-store/api.md +182 -0
- package/.codex/skills/cloudflare/references/secrets-store/configuration.md +140 -0
- package/.codex/skills/cloudflare/references/secrets-store/gotchas.md +129 -0
- package/.codex/skills/cloudflare/references/secrets-store/patterns.md +218 -0
- package/.codex/skills/cloudflare/references/smart-placement/README.md +91 -0
- package/.codex/skills/cloudflare/references/smart-placement/api.md +139 -0
- package/.codex/skills/cloudflare/references/smart-placement/configuration.md +129 -0
- package/.codex/skills/cloudflare/references/smart-placement/gotchas.md +87 -0
- package/.codex/skills/cloudflare/references/smart-placement/patterns.md +135 -0
- package/.codex/skills/cloudflare/references/snippets/README.md +15 -0
- package/.codex/skills/cloudflare/references/snippets/api.md +47 -0
- package/.codex/skills/cloudflare/references/snippets/configuration.md +33 -0
- package/.codex/skills/cloudflare/references/snippets/gotchas.md +21 -0
- package/.codex/skills/cloudflare/references/snippets/patterns.md +34 -0
- package/.codex/skills/cloudflare/references/spectrum/README.md +16 -0
- package/.codex/skills/cloudflare/references/spectrum/api.md +24 -0
- package/.codex/skills/cloudflare/references/spectrum/configuration.md +43 -0
- package/.codex/skills/cloudflare/references/spectrum/gotchas.md +42 -0
- package/.codex/skills/cloudflare/references/spectrum/patterns.md +40 -0
- package/.codex/skills/cloudflare/references/static-assets/README.md +14 -0
- package/.codex/skills/cloudflare/references/static-assets/api.md +3 -0
- package/.codex/skills/cloudflare/references/static-assets/configuration.md +47 -0
- package/.codex/skills/cloudflare/references/static-assets/gotchas.md +44 -0
- package/.codex/skills/cloudflare/references/static-assets/patterns.md +42 -0
- package/.codex/skills/cloudflare/references/stream/README.md +103 -0
- package/.codex/skills/cloudflare/references/stream/api.md +204 -0
- package/.codex/skills/cloudflare/references/stream/configuration.md +127 -0
- package/.codex/skills/cloudflare/references/stream/gotchas.md +131 -0
- package/.codex/skills/cloudflare/references/stream/patterns.md +152 -0
- package/.codex/skills/cloudflare/references/tail-workers/README.md +640 -0
- package/.codex/skills/cloudflare/references/terraform/README.md +76 -0
- package/.codex/skills/cloudflare/references/terraform/api.md +159 -0
- package/.codex/skills/cloudflare/references/terraform/configuration.md +156 -0
- package/.codex/skills/cloudflare/references/terraform/gotchas.md +207 -0
- package/.codex/skills/cloudflare/references/terraform/patterns.md +135 -0
- package/.codex/skills/cloudflare/references/tunnel/README.md +82 -0
- package/.codex/skills/cloudflare/references/tunnel/api.md +105 -0
- package/.codex/skills/cloudflare/references/tunnel/configuration.md +113 -0
- package/.codex/skills/cloudflare/references/tunnel/gotchas.md +115 -0
- package/.codex/skills/cloudflare/references/tunnel/patterns.md +157 -0
- package/.codex/skills/cloudflare/references/turn/README.md +699 -0
- package/.codex/skills/cloudflare/references/turnstile/README.md +14 -0
- package/.codex/skills/cloudflare/references/turnstile/api.md +3 -0
- package/.codex/skills/cloudflare/references/turnstile/configuration.md +19 -0
- package/.codex/skills/cloudflare/references/turnstile/gotchas.md +27 -0
- package/.codex/skills/cloudflare/references/turnstile/patterns.md +41 -0
- package/.codex/skills/cloudflare/references/vectorize/README.md +682 -0
- package/.codex/skills/cloudflare/references/waf/README.md +14 -0
- package/.codex/skills/cloudflare/references/waf/api.md +3 -0
- package/.codex/skills/cloudflare/references/waf/configuration.md +44 -0
- package/.codex/skills/cloudflare/references/waf/gotchas.md +24 -0
- package/.codex/skills/cloudflare/references/waf/patterns.md +29 -0
- package/.codex/skills/cloudflare/references/web-analytics/README.md +19 -0
- package/.codex/skills/cloudflare/references/web-analytics/api.md +52 -0
- package/.codex/skills/cloudflare/references/web-analytics/configuration.md +31 -0
- package/.codex/skills/cloudflare/references/web-analytics/gotchas.md +28 -0
- package/.codex/skills/cloudflare/references/web-analytics/patterns.md +52 -0
- package/.codex/skills/cloudflare/references/workerd/README.md +47 -0
- package/.codex/skills/cloudflare/references/workerd/api.md +199 -0
- package/.codex/skills/cloudflare/references/workerd/configuration.md +185 -0
- package/.codex/skills/cloudflare/references/workerd/gotchas.md +203 -0
- package/.codex/skills/cloudflare/references/workerd/patterns.md +216 -0
- package/.codex/skills/cloudflare/references/workers/README.md +96 -0
- package/.codex/skills/cloudflare/references/workers/api.md +137 -0
- package/.codex/skills/cloudflare/references/workers/configuration.md +147 -0
- package/.codex/skills/cloudflare/references/workers/gotchas.md +99 -0
- package/.codex/skills/cloudflare/references/workers/patterns.md +149 -0
- package/.codex/skills/cloudflare/references/workers-ai/README.md +116 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/README.md +48 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/api.md +169 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/configuration.md +136 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/patterns.md +170 -0
- package/.codex/skills/cloudflare/references/workers-playground/README.md +16 -0
- package/.codex/skills/cloudflare/references/workers-playground/api.md +20 -0
- package/.codex/skills/cloudflare/references/workers-playground/configuration.md +3 -0
- package/.codex/skills/cloudflare/references/workers-playground/gotchas.md +35 -0
- package/.codex/skills/cloudflare/references/workers-playground/patterns.md +42 -0
- package/.codex/skills/cloudflare/references/workers-vpc/README.md +579 -0
- package/.codex/skills/cloudflare/references/workflows/README.md +62 -0
- package/.codex/skills/cloudflare/references/workflows/api.md +125 -0
- package/.codex/skills/cloudflare/references/workflows/configuration.md +177 -0
- package/.codex/skills/cloudflare/references/workflows/gotchas.md +136 -0
- package/.codex/skills/cloudflare/references/workflows/patterns.md +132 -0
- package/.codex/skills/cloudflare/references/wrangler/README.md +90 -0
- package/.codex/skills/cloudflare/references/wrangler/api.md +140 -0
- package/.codex/skills/cloudflare/references/wrangler/configuration.md +128 -0
- package/.codex/skills/cloudflare/references/wrangler/gotchas.md +93 -0
- package/.codex/skills/cloudflare/references/wrangler/patterns.md +150 -0
- package/.codex/skills/cloudflare/references/zaraz/README.md +360 -0
- package/.codex/skills/code-navigation/SKILL.md +130 -0
- package/.codex/skills/code-review/SKILL.md +208 -0
- package/.codex/skills/compaction/SKILL.md +317 -0
- package/.codex/skills/condition-based-waiting/SKILL.md +123 -0
- package/.codex/skills/condition-based-waiting/example.ts +158 -0
- package/.codex/skills/context-engineering/SKILL.md +176 -0
- package/.codex/skills/context-initialization/SKILL.md +70 -0
- package/.codex/skills/context-management/SKILL.md +163 -0
- package/.codex/skills/core-data-expert/SKILL.md +93 -0
- package/.codex/skills/core-data-expert/references/batch-operations.md +543 -0
- package/.codex/skills/core-data-expert/references/cloudkit-integration.md +259 -0
- package/.codex/skills/core-data-expert/references/concurrency.md +522 -0
- package/.codex/skills/core-data-expert/references/fetch-requests.md +643 -0
- package/.codex/skills/core-data-expert/references/glossary.md +233 -0
- package/.codex/skills/core-data-expert/references/migration.md +393 -0
- package/.codex/skills/core-data-expert/references/model-configuration.md +597 -0
- package/.codex/skills/core-data-expert/references/performance.md +300 -0
- package/.codex/skills/core-data-expert/references/persistent-history.md +553 -0
- package/.codex/skills/core-data-expert/references/project-audit.md +60 -0
- package/.codex/skills/core-data-expert/references/saving.md +574 -0
- package/.codex/skills/core-data-expert/references/stack-setup.md +625 -0
- package/.codex/skills/core-data-expert/references/testing.md +300 -0
- package/.codex/skills/core-data-expert/references/threading.md +589 -0
- package/.codex/skills/debugging/SKILL.md +203 -0
- package/.codex/skills/deep-research/SKILL.md +384 -0
- package/.codex/skills/defense-in-depth/SKILL.md +166 -0
- package/.codex/skills/dependency-upgrades/SKILL.md +198 -0
- package/.codex/skills/design-system-audit/SKILL.md +153 -0
- package/.codex/skills/development-lifecycle/SKILL.md +356 -0
- package/.codex/skills/dispatching-parallel-agents/SKILL.md +191 -0
- package/.codex/skills/docs-handoff/SKILL.md +175 -0
- package/.codex/skills/executing-plans/SKILL.md +247 -0
- package/.codex/skills/figma/SKILL.md +224 -0
- package/.codex/skills/figma/mcp.json +6 -0
- package/.codex/skills/finishing-a-development-branch/SKILL.md +357 -0
- package/.codex/skills/frontend-design/SKILL.md +176 -0
- package/.codex/skills/gemini-large-context/SKILL.md +216 -0
- package/.codex/skills/git-pr-prep/SKILL.md +179 -0
- package/.codex/skills/index-knowledge/SKILL.md +413 -0
- package/.codex/skills/jira/SKILL.md +283 -0
- package/.codex/skills/jira/mcp.json +6 -0
- package/.codex/skills/memory-system/SKILL.md +93 -0
- package/.codex/skills/mockup-to-code/SKILL.md +184 -0
- package/.codex/skills/mqdh/SKILL.md +171 -0
- package/.codex/skills/obsidian/SKILL.md +187 -0
- package/.codex/skills/obsidian/mcp.json +22 -0
- package/.codex/skills/opensrc/SKILL.md +127 -0
- package/.codex/skills/opensrc/references/architecture.md +176 -0
- package/.codex/skills/opensrc/references/cli-usage.md +176 -0
- package/.codex/skills/opensrc/references/registry-support.md +137 -0
- package/.codex/skills/pdf-extract/SKILL.md +438 -0
- package/.codex/skills/playwright/SKILL.md +320 -0
- package/.codex/skills/playwright/mcp.json +16 -0
- package/.codex/skills/playwriter/SKILL.md +158 -0
- package/.codex/skills/polar/SKILL.md +102 -0
- package/.codex/skills/prd/SKILL.md +146 -0
- package/.codex/skills/prd-task/SKILL.md +182 -0
- package/.codex/skills/prd-task/references/prd-schema.json +124 -0
- package/.codex/skills/prompt-leverage/SKILL.md +69 -0
- package/.codex/skills/prompt-leverage/agents/openai.yaml +4 -0
- package/.codex/skills/prompt-leverage/references/framework.md +91 -0
- package/.codex/skills/prompt-leverage/scripts/augment_prompt.py +114 -0
- package/.codex/skills/ralph/SKILL.md +296 -0
- package/.codex/skills/react-best-practices/AGENTS.md +2410 -0
- package/.codex/skills/react-best-practices/README.md +123 -0
- package/.codex/skills/react-best-practices/SKILL.md +133 -0
- package/.codex/skills/react-best-practices/metadata.json +15 -0
- package/.codex/skills/react-best-practices/rules/_sections.md +46 -0
- package/.codex/skills/react-best-practices/rules/_template.md +28 -0
- package/.codex/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.codex/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/.codex/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/.codex/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/.codex/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/.codex/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/.codex/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.codex/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.codex/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/.codex/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.codex/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.codex/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/.codex/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/.codex/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/.codex/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/.codex/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.codex/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/.codex/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.codex/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.codex/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/.codex/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.codex/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/.codex/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.codex/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/.codex/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/.codex/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.codex/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.codex/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.codex/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/.codex/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.codex/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.codex/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.codex/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.codex/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.codex/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.codex/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.codex/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.codex/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.codex/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.codex/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.codex/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/.codex/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/.codex/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.codex/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/.codex/skills/react-best-practices/rules/server-cache-react.md +76 -0
- package/.codex/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/.codex/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/.codex/skills/receiving-code-review/SKILL.md +252 -0
- package/.codex/skills/refactoring/SKILL.md +217 -0
- package/.codex/skills/repo-orientation/SKILL.md +156 -0
- package/.codex/skills/requesting-code-review/SKILL.md +397 -0
- package/.codex/skills/resend/SKILL.md +177 -0
- package/.codex/skills/resend/references/react-email.md +287 -0
- package/.codex/skills/resend/references/receive-email.md +248 -0
- package/.codex/skills/resend/references/send-email.md +318 -0
- package/.codex/skills/root-cause-tracing/SKILL.md +192 -0
- package/.codex/skills/root-cause-tracing/find-polluter.sh +63 -0
- package/.codex/skills/safe-implementation/SKILL.md +205 -0
- package/.codex/skills/session-management/SKILL.md +10 -0
- package/.codex/skills/sharing-skills/SKILL.md +214 -0
- package/.codex/skills/skill-creator/SKILL.md +156 -0
- package/.codex/skills/source-code-research/SKILL.md +293 -0
- package/.codex/skills/source-code-research/references/analysis-tips.md +43 -0
- package/.codex/skills/source-code-research/references/anti-patterns.md +36 -0
- package/.codex/skills/source-code-research/references/common-patterns.md +57 -0
- package/.codex/skills/source-code-research/references/example-workflow.md +60 -0
- package/.codex/skills/source-code-research/references/further-reading.md +5 -0
- package/.codex/skills/source-code-research/references/source-structure.md +45 -0
- package/.codex/skills/stitch/SKILL.md +147 -0
- package/.codex/skills/stitch/mcp.json +9 -0
- package/.codex/skills/structured-edit/SKILL.md +181 -0
- package/.codex/skills/subagent-driven-development/SKILL.md +237 -0
- package/.codex/skills/supabase/SKILL.md +130 -0
- package/.codex/skills/supabase/mcp.json +27 -0
- package/.codex/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/.codex/skills/supabase-postgres-best-practices/SKILL.md +65 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/.codex/skills/swarm-coordination/SKILL.md +179 -0
- package/.codex/skills/swarm-coordination/references/architecture.md +39 -0
- package/.codex/skills/swarm-coordination/references/delegation-worker-protocol.md +145 -0
- package/.codex/skills/swarm-coordination/references/dependency-graph.md +50 -0
- package/.codex/skills/swarm-coordination/references/drift-check.md +90 -0
- package/.codex/skills/swarm-coordination/references/integration-beads.md +20 -0
- package/.codex/skills/swarm-coordination/references/launch-flow.md +186 -0
- package/.codex/skills/swarm-coordination/references/reconciler.md +172 -0
- package/.codex/skills/swarm-coordination/references/tier-enforcement.md +78 -0
- package/.codex/skills/swarm-coordination/references/tmux-integration.md +134 -0
- package/.codex/skills/swift-concurrency/SKILL.md +266 -0
- package/.codex/skills/swift-concurrency/references/actors.md +640 -0
- package/.codex/skills/swift-concurrency/references/async-algorithms.md +822 -0
- package/.codex/skills/swift-concurrency/references/async-await-basics.md +249 -0
- package/.codex/skills/swift-concurrency/references/async-sequences.md +670 -0
- package/.codex/skills/swift-concurrency/references/core-data.md +533 -0
- package/.codex/skills/swift-concurrency/references/glossary.md +128 -0
- package/.codex/skills/swift-concurrency/references/linting.md +142 -0
- package/.codex/skills/swift-concurrency/references/memory-management.md +542 -0
- package/.codex/skills/swift-concurrency/references/migration.md +1076 -0
- package/.codex/skills/swift-concurrency/references/performance.md +574 -0
- package/.codex/skills/swift-concurrency/references/sendable.md +578 -0
- package/.codex/skills/swift-concurrency/references/tasks.md +604 -0
- package/.codex/skills/swift-concurrency/references/testing.md +565 -0
- package/.codex/skills/swift-concurrency/references/threading.md +452 -0
- package/.codex/skills/swiftui-expert-skill/SKILL.md +329 -0
- package/.codex/skills/swiftui-expert-skill/references/animation-advanced.md +351 -0
- package/.codex/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/.codex/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/.codex/skills/swiftui-expert-skill/references/image-optimization.md +286 -0
- package/.codex/skills/swiftui-expert-skill/references/layout-best-practices.md +312 -0
- package/.codex/skills/swiftui-expert-skill/references/liquid-glass.md +377 -0
- package/.codex/skills/swiftui-expert-skill/references/list-patterns.md +153 -0
- package/.codex/skills/swiftui-expert-skill/references/modern-apis.md +400 -0
- package/.codex/skills/swiftui-expert-skill/references/performance-patterns.md +377 -0
- package/.codex/skills/swiftui-expert-skill/references/scroll-patterns.md +305 -0
- package/.codex/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
- package/.codex/skills/swiftui-expert-skill/references/state-management.md +447 -0
- package/.codex/skills/swiftui-expert-skill/references/text-formatting.md +285 -0
- package/.codex/skills/swiftui-expert-skill/references/view-structure.md +276 -0
- package/.codex/skills/systematic-debugging/SKILL.md +402 -0
- package/.codex/skills/task-planning/SKILL.md +205 -0
- package/.codex/skills/test-driven-development/SKILL.md +388 -0
- package/.codex/skills/test-strategy/SKILL.md +186 -0
- package/.codex/skills/testing-anti-patterns/SKILL.md +320 -0
- package/.codex/skills/testing-skills-with-subagents/SKILL.md +405 -0
- package/.codex/skills/tilth-cli/SKILL.md +180 -0
- package/.codex/skills/tool-priority/SKILL.md +299 -0
- package/.codex/skills/ui-inspiration-scout/SKILL.md +203 -0
- package/.codex/skills/ui-ux-research/SKILL.md +35 -0
- package/.codex/skills/using-git-worktrees/SKILL.md +259 -0
- package/.codex/skills/using-skills/SKILL.md +117 -0
- package/.codex/skills/v0/SKILL.md +158 -0
- package/.codex/skills/v0/mcp.json +6 -0
- package/.codex/skills/v1-run/SKILL.md +175 -0
- package/.codex/skills/v1-run/mcp.json +6 -0
- package/.codex/skills/vercel-deploy-claimable/SKILL.md +124 -0
- package/.codex/skills/vercel-deploy-claimable/scripts/deploy.sh +249 -0
- package/.codex/skills/verification/SKILL.md +191 -0
- package/.codex/skills/verification-before-completion/SKILL.md +236 -0
- package/.codex/skills/visual-analysis/SKILL.md +154 -0
- package/.codex/skills/web-design-guidelines/SKILL.md +46 -0
- package/.codex/skills/writing-plans/SKILL.md +320 -0
- package/.codex/skills/writing-skills/SKILL.md +287 -0
- package/.codex/skills/writing-skills/anthropic-best-practices.md +1173 -0
- package/.codex/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/.codex/skills/writing-skills/persuasion-principles.md +220 -0
- package/.codex/skills/writing-skills/references/anti-patterns.md +25 -0
- package/.codex/skills/writing-skills/references/claude-search-optimization.md +140 -0
- package/.codex/skills/writing-skills/references/discovery-workflow.md +11 -0
- package/.codex/skills/writing-skills/references/file-organization.md +32 -0
- package/.codex/skills/writing-skills/references/flowcharts-and-examples.md +57 -0
- package/.codex/skills/writing-skills/references/rationalization-hardening.md +75 -0
- package/.codex/skills/writing-skills/references/testing-skill-types.md +52 -0
- package/.template-manifest.json +631 -0
- package/AGENTS.md +719 -0
- package/AGENTS.override.md.example +7 -0
- package/CHANGELOG.md +28 -0
- package/LICENSE +21 -0
- package/README.md +641 -0
- package/bin/codexkit +148 -0
- package/install/bead-close.sh +20 -0
- package/install/bead-search.sh +18 -0
- package/install/bead-start.sh +20 -0
- package/install/bead-sync.sh +19 -0
- package/install/bead-verify.sh +20 -0
- package/install/generate-manifest.sh +55 -0
- package/install/install-global.sh +150 -0
- package/install/install-project.sh +704 -0
- package/install/install-remote.sh +152 -0
- package/install/patch.sh +478 -0
- package/install/plugin.sh +565 -0
- package/install/run-codex.sh +68 -0
- package/install/template.sh +620 -0
- package/install/validate.sh +653 -0
- package/package.json +39 -0
- package/templates/global/.codex-config-template.toml +87 -0
- package/templates/global/AGENTS.override.md +18 -0
- package/templates/global/README.md +29 -0
- package/templates/project/.codex-config-template.toml +26 -0
- package/templates/project/AGENTS.md.template +27 -0
- package/templates/project/README.md +24 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
# Cloudflare Zaraz Skill
|
|
2
|
+
|
|
3
|
+
Expert guidance for Cloudflare Zaraz - server-side tag manager for loading third-party tools at the edge.
|
|
4
|
+
|
|
5
|
+
## What is Zaraz?
|
|
6
|
+
|
|
7
|
+
Zaraz offloads third-party scripts (analytics, ads, chat, marketing) to Cloudflare's edge, improving site speed, privacy, and security. Zero client-side performance impact.
|
|
8
|
+
|
|
9
|
+
## Core Concepts
|
|
10
|
+
|
|
11
|
+
- **Server-side execution** - Scripts run on Cloudflare, not user's browser
|
|
12
|
+
- **Single HTTP request** - All tools loaded via one endpoint
|
|
13
|
+
- **Privacy-first** - Control data sent to third parties
|
|
14
|
+
- **No client-side JS** - Minimal browser overhead
|
|
15
|
+
|
|
16
|
+
## Zaraz Dashboard Setup
|
|
17
|
+
|
|
18
|
+
1. Navigate to domain > Zaraz
|
|
19
|
+
2. Click "Start setup"
|
|
20
|
+
3. Add tools (Google Analytics, Facebook Pixel, etc.)
|
|
21
|
+
4. Configure triggers and actions
|
|
22
|
+
|
|
23
|
+
## Web API
|
|
24
|
+
|
|
25
|
+
Zaraz provides `zaraz` object in browser:
|
|
26
|
+
|
|
27
|
+
### Track Events
|
|
28
|
+
|
|
29
|
+
```javascript
|
|
30
|
+
// Basic event
|
|
31
|
+
zaraz.track('button_click');
|
|
32
|
+
|
|
33
|
+
// Event with properties
|
|
34
|
+
zaraz.track('purchase', {
|
|
35
|
+
value: 99.99,
|
|
36
|
+
currency: 'USD',
|
|
37
|
+
item_id: '12345'
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// E-commerce events
|
|
41
|
+
zaraz.track('add_to_cart', {
|
|
42
|
+
product_name: 'Widget',
|
|
43
|
+
price: 29.99,
|
|
44
|
+
quantity: 1
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Set User Properties
|
|
49
|
+
|
|
50
|
+
```javascript
|
|
51
|
+
zaraz.set('userId', 'user_12345');
|
|
52
|
+
zaraz.set('plan', 'premium');
|
|
53
|
+
zaraz.set({
|
|
54
|
+
email: '[email protected]',
|
|
55
|
+
country: 'US',
|
|
56
|
+
age: 30
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### E-commerce Tracking
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
// Product view
|
|
64
|
+
zaraz.ecommerce('Product Viewed', {
|
|
65
|
+
product_id: 'SKU123',
|
|
66
|
+
name: 'Blue Widget',
|
|
67
|
+
price: 49.99,
|
|
68
|
+
currency: 'USD'
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Add to cart
|
|
72
|
+
zaraz.ecommerce('Product Added', {
|
|
73
|
+
product_id: 'SKU123',
|
|
74
|
+
quantity: 2,
|
|
75
|
+
price: 49.99
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// Purchase
|
|
79
|
+
zaraz.ecommerce('Order Completed', {
|
|
80
|
+
order_id: 'ORD-789',
|
|
81
|
+
total: 149.98,
|
|
82
|
+
revenue: 149.98,
|
|
83
|
+
shipping: 10.00,
|
|
84
|
+
tax: 12.50,
|
|
85
|
+
currency: 'USD',
|
|
86
|
+
products: [
|
|
87
|
+
{ product_id: 'SKU123', quantity: 2, price: 49.99 }
|
|
88
|
+
]
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Consent Management
|
|
93
|
+
|
|
94
|
+
```javascript
|
|
95
|
+
// Check consent status
|
|
96
|
+
if (zaraz.consent.getAll().analytics) {
|
|
97
|
+
zaraz.track('page_view');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Request consent
|
|
101
|
+
zaraz.consent.modal = true; // Show consent modal
|
|
102
|
+
|
|
103
|
+
// Set consent programmatically
|
|
104
|
+
zaraz.consent.setAll({
|
|
105
|
+
analytics: true,
|
|
106
|
+
marketing: false,
|
|
107
|
+
preferences: true
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// Listen for consent changes
|
|
111
|
+
zaraz.consent.addEventListener('consentChanged', () => {
|
|
112
|
+
console.log('Consent updated:', zaraz.consent.getAll());
|
|
113
|
+
});
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Workers Integration
|
|
117
|
+
|
|
118
|
+
Access Zaraz data in Workers:
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
export default {
|
|
122
|
+
async fetch(req: Request): Promise<Response> {
|
|
123
|
+
const url = new URL(req.url);
|
|
124
|
+
|
|
125
|
+
// Inject Zaraz tracking
|
|
126
|
+
if (url.pathname === '/checkout') {
|
|
127
|
+
const response = await fetch(req);
|
|
128
|
+
const html = await response.text();
|
|
129
|
+
|
|
130
|
+
const tracking = `
|
|
131
|
+
<script>
|
|
132
|
+
zaraz.track('checkout_started', {
|
|
133
|
+
cart_value: 99.99
|
|
134
|
+
});
|
|
135
|
+
</script>
|
|
136
|
+
`;
|
|
137
|
+
|
|
138
|
+
const modified = html.replace('</body>', tracking + '</body>');
|
|
139
|
+
return new Response(modified, response);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return fetch(req);
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Triggers
|
|
148
|
+
|
|
149
|
+
Configure when tools fire:
|
|
150
|
+
|
|
151
|
+
### Page Rules
|
|
152
|
+
|
|
153
|
+
- **Pageview** - On every page load
|
|
154
|
+
- **DOM Ready** - When DOM is ready
|
|
155
|
+
- **Click** - Element clicks (CSS selector)
|
|
156
|
+
- **Form submission** - Form submits
|
|
157
|
+
- **Scroll depth** - User scrolls percentage
|
|
158
|
+
- **Timer** - After time elapsed
|
|
159
|
+
- **Variable match** - Custom conditions
|
|
160
|
+
|
|
161
|
+
### Example Trigger
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
Trigger: Button Click
|
|
165
|
+
Match rule: CSS Selector = .buy-button
|
|
166
|
+
Action: Track event "purchase_intent"
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Common Tools
|
|
170
|
+
|
|
171
|
+
### Google Analytics 4
|
|
172
|
+
|
|
173
|
+
```javascript
|
|
174
|
+
// Track page view (automatic)
|
|
175
|
+
zaraz.track('pageview');
|
|
176
|
+
|
|
177
|
+
// Custom event
|
|
178
|
+
zaraz.track('sign_up', {
|
|
179
|
+
method: 'email'
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Facebook Pixel
|
|
184
|
+
|
|
185
|
+
```javascript
|
|
186
|
+
zaraz.track('PageView');
|
|
187
|
+
zaraz.track('Purchase', {
|
|
188
|
+
value: 99.99,
|
|
189
|
+
currency: 'USD'
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Google Ads Conversion
|
|
194
|
+
|
|
195
|
+
```javascript
|
|
196
|
+
zaraz.track('conversion', {
|
|
197
|
+
send_to: 'AW-XXXXXXXXX/YYYYYY',
|
|
198
|
+
value: 1.00,
|
|
199
|
+
currency: 'USD'
|
|
200
|
+
});
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Custom Managed Components
|
|
204
|
+
|
|
205
|
+
Build custom tools:
|
|
206
|
+
|
|
207
|
+
```javascript
|
|
208
|
+
// Example: Custom analytics tool
|
|
209
|
+
export default class CustomAnalytics {
|
|
210
|
+
async handleEvent(event) {
|
|
211
|
+
const { type, payload } = event;
|
|
212
|
+
|
|
213
|
+
await fetch('https://analytics.example.com/track', {
|
|
214
|
+
method: 'POST',
|
|
215
|
+
body: JSON.stringify({
|
|
216
|
+
event: type,
|
|
217
|
+
properties: payload,
|
|
218
|
+
timestamp: Date.now()
|
|
219
|
+
})
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Data Layer
|
|
226
|
+
|
|
227
|
+
Use `zaraz.dataLayer` for structured data:
|
|
228
|
+
|
|
229
|
+
```javascript
|
|
230
|
+
// Set data layer
|
|
231
|
+
window.zaraz.dataLayer = {
|
|
232
|
+
user_id: '12345',
|
|
233
|
+
page_type: 'product',
|
|
234
|
+
category: 'electronics'
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
// Access in triggers
|
|
238
|
+
// Variable: {{client.__zarazTrack.page_type}}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## Server-Side Configuration
|
|
242
|
+
|
|
243
|
+
### zaraz.toml
|
|
244
|
+
|
|
245
|
+
```toml
|
|
246
|
+
[settings]
|
|
247
|
+
auto_inject = true
|
|
248
|
+
debug_mode = false
|
|
249
|
+
|
|
250
|
+
[[tools]]
|
|
251
|
+
type = "google-analytics"
|
|
252
|
+
id = "G-XXXXXXXXXX"
|
|
253
|
+
|
|
254
|
+
[[tools.triggers]]
|
|
255
|
+
match_rule = "Pageview"
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Privacy Features
|
|
259
|
+
|
|
260
|
+
1. **IP anonymization** - Automatic
|
|
261
|
+
2. **Cookie control** - Consent-based
|
|
262
|
+
3. **Data minimization** - Send only necessary data
|
|
263
|
+
4. **Regional compliance** - GDPR, CCPA support
|
|
264
|
+
|
|
265
|
+
## Performance
|
|
266
|
+
|
|
267
|
+
```javascript
|
|
268
|
+
// Zaraz automatically:
|
|
269
|
+
// - Batches requests
|
|
270
|
+
// - Defers non-critical scripts
|
|
271
|
+
// - Proxies third-party requests
|
|
272
|
+
// - Caches tool configurations
|
|
273
|
+
|
|
274
|
+
// Result: ~0ms client-side overhead
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Debugging
|
|
278
|
+
|
|
279
|
+
```javascript
|
|
280
|
+
// Enable debug mode in dashboard, then:
|
|
281
|
+
zaraz.debug = true;
|
|
282
|
+
|
|
283
|
+
// View events in console
|
|
284
|
+
zaraz.track('test_event', { debug: true });
|
|
285
|
+
|
|
286
|
+
// Check loaded tools
|
|
287
|
+
console.log(zaraz.tools);
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## Best Practices
|
|
291
|
+
|
|
292
|
+
1. **Use triggers** instead of inline `zaraz.track()` when possible
|
|
293
|
+
2. **Batch events** for related actions
|
|
294
|
+
3. **Test with debug mode** before production
|
|
295
|
+
4. **Implement consent** for GDPR compliance
|
|
296
|
+
5. **Monitor performance** in dashboard analytics
|
|
297
|
+
6. **Use data layer** for structured data
|
|
298
|
+
|
|
299
|
+
## Common Patterns
|
|
300
|
+
|
|
301
|
+
### SPA Tracking
|
|
302
|
+
|
|
303
|
+
```javascript
|
|
304
|
+
// On route change
|
|
305
|
+
router.afterEach((to, from) => {
|
|
306
|
+
zaraz.track('pageview', {
|
|
307
|
+
page_path: to.path,
|
|
308
|
+
page_title: to.meta.title
|
|
309
|
+
});
|
|
310
|
+
});
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### User Identification
|
|
314
|
+
|
|
315
|
+
```javascript
|
|
316
|
+
// On login
|
|
317
|
+
zaraz.set('user_id', user.id);
|
|
318
|
+
zaraz.set('user_email', user.email);
|
|
319
|
+
zaraz.track('login', { method: 'password' });
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### A/B Testing
|
|
323
|
+
|
|
324
|
+
```javascript
|
|
325
|
+
const variant = Math.random() < 0.5 ? 'A' : 'B';
|
|
326
|
+
zaraz.set('ab_test_variant', variant);
|
|
327
|
+
zaraz.track('ab_test_view', { variant });
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
## Limits
|
|
331
|
+
|
|
332
|
+
- **Tools**: Unlimited
|
|
333
|
+
- **Events**: Unlimited
|
|
334
|
+
- **Data retention**: Per tool's policy
|
|
335
|
+
- **Request size**: 100KB per request
|
|
336
|
+
|
|
337
|
+
## Troubleshooting
|
|
338
|
+
|
|
339
|
+
### Events not firing
|
|
340
|
+
|
|
341
|
+
- Check trigger conditions in dashboard
|
|
342
|
+
- Verify tool is enabled
|
|
343
|
+
- Enable debug mode
|
|
344
|
+
- Check browser console for errors
|
|
345
|
+
|
|
346
|
+
### Consent issues
|
|
347
|
+
|
|
348
|
+
- Verify consent modal configuration
|
|
349
|
+
- Check `zaraz.consent.getAll()` status
|
|
350
|
+
- Ensure tools respect consent settings
|
|
351
|
+
|
|
352
|
+
## Reference
|
|
353
|
+
|
|
354
|
+
- [Zaraz Docs](https://developers.cloudflare.com/zaraz/)
|
|
355
|
+
- [Web API](https://developers.cloudflare.com/zaraz/web-api/)
|
|
356
|
+
- [Managed Components](https://developers.cloudflare.com/zaraz/advanced/load-custom-managed-component/)
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
This skill focuses exclusively on Zaraz. For Workers development, see `cloudflare-workers` skill.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-navigation
|
|
3
|
+
description: Use when navigating unfamiliar code, tracing cross-file dependencies, or before editing — efficient code reading patterns that minimize tool calls and token waste
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [workflow, code-quality, context]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Code Navigation Skill
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Exploring an unfamiliar codebase or module
|
|
14
|
+
- Tracing a function call across multiple files
|
|
15
|
+
- Understanding blast radius before a breaking change
|
|
16
|
+
- Planning edits that touch multiple files
|
|
17
|
+
|
|
18
|
+
## When NOT to Use
|
|
19
|
+
|
|
20
|
+
- Simple single-file edits where you already know the location
|
|
21
|
+
- Reading config or documentation files
|
|
22
|
+
|
|
23
|
+
## Core Principle
|
|
24
|
+
|
|
25
|
+
> Collapse multiple tool calls into fewer, smarter ones. Every unnecessary read or search wastes tokens and turns.
|
|
26
|
+
|
|
27
|
+
## Navigation Patterns
|
|
28
|
+
|
|
29
|
+
### Pattern 1: Search First, Read Second
|
|
30
|
+
|
|
31
|
+
**Wrong** (3-6 tool calls):
|
|
32
|
+
```
|
|
33
|
+
glob("*.ts") → read(file1) → "too big" → grep("functionName") → read(file2) → read(file3, section)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Right** (1-2 tool calls):
|
|
37
|
+
```
|
|
38
|
+
grep("functionName", path: "src/") → read(exact_file, offset: line-10, limit: 30)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Start with search (grep, LSP findReferences) to locate, then read only what you need.
|
|
42
|
+
|
|
43
|
+
### Pattern 2: Multi-Symbol Search
|
|
44
|
+
|
|
45
|
+
When tracing a call chain (A calls B calls C), search for all symbols together:
|
|
46
|
+
```
|
|
47
|
+
grep({ pattern: "functionA|functionB|functionC", path: "src/" })
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Or use LSP outgoingCalls to get the full call tree from a single point.
|
|
51
|
+
|
|
52
|
+
### Pattern 3: Don't Re-Read What You've Already Seen
|
|
53
|
+
|
|
54
|
+
**Anti-pattern**: Search returns full function body, then agent reads the same file again.
|
|
55
|
+
|
|
56
|
+
If search results already show the code you need, work from that output. Only re-read when:
|
|
57
|
+
- You need surrounding context (lines above/below the match)
|
|
58
|
+
- You need the exact content for editing (verify before edit)
|
|
59
|
+
- The search result was truncated
|
|
60
|
+
|
|
61
|
+
### Pattern 4: Blast Radius Check (Before Breaking Changes)
|
|
62
|
+
|
|
63
|
+
**WHEN**: Before renaming, removing, or changing the signature of an export.
|
|
64
|
+
**SKIP**: When adding new code, fixing internal bugs, or reading.
|
|
65
|
+
|
|
66
|
+
Steps:
|
|
67
|
+
1. `lsp({ operation: "findReferences" })` — find all callers
|
|
68
|
+
2. `lsp({ operation: "incomingCalls" })` — get the call hierarchy
|
|
69
|
+
3. Review each caller to assess impact
|
|
70
|
+
4. Plan edits from leaf callers inward (furthest dependencies first)
|
|
71
|
+
|
|
72
|
+
### Pattern 5: Context Locality
|
|
73
|
+
|
|
74
|
+
When editing a file, search results from the same directory/package are more likely relevant. Pass context when available:
|
|
75
|
+
- In grep: use `path: "src/same-module/"` to scope
|
|
76
|
+
- In LSP: operations are already file-scoped
|
|
77
|
+
- In tilth: pass `context` param to boost nearby results
|
|
78
|
+
|
|
79
|
+
### Pattern 6: Outline Before Deep Read
|
|
80
|
+
|
|
81
|
+
For large files (>200 lines), get the structure first:
|
|
82
|
+
```
|
|
83
|
+
lsp({ operation: "documentSymbol", filePath: "src/large-file.ts", line: 1, character: 1 })
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
This gives you function names + line ranges. Then read only the section you need with `offset` and `limit`.
|
|
87
|
+
|
|
88
|
+
### Pattern 7: Follow the Call Chain (Not the File Tree)
|
|
89
|
+
|
|
90
|
+
**Wrong**: Read files top-to-bottom hoping to understand the flow.
|
|
91
|
+
**Right**: Start from the entry point, follow function calls:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
1. lsp({ operation: "goToDefinition" }) → find where it's defined
|
|
95
|
+
2. lsp({ operation: "outgoingCalls" }) → what does it call?
|
|
96
|
+
3. lsp({ operation: "goToDefinition" }) → follow the interesting callee
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## With tilth MCP
|
|
100
|
+
|
|
101
|
+
When tilth is available, it provides superior navigation:
|
|
102
|
+
|
|
103
|
+
| Built-in Tool | tilth Equivalent | Advantage |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| `grep` + `read` | `tilth_search` (expand: 2) | Returns definitions with inline source — no second read needed |
|
|
106
|
+
| `glob` | `tilth_files` | Adds token estimates per file |
|
|
107
|
+
| `read` (large file) | `tilth_read` | Auto-outlines large files, shows structure |
|
|
108
|
+
| `lsp(incomingCalls)` | `tilth_search(kind: "callers")` | Cross-language structural caller detection |
|
|
109
|
+
| Manual tracing | `tilth_deps` | Shows imports + downstream callers before breaking changes |
|
|
110
|
+
|
|
111
|
+
**IMPORTANT**: If tilth is available, prefer it over built-in grep/glob/read for code navigation. Tilth's expanded search results include full source — do NOT re-read files already shown in search output.
|
|
112
|
+
|
|
113
|
+
## Cost Awareness
|
|
114
|
+
|
|
115
|
+
Every tool call has a token cost. Efficient navigation means:
|
|
116
|
+
- Fewer tool calls per task
|
|
117
|
+
- Less context consumed by redundant reads
|
|
118
|
+
- More budget available for actual implementation
|
|
119
|
+
|
|
120
|
+
**Target**: Find and understand any symbol in ≤3 tool calls, not 6+.
|
|
121
|
+
|
|
122
|
+
## Common Mistakes
|
|
123
|
+
|
|
124
|
+
| Mistake | Fix |
|
|
125
|
+
|---|---|
|
|
126
|
+
| Read entire large file | Use outline first, then section read |
|
|
127
|
+
| Search → read same code again | Work from search results directly |
|
|
128
|
+
| Trace calls one-by-one | Multi-symbol search or outgoingCalls |
|
|
129
|
+
| Explore randomly | Start from entry point, follow calls |
|
|
130
|
+
| Forget to check blast radius | Always check before signature changes |
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: Formal review framework with severity levels, categories, and actionable finding format.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# code-review
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
Produce high-signal, actionable review feedback that improves code quality without blocking on style-only noise.
|
|
10
|
+
|
|
11
|
+
## Use This Skill When
|
|
12
|
+
- Reviewing pull requests before merge
|
|
13
|
+
- Auditing risky changes (auth, billing, data deletion, concurrency)
|
|
14
|
+
- Validating hotfixes with limited test coverage
|
|
15
|
+
- Mentoring via review comments that teach and unblock
|
|
16
|
+
|
|
17
|
+
## Workflow Phases
|
|
18
|
+
1. Context gather
|
|
19
|
+
2. Diff analysis
|
|
20
|
+
3. Risk classification
|
|
21
|
+
4. Findings report
|
|
22
|
+
|
|
23
|
+
## Expected Outputs
|
|
24
|
+
- Structured findings with `file:line`
|
|
25
|
+
- Correct severity assignment (P0-P3)
|
|
26
|
+
- Concrete fix direction and verification hint
|
|
27
|
+
- Merge recommendation (approve / request changes)
|
|
28
|
+
|
|
29
|
+
## Success Indicators
|
|
30
|
+
- Findings map to real user or system impact
|
|
31
|
+
- No speculative claims without evidence from diff/tests
|
|
32
|
+
- Security and performance risks called out explicitly
|
|
33
|
+
- Reviewer comments are short, precise, and patchable
|
|
34
|
+
|
|
35
|
+
## Fast Start
|
|
36
|
+
Run these commands first:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
git diff --name-only origin/main...HEAD
|
|
40
|
+
git diff -U5 origin/main...HEAD
|
|
41
|
+
npm run typecheck
|
|
42
|
+
npm test -- --runInBand
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Severity Scale
|
|
46
|
+
|
|
47
|
+
| Severity | Meaning | Merge Impact |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| P0 | Blocker; unsafe to merge | Block merge |
|
|
50
|
+
| P1 | Must fix; high risk or correctness issue | Block merge |
|
|
51
|
+
| P2 | Should fix; medium risk or maintainability gap | Can merge with follow-up |
|
|
52
|
+
| P3 | Nit; style or optional improvement | Optional |
|
|
53
|
+
|
|
54
|
+
## Review Categories
|
|
55
|
+
- Correctness
|
|
56
|
+
- Security
|
|
57
|
+
- Performance
|
|
58
|
+
- Maintainability
|
|
59
|
+
- Test adequacy
|
|
60
|
+
|
|
61
|
+
## Finding Format
|
|
62
|
+
```text
|
|
63
|
+
- file:line — [P1][Correctness]
|
|
64
|
+
Issue: <specific behavior defect>
|
|
65
|
+
Why: <user/system impact>
|
|
66
|
+
Suggestion: <minimal patch direction>
|
|
67
|
+
Verify: <test or command that proves fix>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Review Order (high-signal first)
|
|
71
|
+
1. Entry points and trust boundaries (HTTP handlers, CLI args, webhooks)
|
|
72
|
+
2. State mutation paths (writes, deletes, side effects)
|
|
73
|
+
3. Error handling and rollback paths
|
|
74
|
+
4. Concurrency/async behavior (race conditions, stale reads)
|
|
75
|
+
5. Tests and assertions around changed behavior
|
|
76
|
+
6. Naming/readability nits only after major risks are cleared
|
|
77
|
+
|
|
78
|
+
## Language-Specific Checklist
|
|
79
|
+
|
|
80
|
+
### TypeScript / JavaScript
|
|
81
|
+
- Validate untrusted input with schema/runtime checks, not just types.
|
|
82
|
+
- Avoid `any` and unsafe casts in new code paths.
|
|
83
|
+
- Ensure async calls are awaited or intentionally fire-and-forget with comment.
|
|
84
|
+
- Check promise rejection handling (`try/catch`, `Promise.allSettled` where needed).
|
|
85
|
+
- Verify narrow types after guards; avoid non-null assertions unless proven.
|
|
86
|
+
- Prefer pure helpers for business logic; keep handlers thin.
|
|
87
|
+
|
|
88
|
+
### Python
|
|
89
|
+
- Check mutable default arguments and shared-state hazards.
|
|
90
|
+
- Verify exception specificity (`except Exception` only with clear re-raise strategy).
|
|
91
|
+
- Confirm context managers for files/connections/locks.
|
|
92
|
+
- Validate serialization boundaries (datetime/timezone, Decimal/float conversion).
|
|
93
|
+
- Watch for N+1 ORM queries and missing prefetch/select_related.
|
|
94
|
+
|
|
95
|
+
### Go
|
|
96
|
+
- Ensure errors are wrapped with context and not dropped.
|
|
97
|
+
- Confirm `context.Context` propagation to I/O and DB calls.
|
|
98
|
+
- Verify goroutine lifecycle and channel close ownership.
|
|
99
|
+
- Look for data races on shared maps/slices.
|
|
100
|
+
- Check nil interface pitfalls (`var err error = (*MyErr)(nil)`).
|
|
101
|
+
|
|
102
|
+
### Rust
|
|
103
|
+
- Confirm ownership/borrowing changes preserve invariants.
|
|
104
|
+
- Avoid `unwrap()`/`expect()` in production paths unless truly impossible.
|
|
105
|
+
- Review `unsafe` blocks for documented invariants.
|
|
106
|
+
- Check `Send/Sync` assumptions when introducing threads/tasks.
|
|
107
|
+
- Prefer explicit error types over broad boxed errors at boundaries.
|
|
108
|
+
|
|
109
|
+
### SQL / Data Layer
|
|
110
|
+
- Parameterize all dynamic values (no string-built SQL).
|
|
111
|
+
- Verify indexes cover new filter/order predicates.
|
|
112
|
+
- Ensure pagination is stable (deterministic ORDER BY).
|
|
113
|
+
- Check transaction boundaries and isolation assumptions.
|
|
114
|
+
- Review migration safety: backfill strategy, lock duration, rollback plan.
|
|
115
|
+
|
|
116
|
+
## Security Review Patterns
|
|
117
|
+
|
|
118
|
+
### Input and trust boundary
|
|
119
|
+
- Is every external input validated and normalized once?
|
|
120
|
+
- Are dangerous fields allowlisted rather than blocklisted?
|
|
121
|
+
- Are file paths/URLs/commands sanitized before use?
|
|
122
|
+
|
|
123
|
+
### AuthN / AuthZ
|
|
124
|
+
- Is identity established before reading protected resources?
|
|
125
|
+
- Is authorization checked on object-level operations (IDOR prevention)?
|
|
126
|
+
- Are role checks centralized and test-covered?
|
|
127
|
+
|
|
128
|
+
### Secrets and data exposure
|
|
129
|
+
- No secrets in logs, errors, snapshots, fixtures.
|
|
130
|
+
- Errors should avoid leaking internals (SQL, stack traces, tokens).
|
|
131
|
+
- Sensitive payloads should be redacted in telemetry.
|
|
132
|
+
|
|
133
|
+
### Injection and SSRF
|
|
134
|
+
- SQL/NoSQL/query injections blocked via parameterization.
|
|
135
|
+
- Template rendering escapes untrusted values.
|
|
136
|
+
- Outbound fetches restrict protocols/hosts where applicable.
|
|
137
|
+
|
|
138
|
+
### State-changing operations
|
|
139
|
+
- CSRF protections for cookie-authenticated state changes.
|
|
140
|
+
- Idempotency keys for payment/order/retry-prone endpoints.
|
|
141
|
+
- Replay protections for signed webhooks.
|
|
142
|
+
|
|
143
|
+
## Performance Review Patterns
|
|
144
|
+
- Replace O(n²) loops with maps/sets when cardinality can grow.
|
|
145
|
+
- Collapse repeated DB/API calls into batch fetches.
|
|
146
|
+
- Push filtering/sorting to DB when indexes exist.
|
|
147
|
+
- Avoid full object serialization when partial fields suffice.
|
|
148
|
+
- Check cache correctness (TTL, key cardinality, invalidation path).
|
|
149
|
+
- Validate that background work is bounded (queue size, retries, backoff).
|
|
150
|
+
|
|
151
|
+
## Test Adequacy Heuristics
|
|
152
|
+
- New branch added → at least one test that fails without the branch.
|
|
153
|
+
- Bug fix → regression test reproduces old failure first.
|
|
154
|
+
- Security-sensitive change → negative tests for unauthorized inputs.
|
|
155
|
+
- Data mutation change → tests assert persisted state, not only response body.
|
|
156
|
+
- Concurrency change → tests with deterministic synchronization when possible.
|
|
157
|
+
|
|
158
|
+
## Concrete Finding Examples
|
|
159
|
+
|
|
160
|
+
### P0 example
|
|
161
|
+
- `src/auth/token.ts:88` — [P0][Security]
|
|
162
|
+
Issue: JWT verification skips signature check when `alg` header missing.
|
|
163
|
+
Why: Forged tokens can authenticate as arbitrary users.
|
|
164
|
+
Suggestion: Reject tokens without explicit allowed algorithm and enforce signature verification.
|
|
165
|
+
Verify: Add test with forged unsigned token; auth must fail.
|
|
166
|
+
|
|
167
|
+
### P1 example
|
|
168
|
+
- `src/orders/create.ts:142` — [P1][Correctness]
|
|
169
|
+
Issue: Inventory decrement occurs before payment confirmation and is never rolled back on payment failure.
|
|
170
|
+
Why: Stock drift and oversell under transient payment errors.
|
|
171
|
+
Suggestion: Wrap inventory+payment finalization in transaction or reserve-then-confirm workflow.
|
|
172
|
+
Verify: Simulate payment error; inventory remains unchanged.
|
|
173
|
+
|
|
174
|
+
### P2 example
|
|
175
|
+
- `src/reports/monthly.ts:54` — [P2][Performance]
|
|
176
|
+
Issue: Per-customer DB query inside loop (`N+1` pattern).
|
|
177
|
+
Why: Latency grows linearly with customer count.
|
|
178
|
+
Suggestion: Fetch aggregates in one grouped query and map results in memory.
|
|
179
|
+
Verify: Benchmark 1k customers before/after.
|
|
180
|
+
|
|
181
|
+
### P3 example
|
|
182
|
+
- `src/cli/flags.ts:19` — [P3][Maintainability]
|
|
183
|
+
Issue: Option name `x` is non-descriptive.
|
|
184
|
+
Why: Increases onboarding and misuse risk.
|
|
185
|
+
Suggestion: Rename to `--dry-run` and keep alias for compatibility.
|
|
186
|
+
Verify: CLI help output includes new flag and alias works.
|
|
187
|
+
|
|
188
|
+
## Merge Recommendation Rules
|
|
189
|
+
- **Approve**: no P0/P1 findings; tests and type checks pass.
|
|
190
|
+
- **Request changes**: any P0/P1, or missing verification for risky areas.
|
|
191
|
+
- **Approve with follow-ups**: only P2/P3 findings with clear tickets.
|
|
192
|
+
|
|
193
|
+
## Comment Writing Rules
|
|
194
|
+
- Lead with impact, not preference.
|
|
195
|
+
- One issue per comment.
|
|
196
|
+
- Include minimal fix direction, not full rewrite requests.
|
|
197
|
+
- Avoid “consider maybe”; be explicit about severity and reason.
|
|
198
|
+
|
|
199
|
+
## Anti-Patterns to Avoid in Review
|
|
200
|
+
- Nit-picking style while missing security/correctness flaws.
|
|
201
|
+
- Requiring large refactors unrelated to the diff.
|
|
202
|
+
- Commenting on generated or vendored files unless security-critical.
|
|
203
|
+
- Asking for tests without naming the behavior gap.
|
|
204
|
+
|
|
205
|
+
## Exit Criteria
|
|
206
|
+
- Every major risk area reviewed (correctness, security, performance, tests).
|
|
207
|
+
- Findings include severity, impact, and actionable fix path.
|
|
208
|
+
- Merge recommendation is explicit and justified.
|