@decocms/start 0.19.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/.cursor/skills/deco-api-call-dedup/SKILL.md +443 -0
- package/.cursor/skills/deco-apps-architecture/SKILL.md +255 -0
- package/.cursor/skills/deco-apps-architecture/app-pattern.md +288 -0
- package/.cursor/skills/deco-apps-architecture/commerce-types.md +239 -0
- package/.cursor/skills/deco-apps-architecture/new-app-guide.md +268 -0
- package/.cursor/skills/deco-apps-architecture/scripts-codegen.md +148 -0
- package/.cursor/skills/deco-apps-architecture/shared-utils.md +181 -0
- package/.cursor/skills/deco-apps-architecture/vtex-deep-structure.md +253 -0
- package/.cursor/skills/deco-apps-architecture/website-app.md +169 -0
- package/.cursor/skills/deco-apps-vtex-porting/SKILL.md +189 -0
- package/.cursor/skills/deco-apps-vtex-porting/adaptation-patterns.md +335 -0
- package/.cursor/skills/deco-apps-vtex-porting/commerce-porting.md +155 -0
- package/.cursor/skills/deco-apps-vtex-porting/cookie-auth-patterns.md +148 -0
- package/.cursor/skills/deco-apps-vtex-porting/structure-map.md +234 -0
- package/.cursor/skills/deco-apps-vtex-porting/transform-mapping.md +99 -0
- package/.cursor/skills/deco-apps-vtex-porting/website-porting.md +194 -0
- package/.cursor/skills/deco-apps-vtex-review/SKILL.md +234 -0
- package/.cursor/skills/deco-async-rendering-architecture/SKILL.md +270 -0
- package/.cursor/skills/deco-async-rendering-site-guide/SKILL.md +417 -0
- package/.cursor/skills/deco-cms-layout-caching/SKILL.md +293 -0
- package/.cursor/skills/deco-cms-route-config/SKILL.md +388 -0
- package/.cursor/skills/deco-core-architecture/SKILL.md +185 -0
- package/.cursor/skills/deco-core-architecture/blocks.md +196 -0
- package/.cursor/skills/deco-core-architecture/deco-vs-deco-start.md +191 -0
- package/.cursor/skills/deco-core-architecture/engine.md +220 -0
- package/.cursor/skills/deco-core-architecture/hooks-components.md +157 -0
- package/.cursor/skills/deco-core-architecture/plugins-clients.md +136 -0
- package/.cursor/skills/deco-core-architecture/runtime.md +116 -0
- package/.cursor/skills/deco-core-architecture/site-usage.md +165 -0
- package/.cursor/skills/deco-e2e-testing/SKILL.md +372 -0
- package/.cursor/skills/deco-e2e-testing/discovery.md +337 -0
- package/.cursor/skills/deco-e2e-testing/scripts/scaffold.sh +81 -0
- package/.cursor/skills/deco-e2e-testing/selectors.md +175 -0
- package/.cursor/skills/deco-e2e-testing/templates/package.json +18 -0
- package/.cursor/skills/deco-e2e-testing/templates/playwright.config.ts +65 -0
- package/.cursor/skills/deco-e2e-testing/templates/scripts/baseline.ts +279 -0
- package/.cursor/skills/deco-e2e-testing/templates/scripts/run-e2e.ts +194 -0
- package/.cursor/skills/deco-e2e-testing/templates/specs/ecommerce-flow.spec.ts +612 -0
- package/.cursor/skills/deco-e2e-testing/templates/tsconfig.json +12 -0
- package/.cursor/skills/deco-e2e-testing/templates/utils/metrics-collector.ts +918 -0
- package/.cursor/skills/deco-e2e-testing/troubleshooting.md +602 -0
- package/.cursor/skills/deco-edge-caching/SKILL.md +316 -0
- package/.cursor/skills/deco-full-analysis/SKILL.md +898 -0
- package/.cursor/skills/deco-full-analysis/checklists/asset-optimization.md +251 -0
- package/.cursor/skills/deco-full-analysis/checklists/bug-fix.md +189 -0
- package/.cursor/skills/deco-full-analysis/checklists/cache-strategy.md +144 -0
- package/.cursor/skills/deco-full-analysis/checklists/dependency-update.md +150 -0
- package/.cursor/skills/deco-full-analysis/checklists/hydration-fix.md +191 -0
- package/.cursor/skills/deco-full-analysis/checklists/image-optimization.md +180 -0
- package/.cursor/skills/deco-full-analysis/checklists/loader-optimization.md +165 -0
- package/.cursor/skills/deco-full-analysis/checklists/seo-fix.md +183 -0
- package/.cursor/skills/deco-full-analysis/checklists/site-cleanup.md +281 -0
- package/.cursor/skills/deco-full-analysis/discovery.md +548 -0
- package/.cursor/skills/deco-incident-debugging/SKILL.md +378 -0
- package/.cursor/skills/deco-incident-debugging/headless-mode.md +510 -0
- package/.cursor/skills/deco-incident-debugging/learnings-index.md +227 -0
- package/.cursor/skills/deco-incident-debugging/triage-workflow.md +312 -0
- package/.cursor/skills/deco-islands-migration/SKILL.md +251 -0
- package/.cursor/skills/deco-loader-n-plus-1-detector/SKILL.md +275 -0
- package/.cursor/skills/deco-performance-audit/SKILL.md +530 -0
- package/.cursor/skills/deco-performance-audit/tools-reference.md +428 -0
- package/.cursor/skills/deco-performance-audit/workflow.md +457 -0
- package/.cursor/skills/deco-server-functions-invoke/SKILL.md +92 -0
- package/.cursor/skills/deco-server-functions-invoke/architecture.md +166 -0
- package/.cursor/skills/deco-server-functions-invoke/generator.md +122 -0
- package/.cursor/skills/deco-server-functions-invoke/problem.md +98 -0
- package/.cursor/skills/deco-server-functions-invoke/troubleshooting.md +110 -0
- package/.cursor/skills/deco-site-deployment/SKILL.md +396 -0
- package/.cursor/skills/deco-site-memory-debugging/SKILL.md +121 -0
- package/.cursor/skills/deco-site-memory-debugging/cdp-connection.md +222 -0
- package/.cursor/skills/deco-site-memory-debugging/memory-analysis.md +362 -0
- package/.cursor/skills/deco-site-patterns/SKILL.md +124 -0
- package/.cursor/skills/deco-site-patterns/app-composition.md +337 -0
- package/.cursor/skills/deco-site-patterns/client-patterns.md +341 -0
- package/.cursor/skills/deco-site-patterns/cms-wiring.md +230 -0
- package/.cursor/skills/deco-site-patterns/section-patterns.md +340 -0
- package/.cursor/skills/deco-site-scaling-tuning/SKILL.md +240 -0
- package/.cursor/skills/deco-site-scaling-tuning/analysis-scripts.md +267 -0
- package/.cursor/skills/deco-start-architecture/SKILL.md +218 -0
- package/.cursor/skills/deco-start-architecture/admin-protocol.md +156 -0
- package/.cursor/skills/deco-start-architecture/cms-resolution.md +201 -0
- package/.cursor/skills/deco-start-architecture/code-quality.md +158 -0
- package/.cursor/skills/deco-start-architecture/gap-analysis.md +129 -0
- package/.cursor/skills/deco-start-architecture/sdk-utilities.md +197 -0
- package/.cursor/skills/deco-start-architecture/worker-entry-caching.md +154 -0
- package/.cursor/skills/deco-startup-analysis/SKILL.md +248 -0
- package/.cursor/skills/deco-storefront-test-checklist/SKILL.md +369 -0
- package/.cursor/skills/deco-tanstack-hydration-fixes/SKILL.md +468 -0
- package/.cursor/skills/deco-tanstack-navigation/SKILL.md +681 -0
- package/.cursor/skills/deco-tanstack-search/SKILL.md +411 -0
- package/.cursor/skills/deco-tanstack-storefront-patterns/SKILL.md +1013 -0
- package/.cursor/skills/deco-to-tanstack-migration/SKILL.md +518 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/codemod-commands.md +174 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/commerce/README.md +78 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/deco-framework/README.md +128 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/gotchas.md +719 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/imports/README.md +70 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/platform-hooks/README.md +154 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/signals/README.md +220 -0
- package/.cursor/skills/deco-to-tanstack-migration/references/vite-config/README.md +78 -0
- package/.cursor/skills/deco-to-tanstack-migration/templates/package-json.md +55 -0
- package/.cursor/skills/deco-to-tanstack-migration/templates/root-route.md +110 -0
- package/.cursor/skills/deco-to-tanstack-migration/templates/router.md +96 -0
- package/.cursor/skills/deco-to-tanstack-migration/templates/setup-ts.md +167 -0
- package/.cursor/skills/deco-to-tanstack-migration/templates/vite-config.md +122 -0
- package/.cursor/skills/deco-to-tanstack-migration/templates/worker-entry.md +67 -0
- package/.cursor/skills/deco-typescript-fixes/SKILL.md +178 -0
- package/.cursor/skills/deco-typescript-fixes/common-fixes.md +330 -0
- package/.cursor/skills/deco-typescript-fixes/strategy.md +148 -0
- package/.cursor/skills/deco-variant-selection-perf/SKILL.md +272 -0
- package/.cursor/skills/deco-vtex-fetch-cache/SKILL.md +225 -0
- package/.cursor/skills/find-skills/SKILL.md +133 -0
- package/.cursor/skills/incident-report/SKILL.md +179 -0
- package/.cursor/skills/incident-report/references/5-whys.md +75 -0
- package/.cursor/skills/incident-report/templates/client-report.md +187 -0
- package/.cursor/skills/incident-report/templates/internal-report.md +206 -0
- package/.cursor/skills/template-skill/SKILL.md +38 -0
- package/.github/workflows/release.yml +32 -0
- package/.releaserc.json +25 -0
- package/CLAUDE.md +135 -0
- package/GAP_ANALYSIS.md +224 -0
- package/GAP_ANALYSIS_V2.md +1013 -0
- package/biome.json +39 -0
- package/knip.json +5 -0
- package/package.json +87 -0
- package/scripts/generate-blocks.ts +69 -0
- package/scripts/generate-invoke.ts +378 -0
- package/scripts/generate-schema.ts +657 -0
- package/src/admin/cors.ts +29 -0
- package/src/admin/decofile.ts +72 -0
- package/src/admin/index.ts +24 -0
- package/src/admin/invoke.ts +163 -0
- package/src/admin/liveControls.ts +29 -0
- package/src/admin/meta.ts +70 -0
- package/src/admin/render.ts +205 -0
- package/src/admin/schema.ts +686 -0
- package/src/admin/setup.ts +44 -0
- package/src/cms/index.ts +59 -0
- package/src/cms/loader.ts +180 -0
- package/src/cms/registry.ts +162 -0
- package/src/cms/resolve.ts +1005 -0
- package/src/cms/sectionLoaders.ts +294 -0
- package/src/hooks/DecoPageRenderer.tsx +444 -0
- package/src/hooks/LazySection.tsx +109 -0
- package/src/hooks/LiveControls.tsx +108 -0
- package/src/hooks/SectionErrorFallback.tsx +85 -0
- package/src/hooks/index.ts +8 -0
- package/src/index.ts +5 -0
- package/src/matchers/builtins.ts +184 -0
- package/src/matchers/posthog.ts +154 -0
- package/src/middleware/decoState.ts +55 -0
- package/src/middleware/healthMetrics.ts +131 -0
- package/src/middleware/index.ts +80 -0
- package/src/middleware/liveness.ts +21 -0
- package/src/middleware/observability.ts +205 -0
- package/src/routes/adminRoutes.ts +83 -0
- package/src/routes/cmsRoute.ts +302 -0
- package/src/routes/components.tsx +34 -0
- package/src/routes/index.ts +15 -0
- package/src/sdk/analytics.ts +72 -0
- package/src/sdk/cacheHeaders.ts +268 -0
- package/src/sdk/cachedLoader.ts +206 -0
- package/src/sdk/clx.ts +3 -0
- package/src/sdk/cookie.ts +39 -0
- package/src/sdk/createInvoke.ts +57 -0
- package/src/sdk/csp.ts +59 -0
- package/src/sdk/env.ts +27 -0
- package/src/sdk/index.ts +63 -0
- package/src/sdk/instrumentedFetch.ts +137 -0
- package/src/sdk/invoke.ts +133 -0
- package/src/sdk/mergeCacheControl.ts +150 -0
- package/src/sdk/redirects.ts +217 -0
- package/src/sdk/requestContext.ts +184 -0
- package/src/sdk/serverTimings.ts +68 -0
- package/src/sdk/signal.ts +41 -0
- package/src/sdk/sitemap.ts +143 -0
- package/src/sdk/urlUtils.ts +117 -0
- package/src/sdk/useDevice.ts +82 -0
- package/src/sdk/useId.ts +7 -0
- package/src/sdk/useScript.ts +101 -0
- package/src/sdk/workerEntry.ts +703 -0
- package/src/sdk/wrapCaughtErrors.ts +107 -0
- package/src/types/index.ts +39 -0
- package/src/types/widgets.ts +13 -0
- package/tsconfig.json +13 -0
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deco-incident-debugging
|
|
3
|
+
description: Fast incident response skill for Deco engineering team. Rapidly identifies known issues from past learnings, proposes solutions, and guides debugging for new incidents. Optimized for speed - get to root cause in minutes, not hours.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Deco Incident Debugging
|
|
7
|
+
|
|
8
|
+
**PRIORITY: SPEED** - This skill is designed for real-time incident response. Every second counts. Execute the triage workflow immediately and propose solutions as fast as possible.
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
|
|
12
|
+
- **Production incident** in progress
|
|
13
|
+
- Site is down, slow, or showing errors
|
|
14
|
+
- Customer escalation requiring immediate response
|
|
15
|
+
- On-call engineer needs AI assistance during war room
|
|
16
|
+
- Post-incident to document root cause and learnings
|
|
17
|
+
|
|
18
|
+
## Quick Start - 60 Second Triage
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
1. GET SYMPTOMS → What error/behavior is the user seeing?
|
|
22
|
+
2. MATCH LEARNINGS → Search learnings/ for similar patterns
|
|
23
|
+
3. PROPOSE SOLUTIONS → If match found, apply known fix
|
|
24
|
+
4. DEEP DIVE → If no match, run diagnostic workflow
|
|
25
|
+
5. DOCUMENT → Capture new learning if novel issue
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Files in This Skill
|
|
29
|
+
|
|
30
|
+
| File | Purpose |
|
|
31
|
+
|------|---------|
|
|
32
|
+
| `SKILL.md` | This overview and quick reference |
|
|
33
|
+
| `triage-workflow.md` | Step-by-step fast triage process (interactive) |
|
|
34
|
+
| `headless-mode.md` | Autonomous investigation without human interaction |
|
|
35
|
+
| `learnings-index.md` | Categorized index of all past learnings |
|
|
36
|
+
|
|
37
|
+
## Operating Modes
|
|
38
|
+
|
|
39
|
+
### Interactive Mode (default)
|
|
40
|
+
Use when working alongside an engineer during an incident. The agent asks clarifying questions and collaborates on diagnosis.
|
|
41
|
+
|
|
42
|
+
### Headless Mode
|
|
43
|
+
Use when triggered automatically by incident management systems (PagerDuty, Opsgenie, etc.). The agent receives minimal context and autonomously:
|
|
44
|
+
1. Extracts keywords from alert message
|
|
45
|
+
2. Searches learnings for matching patterns
|
|
46
|
+
3. Collects live data (logs, metrics)
|
|
47
|
+
4. Correlates findings to known issues
|
|
48
|
+
5. Outputs structured diagnosis with proposed fix
|
|
49
|
+
|
|
50
|
+
See `headless-mode.md` for full autonomous workflow, input/output formats, and integration examples.
|
|
51
|
+
|
|
52
|
+
## Learnings Database
|
|
53
|
+
|
|
54
|
+
We have documented learnings from past incidents in `learnings/`. These contain:
|
|
55
|
+
|
|
56
|
+
- **Problem**: What went wrong
|
|
57
|
+
- **Symptoms**: Observable indicators
|
|
58
|
+
- **Root Cause**: Why it happened (with code examples)
|
|
59
|
+
- **Solution**: How to fix it (with code examples)
|
|
60
|
+
- **How to Debug**: Commands and techniques to diagnose
|
|
61
|
+
- **Impact**: What happens if unfixed
|
|
62
|
+
|
|
63
|
+
### Current Learnings Categories
|
|
64
|
+
|
|
65
|
+
| Category | Learnings | Key Issues |
|
|
66
|
+
|----------|-----------|------------|
|
|
67
|
+
| `cache-strategy` | 2 | Missing cache, cookie blocking edge cache |
|
|
68
|
+
| `loader-optimization` | 2 | N+1 overfetching, lazy section issues |
|
|
69
|
+
| `external-css` | 1 | Lazy sections missing styles |
|
|
70
|
+
| `block-config` | 1 | Dangling block references |
|
|
71
|
+
| `rich-text` | 1 | Hardcoded domain URLs |
|
|
72
|
+
| `ui-bug` | 1 | Invisible clickable areas |
|
|
73
|
+
| `responsive` | 1 | Breakpoint inconsistencies |
|
|
74
|
+
| `retry-logic` | 1 | Off-by-one retry attempts |
|
|
75
|
+
| `safari-bug` | 1 | Image flash on navigation |
|
|
76
|
+
| `vtex-routing` | 1 | myvtex vs vtexcommercestable domain |
|
|
77
|
+
| `migration` | 1 | Deno 1 to Deno 2 migration |
|
|
78
|
+
|
|
79
|
+
## Incident Response Workflow
|
|
80
|
+
|
|
81
|
+
### Phase 1: Rapid Assessment (< 2 minutes)
|
|
82
|
+
|
|
83
|
+
**Ask the engineer these questions:**
|
|
84
|
+
|
|
85
|
+
1. **What is the error message or behavior?**
|
|
86
|
+
- Copy exact error text if available
|
|
87
|
+
- Describe what user sees
|
|
88
|
+
|
|
89
|
+
2. **When did it start?**
|
|
90
|
+
- Sudden vs gradual
|
|
91
|
+
- After deployment?
|
|
92
|
+
- Traffic spike?
|
|
93
|
+
|
|
94
|
+
3. **What is the scope?**
|
|
95
|
+
- All users or specific segment?
|
|
96
|
+
- All pages or specific routes?
|
|
97
|
+
- One site or multiple?
|
|
98
|
+
|
|
99
|
+
4. **What changed recently?**
|
|
100
|
+
- Code deployments
|
|
101
|
+
- Config changes
|
|
102
|
+
- Third-party updates
|
|
103
|
+
|
|
104
|
+
### Phase 2: Pattern Matching (< 3 minutes)
|
|
105
|
+
|
|
106
|
+
**Search learnings for known patterns:**
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Search by symptom keywords
|
|
110
|
+
grep -ri "SYMPTOM_KEYWORD" learnings/
|
|
111
|
+
|
|
112
|
+
# Examples:
|
|
113
|
+
grep -ri "429" learnings/ # Rate limiting
|
|
114
|
+
grep -ri "cache" learnings/ # Cache issues
|
|
115
|
+
grep -ri "slow" learnings/ # Performance
|
|
116
|
+
grep -ri "not found" learnings/ # Missing resources
|
|
117
|
+
grep -ri "cookie" learnings/ # Cookie/session issues
|
|
118
|
+
grep -ri "vtex" learnings/ # VTEX integration
|
|
119
|
+
grep -ri "lazy" learnings/ # Lazy loading issues
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Phase 3: Known Issue? Apply Fix Immediately
|
|
123
|
+
|
|
124
|
+
If symptom matches a learning:
|
|
125
|
+
|
|
126
|
+
1. **Read the full learning file**
|
|
127
|
+
2. **Verify root cause matches** the current symptoms
|
|
128
|
+
3. **Apply the documented solution**
|
|
129
|
+
4. **Verify the fix works**
|
|
130
|
+
|
|
131
|
+
### Phase 4: Unknown Issue? Deep Diagnostic
|
|
132
|
+
|
|
133
|
+
If no learning matches, run full diagnostics:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Check error logs (HyperDX)
|
|
137
|
+
SEARCH_LOGS({ query: "level:error site:SITENAME", limit: 50 })
|
|
138
|
+
|
|
139
|
+
# Check CDN metrics (if slow)
|
|
140
|
+
MONITOR_SUMMARY({ sitename: "SITE", hostname: "HOSTNAME" })
|
|
141
|
+
MONITOR_TOP_PATHS({ ... })
|
|
142
|
+
MONITOR_STATUS_CODES({ ... })
|
|
143
|
+
|
|
144
|
+
# Check for TypeScript errors
|
|
145
|
+
deno check --unstable-tsgo --allow-import main.ts
|
|
146
|
+
|
|
147
|
+
# Check for recent changes
|
|
148
|
+
git log --oneline -20
|
|
149
|
+
git diff HEAD~5
|
|
150
|
+
|
|
151
|
+
# Check block validation
|
|
152
|
+
deno run -A https://deco.cx/validate -report validation-report.json
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Phase 5: Document New Learning
|
|
156
|
+
|
|
157
|
+
If this is a novel issue, create a new learning:
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
# [Title]
|
|
161
|
+
|
|
162
|
+
## Category
|
|
163
|
+
[category-name]
|
|
164
|
+
|
|
165
|
+
## Problem
|
|
166
|
+
[What went wrong]
|
|
167
|
+
|
|
168
|
+
## Symptoms
|
|
169
|
+
- [Observable indicator 1]
|
|
170
|
+
- [Observable indicator 2]
|
|
171
|
+
|
|
172
|
+
## Root Cause
|
|
173
|
+
[Why it happened with code examples]
|
|
174
|
+
|
|
175
|
+
## Solution
|
|
176
|
+
[How to fix with code examples]
|
|
177
|
+
|
|
178
|
+
## How to Debug
|
|
179
|
+
[Commands and techniques]
|
|
180
|
+
|
|
181
|
+
## Files Affected
|
|
182
|
+
[List of file patterns]
|
|
183
|
+
|
|
184
|
+
## Pattern Name
|
|
185
|
+
[Short memorable name]
|
|
186
|
+
|
|
187
|
+
## Checklist Item
|
|
188
|
+
[One-line check for future audits]
|
|
189
|
+
|
|
190
|
+
## Impact
|
|
191
|
+
[What happens if unfixed]
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Common Incident Patterns
|
|
195
|
+
|
|
196
|
+
### Rate Limiting (429 Errors)
|
|
197
|
+
|
|
198
|
+
**Symptoms**: "Too Many Requests" errors, spiky error rates
|
|
199
|
+
|
|
200
|
+
**Quick Check**:
|
|
201
|
+
```bash
|
|
202
|
+
grep -ri "rate limit\|429\|overfetch" learnings/
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Likely Learnings**:
|
|
206
|
+
- `loader-overfetching-n-plus-problem.md` - Fetching too much data
|
|
207
|
+
- `cache-strategy-standardization-loaders.md` - Missing cache causing repeated calls
|
|
208
|
+
|
|
209
|
+
**Immediate Actions**:
|
|
210
|
+
1. Check if loaders have `export const cache`
|
|
211
|
+
2. Check for N+1 query patterns
|
|
212
|
+
3. Add stale-while-revalidate caching
|
|
213
|
+
|
|
214
|
+
### Slow Page Load
|
|
215
|
+
|
|
216
|
+
**Symptoms**: High TTFB, slow LCP, user complaints about speed
|
|
217
|
+
|
|
218
|
+
**Quick Check**:
|
|
219
|
+
```bash
|
|
220
|
+
grep -ri "slow\|cache\|lazy\|performance" learnings/
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Likely Learnings**:
|
|
224
|
+
- `cache-strategy-standardization-loaders.md` - Missing cache
|
|
225
|
+
- `lazy-sections-external-css-loading.md` - CSS not loading for lazy sections
|
|
226
|
+
- `vtex-cookies-prevent-edge-caching.md` - Edge cache blocked
|
|
227
|
+
|
|
228
|
+
**Immediate Actions**:
|
|
229
|
+
1. Check cache hit rates with CDN metrics
|
|
230
|
+
2. Verify lazy sections have proper cache headers
|
|
231
|
+
3. Check for sync loaders blocking render
|
|
232
|
+
|
|
233
|
+
### Missing Content / Blank Sections
|
|
234
|
+
|
|
235
|
+
**Symptoms**: Sections not rendering, blank areas on page
|
|
236
|
+
|
|
237
|
+
**Quick Check**:
|
|
238
|
+
```bash
|
|
239
|
+
grep -ri "dangling\|missing\|not found\|blank" learnings/
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**Likely Learnings**:
|
|
243
|
+
- `dangling-block-references.md` - Block config points to deleted component
|
|
244
|
+
- `duplicate-sections-masked-by-broken-loaders.md` - Loader errors hidden by duplicates
|
|
245
|
+
|
|
246
|
+
**Immediate Actions**:
|
|
247
|
+
1. Run block validation: `deno run -A https://deco.cx/validate`
|
|
248
|
+
2. Check browser console for loader errors
|
|
249
|
+
3. Verify component files exist
|
|
250
|
+
|
|
251
|
+
### VTEX Integration Issues
|
|
252
|
+
|
|
253
|
+
**Symptoms**: Products not loading, cart errors, checkout problems
|
|
254
|
+
|
|
255
|
+
**Quick Check**:
|
|
256
|
+
```bash
|
|
257
|
+
grep -ri "vtex" learnings/
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
**Likely Learnings**:
|
|
261
|
+
- `vtex-domain-routing-myvtex-vs-vtexcommercestable.md` - Wrong domain
|
|
262
|
+
- `vtex-cookies-prevent-edge-caching.md` - Cookie issues
|
|
263
|
+
|
|
264
|
+
**Immediate Actions**:
|
|
265
|
+
1. Check VTEX domain configuration
|
|
266
|
+
2. Verify API credentials
|
|
267
|
+
3. Check for VTEX service status
|
|
268
|
+
|
|
269
|
+
### Visual Bugs / UI Issues
|
|
270
|
+
|
|
271
|
+
**Symptoms**: Broken layouts, invisible elements, style issues
|
|
272
|
+
|
|
273
|
+
**Quick Check**:
|
|
274
|
+
```bash
|
|
275
|
+
grep -ri "invisible\|css\|style\|responsive\|safari" learnings/
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Likely Learnings**:
|
|
279
|
+
- `invisible-clickable-areas-from-empty-links.md` - Empty links covering content
|
|
280
|
+
- `responsive-breakpoint-consistency.md` - Mobile/desktop inconsistencies
|
|
281
|
+
- `safari-image-flash-fix.md` - Safari-specific image issues
|
|
282
|
+
- `lazy-sections-external-css-loading.md` - Missing styles
|
|
283
|
+
|
|
284
|
+
**Immediate Actions**:
|
|
285
|
+
1. Check browser dev tools for overlapping elements
|
|
286
|
+
2. Inspect CSS loading order
|
|
287
|
+
3. Test on affected browser/device
|
|
288
|
+
|
|
289
|
+
## Debugging Commands Reference
|
|
290
|
+
|
|
291
|
+
### Error Investigation
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Search error logs
|
|
295
|
+
SEARCH_LOGS({ query: "level:error site:SITENAME", limit: 50 })
|
|
296
|
+
|
|
297
|
+
# Group errors by message
|
|
298
|
+
GET_LOG_DETAILS({
|
|
299
|
+
query: "level:error site:SITENAME",
|
|
300
|
+
groupBy: ["body", "service"]
|
|
301
|
+
})
|
|
302
|
+
|
|
303
|
+
# Timeline of errors
|
|
304
|
+
QUERY_CHART_DATA({
|
|
305
|
+
series: [{ dataSource: "events", aggFn: "count", where: "level:error" }],
|
|
306
|
+
granularity: "1 hour"
|
|
307
|
+
})
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Performance Investigation
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
# CDN summary
|
|
314
|
+
MONITOR_SUMMARY({ sitename: "SITE", hostname: "HOST", startDate: "YYYY-MM-DD", endDate: "YYYY-MM-DD" })
|
|
315
|
+
|
|
316
|
+
# Top paths by requests
|
|
317
|
+
MONITOR_TOP_PATHS({ ... })
|
|
318
|
+
|
|
319
|
+
# Cache effectiveness
|
|
320
|
+
MONITOR_CACHE_STATUS({ ... })
|
|
321
|
+
|
|
322
|
+
# Error rates
|
|
323
|
+
MONITOR_STATUS_CODES({ ... })
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### Code Investigation
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
# Type errors
|
|
330
|
+
deno check --unstable-tsgo --allow-import main.ts
|
|
331
|
+
|
|
332
|
+
# Block validation
|
|
333
|
+
deno run -A https://deco.cx/validate
|
|
334
|
+
|
|
335
|
+
# Find missing cache
|
|
336
|
+
grep -L "export const cache" loaders/**/*.ts
|
|
337
|
+
|
|
338
|
+
# Recent changes
|
|
339
|
+
git log --oneline -20
|
|
340
|
+
git diff HEAD~5
|
|
341
|
+
|
|
342
|
+
# Find files with errors
|
|
343
|
+
deno check --unstable-tsgo --allow-import main.ts 2>&1 | grep "error:" | sed 's/:.*//g' | sort | uniq -c | sort -rn
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
## Escalation Criteria
|
|
347
|
+
|
|
348
|
+
### Escalate Immediately If:
|
|
349
|
+
|
|
350
|
+
- Site completely down (no pages loading)
|
|
351
|
+
- Checkout broken (revenue impact)
|
|
352
|
+
- Data breach suspected
|
|
353
|
+
- Issue affecting multiple customers
|
|
354
|
+
- Fix requires platform changes (not site code)
|
|
355
|
+
|
|
356
|
+
### Can Handle with This Skill:
|
|
357
|
+
|
|
358
|
+
- Single site performance issues
|
|
359
|
+
- Configuration problems
|
|
360
|
+
- Code bugs in site repository
|
|
361
|
+
- Cache/loader issues
|
|
362
|
+
- Visual/UI bugs
|
|
363
|
+
|
|
364
|
+
## Post-Incident Checklist
|
|
365
|
+
|
|
366
|
+
After resolving the incident:
|
|
367
|
+
|
|
368
|
+
- [ ] Document root cause in learnings/ if novel
|
|
369
|
+
- [ ] Create PR with fix
|
|
370
|
+
- [ ] Update affected checklists if pattern is common
|
|
371
|
+
- [ ] Share learning with team
|
|
372
|
+
- [ ] Consider if monitoring should be added
|
|
373
|
+
|
|
374
|
+
## Related Skills
|
|
375
|
+
|
|
376
|
+
- `deco-full-analysis` - For comprehensive site audits (non-urgent)
|
|
377
|
+
- `deco-performance-audit` - For deep performance analysis
|
|
378
|
+
- `deco-typescript-fixes` - For systematic type error fixes
|