@tinkcarlos/skillora 0.2.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/.claude/skills/.temp-skill-index.md +245 -0
- package/.claude/skills/SKILL.md +264 -0
- package/.claude/skills/api-scaffolding/SKILL.md +431 -0
- package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
- package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
- package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
- package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
- package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
- package/.claude/skills/api-testing-observability/SKILL.md +583 -0
- package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
- package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
- package/.claude/skills/brainstorming/SKILL.md +283 -0
- package/.claude/skills/bug-fixing/SKILL.md +382 -0
- package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
- package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
- package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
- package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
- package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
- package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
- package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
- package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
- package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
- package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
- package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
- package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
- package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
- package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
- package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
- package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
- package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
- package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
- package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
- package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
- package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
- package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
- package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
- package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
- package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
- package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
- package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
- package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
- package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
- package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
- package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
- package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
- package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
- package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
- package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
- package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
- package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
- package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
- package/.claude/skills/code-review/SKILL.md +535 -0
- package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
- package/.claude/skills/code-review/references/automated-analysis.md +456 -0
- package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
- package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
- package/.claude/skills/code-review/references/backend-review.md +868 -0
- package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
- package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
- package/.claude/skills/code-review/references/common-patterns.md +321 -0
- package/.claude/skills/code-review/references/configuration-review.md +425 -0
- package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
- package/.claude/skills/code-review/references/database-review.md +298 -0
- package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
- package/.claude/skills/code-review/references/external-standards.md +51 -0
- package/.claude/skills/code-review/references/feature-review.md +329 -0
- package/.claude/skills/code-review/references/file-review-template.md +326 -0
- package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
- package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
- package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
- package/.claude/skills/code-review/references/frontend-review.md +783 -0
- package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
- package/.claude/skills/code-review/references/fullstack-review.md +477 -0
- package/.claude/skills/code-review/references/functional-completeness.md +386 -0
- package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
- package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
- package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
- package/.claude/skills/code-review/references/iteration-review.md +264 -0
- package/.claude/skills/code-review/references/job-review.md +335 -0
- package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
- package/.claude/skills/code-review/references/logic-completeness.md +535 -0
- package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
- package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
- package/.claude/skills/code-review/references/new-project-review.md +226 -0
- package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
- package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
- package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
- package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
- package/.claude/skills/code-review/references/python-patterns.md +494 -0
- package/.claude/skills/code-review/references/rca-techniques.md +362 -0
- package/.claude/skills/code-review/references/report-template.md +430 -0
- package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
- package/.claude/skills/code-review/references/review-dimensions.md +311 -0
- package/.claude/skills/code-review/references/review-guide.md +202 -0
- package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
- package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
- package/.claude/skills/code-review/references/review-record-template.md +195 -0
- package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
- package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
- package/.claude/skills/containerization/SKILL.md +313 -0
- package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
- package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
- package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
- package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
- package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
- package/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/.claude/skills/frontend-design/SKILL.md +587 -0
- package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
- package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
- package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
- package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
- package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
- package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
- package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
- package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
- package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
- package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
- package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
- package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
- package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
- package/.claude/skills/fullstack-developer/SKILL.md +512 -0
- package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
- package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
- package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
- package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
- package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
- package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
- package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
- package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
- package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
- package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
- package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
- package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
- package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
- package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
- package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
- package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
- package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
- package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
- package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
- package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
- package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
- package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
- package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
- package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
- package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
- package/.claude/skills/performance-optimization/SKILL.md +250 -0
- package/.claude/skills/product-requirements/SKILL.md +357 -0
- package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
- package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
- package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
- package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
- package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
- package/.claude/skills/product-requirements/references/external-standards.md +62 -0
- package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
- package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
- package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
- package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
- package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
- package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
- package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
- package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
- package/.claude/skills/react-best-practices/SKILL.md +198 -0
- package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
- package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
- package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
- package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
- package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
- package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
- package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
- package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
- package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
- package/.claude/skills/security-audit/SKILL.md +226 -0
- package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
- package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
- package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
- package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
- package/.claude/skills/shared-references/skill-call-graph.md +230 -0
- package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
- package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
- package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
- package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
- package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
- package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
- package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
- package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
- package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
- package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
- package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
- package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
- package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
- package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
- package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
- package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
- package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
- package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
- package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
- package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
- package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
- package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
- package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
- package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
- package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
- package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
- package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
- package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
- package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
- package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
- package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
- package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
- package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
- package/.claude/skills/test-driven-development/SKILL.md +246 -0
- package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
- package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
- package/.claude/skills/using-skillstack/SKILL.md +127 -0
- package/.claude/skills/vercel-deploy/SKILL.md +166 -0
- package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
- package/.claude/skills/verification-before-completion/SKILL.md +305 -0
- package/.claude/skills/writing-plans/SKILL.md +259 -0
- package/README.md +69 -0
- package/bin/cli.js +468 -0
- package/lib/init.js +333 -0
- package/package.json +29 -0
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
# Impact Analysis Guide
|
|
2
|
+
|
|
3
|
+
> Maps blast radius across code, modules, APIs, and infrastructure to prevent regressions.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Why 5 Layers?](#why-5-layers)
|
|
8
|
+
- [🔴 Multi-Environment Configuration Analysis (MANDATORY)](#-multi-environment-configuration-analysis-mandatory)
|
|
9
|
+
- [Layer-by-Layer Analysis](#layer-by-layer-analysis)
|
|
10
|
+
- [Layer 0: Bug Location](#layer-0-bug-location)
|
|
11
|
+
- [Layer 1: Direct Callers](#layer-1-direct-callers)
|
|
12
|
+
- [Layer 2: Indirect Callers](#layer-2-indirect-callers)
|
|
13
|
+
- [Layer 3: Cross-Module Dependencies](#layer-3-cross-module-dependencies)
|
|
14
|
+
- [Layer 4: External Interfaces](#layer-4-external-interfaces)
|
|
15
|
+
- [Layer 5: System-Wide Impact](#layer-5-system-wide-impact)
|
|
16
|
+
- [Impact Analysis Template](#impact-analysis-template)
|
|
17
|
+
- [Tools for Impact Analysis](#tools-for-impact-analysis)
|
|
18
|
+
|
|
19
|
+
How to trace all code affected by a bug or fix through 5 layers.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Why 5 Layers?
|
|
24
|
+
|
|
25
|
+
| Layer | What it Covers | Why Important |
|
|
26
|
+
|-------|---------------|---------------|
|
|
27
|
+
| 0 | Bug location | Direct fix location |
|
|
28
|
+
| 1 | Direct callers | Immediate code using buggy code |
|
|
29
|
+
| 2 | Indirect callers | Code using Layer 1 |
|
|
30
|
+
| 3 | Cross-module | Other modules affected |
|
|
31
|
+
| 4 | External interfaces | APIs, UIs, contracts |
|
|
32
|
+
| 5 | System-wide | Infrastructure, monitoring |
|
|
33
|
+
|
|
34
|
+
Missing any layer can lead to:
|
|
35
|
+
- Incomplete fix
|
|
36
|
+
- New bugs introduced
|
|
37
|
+
- Unexpected side effects
|
|
38
|
+
- Production incidents
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 🔴 Multi-Environment Configuration Analysis (MANDATORY)
|
|
43
|
+
|
|
44
|
+
> **Critical**: Configuration bugs are among the most common causes of "fix doesn't work" scenarios. ALWAYS analyze ALL environments before declaring a fix complete.
|
|
45
|
+
|
|
46
|
+
### Why This Matters
|
|
47
|
+
|
|
48
|
+
| Scenario | Problem | Result |
|
|
49
|
+
|----------|---------|--------|
|
|
50
|
+
| Fix only in `.env` | Dev mode uses `.env.development` | Bug persists in dev |
|
|
51
|
+
| Fix only in prod config | Staging uses different config | Bug appears in staging |
|
|
52
|
+
| Fix in code, not config | Config overrides code behavior | Fix has no effect |
|
|
53
|
+
| Fix in one startup script | Multiple scripts exist | Some modes still broken |
|
|
54
|
+
|
|
55
|
+
### 🔴 Environment Configuration Checklist (MANDATORY)
|
|
56
|
+
|
|
57
|
+
**Before declaring ANY configuration-related fix complete:**
|
|
58
|
+
|
|
59
|
+
```markdown
|
|
60
|
+
## Environment Configuration Impact
|
|
61
|
+
|
|
62
|
+
### 1. Environment Files Audit
|
|
63
|
+
| File | Exists | Needs Update | Updated |
|
|
64
|
+
|------|--------|--------------|---------|
|
|
65
|
+
| `.env` | [ ] | [ ] | [ ] |
|
|
66
|
+
| `.env.local` | [ ] | [ ] | [ ] |
|
|
67
|
+
| `.env.development` | [ ] | [ ] | [ ] |
|
|
68
|
+
| `.env.development.local` | [ ] | [ ] | [ ] |
|
|
69
|
+
| `.env.test` | [ ] | [ ] | [ ] |
|
|
70
|
+
| `.env.staging` | [ ] | [ ] | [ ] |
|
|
71
|
+
| `.env.production` | [ ] | [ ] | [ ] |
|
|
72
|
+
| `.env.production.local` | [ ] | [ ] | [ ] |
|
|
73
|
+
|
|
74
|
+
### 2. Startup Scripts Audit
|
|
75
|
+
| Script | Mode | Config Used | Needs Update |
|
|
76
|
+
|--------|------|-------------|--------------|
|
|
77
|
+
| `npm run dev` | Development | ? | [ ] |
|
|
78
|
+
| `npm run start` | Production | ? | [ ] |
|
|
79
|
+
| `npm run build` | Build | ? | [ ] |
|
|
80
|
+
| `dev.bat` / `dev.sh` | Development | ? | [ ] |
|
|
81
|
+
| `start.bat` / `start.sh` | Production | ? | [ ] |
|
|
82
|
+
| Docker Compose | Various | ? | [ ] |
|
|
83
|
+
|
|
84
|
+
### 3. Configuration Loading Order
|
|
85
|
+
Document how your app loads configuration:
|
|
86
|
+
1. Default values in code
|
|
87
|
+
2. `.env` file (base)
|
|
88
|
+
3. `.env.[mode]` file (mode-specific)
|
|
89
|
+
4. `.env.local` file (local overrides)
|
|
90
|
+
5. Environment variables (runtime)
|
|
91
|
+
6. Command-line arguments
|
|
92
|
+
|
|
93
|
+
### 4. Verification Commands
|
|
94
|
+
| Environment | Command | Expected Result |
|
|
95
|
+
|-------------|---------|-----------------|
|
|
96
|
+
| Development | `npm run dev` | [ ] Works |
|
|
97
|
+
| Production | `npm run start` | [ ] Works |
|
|
98
|
+
| Test | `npm run test` | [ ] Works |
|
|
99
|
+
| Docker | `docker-compose up` | [ ] Works |
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Common Environment Configuration Patterns
|
|
103
|
+
|
|
104
|
+
#### Pattern 1: Node.js / Vite / React
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
Project Root/
|
|
108
|
+
├── .env # Base config (all modes)
|
|
109
|
+
├── .env.local # Local overrides (gitignored)
|
|
110
|
+
├── .env.development # Development mode
|
|
111
|
+
├── .env.development.local # Dev local overrides
|
|
112
|
+
├── .env.production # Production mode
|
|
113
|
+
├── .env.production.local # Prod local overrides
|
|
114
|
+
└── .env.test # Test mode
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Loading Priority** (Vite example):
|
|
118
|
+
1. `.env` (always loaded)
|
|
119
|
+
2. `.env.local` (always loaded, gitignored)
|
|
120
|
+
3. `.env.[mode]` (mode-specific)
|
|
121
|
+
4. `.env.[mode].local` (mode-specific, gitignored)
|
|
122
|
+
|
|
123
|
+
#### Pattern 2: Python / Django / Flask
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
Project Root/
|
|
127
|
+
├── .env # Base config
|
|
128
|
+
├── config/
|
|
129
|
+
│ ├── settings/
|
|
130
|
+
│ │ ├── base.py # Base settings
|
|
131
|
+
│ │ ├── development.py # Dev settings
|
|
132
|
+
│ │ ├── production.py # Prod settings
|
|
133
|
+
│ │ └── test.py # Test settings
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Pattern 3: Java / Spring Boot
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
src/main/resources/
|
|
140
|
+
├── application.yml # Base config
|
|
141
|
+
├── application-dev.yml # Development profile
|
|
142
|
+
├── application-prod.yml # Production profile
|
|
143
|
+
├── application-test.yml # Test profile
|
|
144
|
+
└── application-local.yml # Local overrides
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 🔴 Multi-Environment Fix Protocol
|
|
148
|
+
|
|
149
|
+
When fixing a configuration-related bug:
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
1. IDENTIFY all environment files
|
|
153
|
+
└─→ grep -r "CONFIG_KEY" . --include="*.env*" --include="*.yml" --include="*.json"
|
|
154
|
+
|
|
155
|
+
2. IDENTIFY all startup scripts
|
|
156
|
+
└─→ Check package.json scripts, .bat/.sh files, docker-compose.yml
|
|
157
|
+
|
|
158
|
+
3. DETERMINE which environments are affected
|
|
159
|
+
└─→ Map: startup script → config file → affected variable
|
|
160
|
+
|
|
161
|
+
4. APPLY fix to ALL relevant files
|
|
162
|
+
└─→ Don't assume "production only" - check dev, test, staging
|
|
163
|
+
|
|
164
|
+
5. VERIFY in ALL modes
|
|
165
|
+
└─→ Run each startup script and confirm fix works
|
|
166
|
+
|
|
167
|
+
6. DOCUMENT in bug-records.md
|
|
168
|
+
└─→ List all files modified and environments impacted
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Quick Commands for Environment Analysis
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Find all env files
|
|
175
|
+
find . -name ".env*" -o -name "*.env" 2>/dev/null
|
|
176
|
+
|
|
177
|
+
# Find all config files
|
|
178
|
+
find . -name "config.*" -o -name "*.config.*" -o -name "settings.*" 2>/dev/null
|
|
179
|
+
|
|
180
|
+
# Search for a config key across all files
|
|
181
|
+
grep -rn "YOUR_CONFIG_KEY" . --include="*.env*" --include="*.yml" --include="*.json" --include="*.ts" --include="*.js"
|
|
182
|
+
|
|
183
|
+
# Find startup scripts
|
|
184
|
+
grep -rn "NODE_ENV\|VITE_\|REACT_APP_" . --include="*.sh" --include="*.bat" --include="*.ps1" --include="package.json"
|
|
185
|
+
|
|
186
|
+
# Check which env file is loaded in dev mode
|
|
187
|
+
npm run dev 2>&1 | head -20 # Look for "Loading env from..."
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Layer-by-Layer Analysis
|
|
193
|
+
|
|
194
|
+
### Layer 0: Bug Location
|
|
195
|
+
|
|
196
|
+
Identify the exact location of the bug:
|
|
197
|
+
|
|
198
|
+
```markdown
|
|
199
|
+
## Layer 0: Bug Location
|
|
200
|
+
|
|
201
|
+
### File Analysis
|
|
202
|
+
| Attribute | Value |
|
|
203
|
+
|-----------|-------|
|
|
204
|
+
| File | `src/services/user-service.ts` |
|
|
205
|
+
| Function | `getUserById()` |
|
|
206
|
+
| Line | 42-45 |
|
|
207
|
+
| Bug Type | Null reference |
|
|
208
|
+
|
|
209
|
+
### Code Snapshot
|
|
210
|
+
```typescript
|
|
211
|
+
// Line 42-45
|
|
212
|
+
async function getUserById(id: string): Promise<User> {
|
|
213
|
+
const user = await this.repository.find(id);
|
|
214
|
+
return user; // BUG: Can return null, not handled
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Bug Behavior
|
|
219
|
+
- **Input**: Any user ID
|
|
220
|
+
- **Trigger**: User ID doesn't exist in database
|
|
221
|
+
- **Result**: Returns null instead of User
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Layer 1: Direct Callers
|
|
225
|
+
|
|
226
|
+
Find all code that directly uses the buggy function:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Find all imports/uses
|
|
230
|
+
grep -r "getUserById" --include="*.ts" --include="*.tsx"
|
|
231
|
+
|
|
232
|
+
# Use IDE "Find References" feature
|
|
233
|
+
# In VSCode: Right-click → Find All References
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
```markdown
|
|
237
|
+
## Layer 1: Direct Callers
|
|
238
|
+
|
|
239
|
+
| File | Function | Line | How Used | Impact |
|
|
240
|
+
|------|----------|------|----------|--------|
|
|
241
|
+
| profile-service.ts | getProfile() | 23 | Get user for profile | Will crash |
|
|
242
|
+
| order-service.ts | getOrderOwner() | 15 | Get user for order | Will crash |
|
|
243
|
+
| auth-service.ts | validateSession() | 88 | Validate user exists | Wrong validation |
|
|
244
|
+
| admin-service.ts | getUserDetails() | 42 | Admin view user | Will crash |
|
|
245
|
+
|
|
246
|
+
### Caller Code Examples
|
|
247
|
+
|
|
248
|
+
**profile-service.ts:23**
|
|
249
|
+
```typescript
|
|
250
|
+
async function getProfile(userId: string) {
|
|
251
|
+
const user = await userService.getUserById(userId);
|
|
252
|
+
return {
|
|
253
|
+
name: user.name, // CRASH if user is null
|
|
254
|
+
email: user.email,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Layer 2: Indirect Callers
|
|
261
|
+
|
|
262
|
+
Find code that calls Layer 1 functions:
|
|
263
|
+
|
|
264
|
+
```markdown
|
|
265
|
+
## Layer 2: Indirect Callers
|
|
266
|
+
|
|
267
|
+
### profile-service.ts callers:
|
|
268
|
+
| File | Function | Line | Impact |
|
|
269
|
+
|------|----------|------|--------|
|
|
270
|
+
| ProfilePage.tsx | useProfile() | 12 | UI crash |
|
|
271
|
+
| settings-handler.ts | getSettings() | 34 | API 500 |
|
|
272
|
+
|
|
273
|
+
### order-service.ts callers:
|
|
274
|
+
| File | Function | Line | Impact |
|
|
275
|
+
|------|----------|------|--------|
|
|
276
|
+
| OrderList.tsx | renderOrder() | 56 | List renders wrong |
|
|
277
|
+
| invoice-generator.ts | generate() | 78 | Invoice fails |
|
|
278
|
+
|
|
279
|
+
### Total Layer 2 Impact
|
|
280
|
+
- 4 UI components may crash
|
|
281
|
+
- 2 API handlers may return 500
|
|
282
|
+
- 1 background job may fail
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Layer 3: Cross-Module Dependencies
|
|
286
|
+
|
|
287
|
+
Identify other modules that depend on affected code:
|
|
288
|
+
|
|
289
|
+
```markdown
|
|
290
|
+
## Layer 3: Cross-Module Impact
|
|
291
|
+
|
|
292
|
+
### Module Dependency Map
|
|
293
|
+
```
|
|
294
|
+
[User Module]
|
|
295
|
+
↓ exports getUserById
|
|
296
|
+
[Profile Module] ────→ [Settings Module]
|
|
297
|
+
│ │
|
|
298
|
+
↓ ↓
|
|
299
|
+
[Order Module] ←───── [Invoice Module]
|
|
300
|
+
│
|
|
301
|
+
↓
|
|
302
|
+
[Notification Module]
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### Impact by Module
|
|
306
|
+
| Module | Dependency | Direct Impact | Cascading Impact |
|
|
307
|
+
|--------|------------|---------------|------------------|
|
|
308
|
+
| Profile | User.getUserById | Profile crashes | Settings unavailable |
|
|
309
|
+
| Order | User.getUserById | Order view broken | Invoice generation fails |
|
|
310
|
+
| Notification | Order.getOrderOwner | Notification errors | User not notified |
|
|
311
|
+
| Analytics | Profile.getProfile | Analytics incorrect | Reports wrong |
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Layer 4: External Interfaces
|
|
315
|
+
|
|
316
|
+
Check APIs, webhooks, and contracts:
|
|
317
|
+
|
|
318
|
+
```markdown
|
|
319
|
+
## Layer 4: External Interface Impact
|
|
320
|
+
|
|
321
|
+
### REST API Endpoints
|
|
322
|
+
| Endpoint | Method | Uses | Current Behavior | Should Be |
|
|
323
|
+
|----------|--------|------|------------------|-----------|
|
|
324
|
+
| /api/users/:id | GET | getUserById | Returns null, 200 | Return 404 |
|
|
325
|
+
| /api/profile/:id | GET | getProfile | Crashes, 500 | Return 404 |
|
|
326
|
+
| /api/orders | GET | getOrderOwner | Shows null name | Handle gracefully |
|
|
327
|
+
|
|
328
|
+
### GraphQL
|
|
329
|
+
| Query | Uses | Impact |
|
|
330
|
+
|-------|------|--------|
|
|
331
|
+
| user(id: ID!) | getUserById | Returns null violating schema |
|
|
332
|
+
| profile(id: ID!) | getProfile | Resolver crashes |
|
|
333
|
+
|
|
334
|
+
### Webhooks
|
|
335
|
+
| Event | Payload | Impact |
|
|
336
|
+
|-------|---------|--------|
|
|
337
|
+
| user.updated | User data | May send null data |
|
|
338
|
+
| order.created | Order with user | May send null user |
|
|
339
|
+
|
|
340
|
+
### Third-party Integrations
|
|
341
|
+
| Integration | Data Shared | Impact |
|
|
342
|
+
|-------------|-------------|--------|
|
|
343
|
+
| Stripe | User email | May pass null |
|
|
344
|
+
| SendGrid | User name | Email has blank name |
|
|
345
|
+
| Analytics | User ID | Events have null user |
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### Layer 5: System-Wide Impact
|
|
349
|
+
|
|
350
|
+
Consider infrastructure and operations:
|
|
351
|
+
|
|
352
|
+
```markdown
|
|
353
|
+
## Layer 5: System-Wide Impact
|
|
354
|
+
|
|
355
|
+
### Database
|
|
356
|
+
| Concern | Impact | Mitigation |
|
|
357
|
+
|---------|--------|------------|
|
|
358
|
+
| Data integrity | None | Bug doesn't modify data |
|
|
359
|
+
| Query patterns | None | No change needed |
|
|
360
|
+
|
|
361
|
+
### Cache
|
|
362
|
+
| Cache | Impact | Action Needed |
|
|
363
|
+
|-------|--------|---------------|
|
|
364
|
+
| User cache | May cache null | Add null check before cache |
|
|
365
|
+
| Profile cache | May serve stale | Clear on user delete |
|
|
366
|
+
|
|
367
|
+
### Message Queue
|
|
368
|
+
| Queue | Impact | Action Needed |
|
|
369
|
+
|-------|--------|---------------|
|
|
370
|
+
| email-queue | May have null user | Add validation |
|
|
371
|
+
| notification-queue | May fail to process | Add error handling |
|
|
372
|
+
|
|
373
|
+
### Logging & Monitoring
|
|
374
|
+
| System | Impact | Action |
|
|
375
|
+
|--------|--------|--------|
|
|
376
|
+
| Error logs | Spike in null errors | Expected, will resolve |
|
|
377
|
+
| Metrics | Error rate increase | Set up alert |
|
|
378
|
+
| APM | Transaction failures | Expected pattern |
|
|
379
|
+
|
|
380
|
+
### Infrastructure
|
|
381
|
+
| Component | Impact | Notes |
|
|
382
|
+
|-----------|--------|-------|
|
|
383
|
+
| Load balancer | None | N/A |
|
|
384
|
+
| CDN | None | N/A |
|
|
385
|
+
| Database replicas | None | N/A |
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## Impact Analysis Template
|
|
391
|
+
|
|
392
|
+
```markdown
|
|
393
|
+
# Impact Analysis: [Bug ID]
|
|
394
|
+
|
|
395
|
+
## Summary
|
|
396
|
+
| Metric | Count |
|
|
397
|
+
|--------|-------|
|
|
398
|
+
| Files potentially affected | X |
|
|
399
|
+
| Functions affected | X |
|
|
400
|
+
| API endpoints affected | X |
|
|
401
|
+
| UI components affected | X |
|
|
402
|
+
| External integrations affected | X |
|
|
403
|
+
|
|
404
|
+
## Layer 0: Bug Location
|
|
405
|
+
[Complete Layer 0 analysis]
|
|
406
|
+
|
|
407
|
+
## Layer 1: Direct Callers
|
|
408
|
+
[Complete Layer 1 analysis]
|
|
409
|
+
|
|
410
|
+
## Layer 2: Indirect Callers
|
|
411
|
+
[Complete Layer 2 analysis]
|
|
412
|
+
|
|
413
|
+
## Layer 3: Cross-Module
|
|
414
|
+
[Complete Layer 3 analysis]
|
|
415
|
+
|
|
416
|
+
## Layer 4: External Interfaces
|
|
417
|
+
[Complete Layer 4 analysis]
|
|
418
|
+
|
|
419
|
+
## Layer 5: System-Wide
|
|
420
|
+
[Complete Layer 5 analysis]
|
|
421
|
+
|
|
422
|
+
## Fix Impact Assessment
|
|
423
|
+
|
|
424
|
+
### Fix Scope
|
|
425
|
+
| Scope | Description |
|
|
426
|
+
|-------|-------------|
|
|
427
|
+
| Minimum | Fix only Layer 0 |
|
|
428
|
+
| Recommended | Fix Layer 0-1 |
|
|
429
|
+
| Complete | Fix all layers |
|
|
430
|
+
|
|
431
|
+
### Recommended Changes
|
|
432
|
+
| Layer | File | Change | Priority |
|
|
433
|
+
|-------|------|--------|----------|
|
|
434
|
+
| 0 | user-service.ts | Add null check | Critical |
|
|
435
|
+
| 1 | profile-service.ts | Handle null user | High |
|
|
436
|
+
| 4 | user-controller.ts | Return 404 | High |
|
|
437
|
+
| 3 | notification-module | Validate user | Medium |
|
|
438
|
+
|
|
439
|
+
### Testing Requirements
|
|
440
|
+
| Layer | Tests Needed |
|
|
441
|
+
|-------|-------------|
|
|
442
|
+
| 0 | Unit test for null case |
|
|
443
|
+
| 1 | Unit tests for callers |
|
|
444
|
+
| 2 | Integration tests |
|
|
445
|
+
| 4 | API tests |
|
|
446
|
+
| 5 | Smoke tests |
|
|
447
|
+
|
|
448
|
+
## Risk Assessment
|
|
449
|
+
|
|
450
|
+
### If Only Layer 0 Fixed
|
|
451
|
+
- [Risk 1]: Callers still don't handle null
|
|
452
|
+
- [Risk 2]: Error message not user-friendly
|
|
453
|
+
|
|
454
|
+
### If Complete Fix Applied
|
|
455
|
+
- [Benefit 1]: All callers handle gracefully
|
|
456
|
+
- [Benefit 2]: Users see proper 404 messages
|
|
457
|
+
|
|
458
|
+
### Recommendation
|
|
459
|
+
[Recommended scope and justification]
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
## Tools for Impact Analysis
|
|
465
|
+
|
|
466
|
+
### Code Search
|
|
467
|
+
|
|
468
|
+
```bash
|
|
469
|
+
# Find all references to a function
|
|
470
|
+
grep -r "getUserById" --include="*.ts" --include="*.tsx" src/
|
|
471
|
+
|
|
472
|
+
# Find imports of a module
|
|
473
|
+
grep -r "from.*user-service" --include="*.ts" src/
|
|
474
|
+
|
|
475
|
+
# Use AST-based search for accuracy
|
|
476
|
+
npx ts-prune # Find unused exports
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
### Dependency Graphs
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
# Generate dependency graph
|
|
483
|
+
npx madge --image deps.png src/
|
|
484
|
+
|
|
485
|
+
# Find circular dependencies
|
|
486
|
+
npx madge --circular src/
|
|
487
|
+
|
|
488
|
+
# Python: pydeps
|
|
489
|
+
pip install pydeps
|
|
490
|
+
pydeps src/services/user_service.py
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### IDE Features
|
|
494
|
+
|
|
495
|
+
- **Find All References** (F12 / Shift+F12)
|
|
496
|
+
- **Call Hierarchy** (Ctrl+Shift+H)
|
|
497
|
+
- **Type Hierarchy**
|
|
498
|
+
- **Find Usages**
|
|
499
|
+
|
|
500
|
+
### Git Analysis
|
|
501
|
+
|
|
502
|
+
```bash
|
|
503
|
+
# Find recent changes to file
|
|
504
|
+
git log --oneline -20 src/services/user-service.ts
|
|
505
|
+
|
|
506
|
+
# Find who else works with this code
|
|
507
|
+
git log --format='%an' src/services/user-service.ts | sort | uniq -c
|
|
508
|
+
|
|
509
|
+
# Find related files changed together
|
|
510
|
+
git log --name-only --format='' -- src/services/user-service.ts | sort | uniq -c | sort -rn
|
|
511
|
+
```
|