@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,212 @@
|
|
|
1
|
+
# Knowledge Workflow for Bug Fixing
|
|
2
|
+
|
|
3
|
+
This document describes the knowledge accumulation and utilization workflow for bug fixing.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Architecture Overview
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
11
|
+
│ Knowledge Architecture │
|
|
12
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
13
|
+
│ │
|
|
14
|
+
│ ┌──────────────────────┐ ┌──────────────────────┐ │
|
|
15
|
+
│ │ PROJECT LEVEL │ │ SKILL LEVEL │ │
|
|
16
|
+
│ │ (Project-specific) │ │ (Cross-project) │ │
|
|
17
|
+
│ ├──────────────────────┤ ├──────────────────────┤ │
|
|
18
|
+
│ │ │ │ │ │
|
|
19
|
+
│ │ bugRecord.md │ ──► │ bug-guide.md │ │
|
|
20
|
+
│ │ ──────────────── │ │ ──────────────── │ │
|
|
21
|
+
│ │ • Specific bugs │ │ • Pattern library │ │
|
|
22
|
+
│ │ • Exact symptoms │ │ • Detection methods │ │
|
|
23
|
+
│ │ • Actual fixes │ │ • Fix strategies │ │
|
|
24
|
+
│ │ • Real file paths │ │ • Verification tips │ │
|
|
25
|
+
│ │ │ │ │ │
|
|
26
|
+
│ └──────────────────────┘ └──────────────────────┘ │
|
|
27
|
+
│ ▲ │ │
|
|
28
|
+
│ │ │ │
|
|
29
|
+
│ │ Record │ Reference │
|
|
30
|
+
│ │ ▼ │
|
|
31
|
+
│ ┌──────────────────────────────────────────────────────────────┐ │
|
|
32
|
+
│ │ BUG FIXING PROCESS │ │
|
|
33
|
+
│ └──────────────────────────────────────────────────────────────┘ │
|
|
34
|
+
│ │
|
|
35
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Phase 0.7: Knowledge Check (Before Investigation)
|
|
41
|
+
|
|
42
|
+
**Purpose**: Avoid repeating past mistakes and leverage existing knowledge.
|
|
43
|
+
|
|
44
|
+
### Step 1: Check Project History
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
1. Look for bugRecord.md in project root
|
|
48
|
+
2. If exists, search for related keywords:
|
|
49
|
+
- Error messages from current bug
|
|
50
|
+
- Affected component/module names
|
|
51
|
+
- Similar symptom descriptions
|
|
52
|
+
3. Note any relevant past bugs and their solutions
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Step 2: Review Universal Patterns
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
1. Read references/bug-guide.md
|
|
59
|
+
2. Match current symptom to known patterns
|
|
60
|
+
3. Apply recommended detection and fix strategies
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Step 3: Document Known History
|
|
64
|
+
|
|
65
|
+
In your triage summary, add:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
## Knowledge Check
|
|
69
|
+
- Project bugRecord.md: [Found/Not found]
|
|
70
|
+
- Related past bugs: [BUG-XXX, BUG-YYY] or [None]
|
|
71
|
+
- Applicable patterns from bug-guide.md: [Pattern names] or [None identified]
|
|
72
|
+
- Lessons to apply: [List any relevant lessons]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Phase 6: Knowledge Update (After Verification)
|
|
78
|
+
|
|
79
|
+
**Purpose**: Record the fix for future reference and pattern extraction.
|
|
80
|
+
|
|
81
|
+
### Step 1: Add Record to Project bugRecord.md
|
|
82
|
+
|
|
83
|
+
If bugRecord.md doesn't exist, create it using the template from `references/bug-record-template.md`.
|
|
84
|
+
|
|
85
|
+
Add a new entry with:
|
|
86
|
+
- Bug ID (sequential)
|
|
87
|
+
- Date
|
|
88
|
+
- Symptom, Root Cause, Solution, Verification
|
|
89
|
+
- Pattern notes
|
|
90
|
+
|
|
91
|
+
### Step 2: Handle Failed Fix Retry
|
|
92
|
+
|
|
93
|
+
If a previous fix attempt was wrong:
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
1. Find the previous record in bugRecord.md
|
|
97
|
+
2. Update status to "Superseded by BUG-XXX"
|
|
98
|
+
3. Add new record with correct fix
|
|
99
|
+
4. Note what was wrong with the previous attempt
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Step 3: Extract Patterns (Periodic)
|
|
103
|
+
|
|
104
|
+
After every 5-10 bug records:
|
|
105
|
+
|
|
106
|
+
```markdown
|
|
107
|
+
1. Review recent bugs for common themes
|
|
108
|
+
2. Abstract project-specific details to universal patterns
|
|
109
|
+
3. Update references/bug-guide.md with new patterns
|
|
110
|
+
4. Use the "Pattern Extraction Guide" in bug-guide.md
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Record Format Reference
|
|
116
|
+
|
|
117
|
+
### Minimal Record (Quick Bugs)
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
## [BUG-NNN] Title
|
|
121
|
+
|
|
122
|
+
**Date**: YYYY-MM-DD | **Severity**: P2 | **Category**: [Category]
|
|
123
|
+
|
|
124
|
+
**Symptom**: [One sentence]
|
|
125
|
+
**Root Cause**: [One sentence]
|
|
126
|
+
**Solution**: [One sentence]
|
|
127
|
+
**Verified**: [Yes/No]
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Full Record (Complex Bugs)
|
|
131
|
+
|
|
132
|
+
Use the complete template from `references/bug-record-template.md`.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Pattern Abstraction Rules
|
|
137
|
+
|
|
138
|
+
When extracting patterns for bug-guide.md, follow these rules:
|
|
139
|
+
|
|
140
|
+
### What to Remove (Project-Specific)
|
|
141
|
+
|
|
142
|
+
- Actual file paths (`/src/components/UserForm.tsx`)
|
|
143
|
+
- Specific variable/function names (`handleUserSubmit`)
|
|
144
|
+
- Exact error messages (`TypeError: Cannot read property 'id'`)
|
|
145
|
+
- Specific data values (`userId: 12345`)
|
|
146
|
+
- Framework versions (`React 18.2.0`)
|
|
147
|
+
|
|
148
|
+
### What to Keep (Universal)
|
|
149
|
+
|
|
150
|
+
- Problem category (input handling, state management)
|
|
151
|
+
- Symptom type (crash, wrong display, no response)
|
|
152
|
+
- Root cause pattern (missing validation, stale closure)
|
|
153
|
+
- Fix strategy (add normalization, refresh state)
|
|
154
|
+
- Detection method (check parser, trace data flow)
|
|
155
|
+
|
|
156
|
+
### Abstraction Examples
|
|
157
|
+
|
|
158
|
+
| Project-Specific | Universal |
|
|
159
|
+
|------------------|-----------|
|
|
160
|
+
| "useState doesn't update in onClick callback" | "Stale closure captures old state in event handler" |
|
|
161
|
+
| "Excel parser uses ${keywords} as column name" | "User input contains wrapper syntax that should be stripped" |
|
|
162
|
+
| "POST /api/users returns 200 but code: -1" | "HTTP success but business error in response body" |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Integration with Output Contract
|
|
167
|
+
|
|
168
|
+
Add to your bug fix report:
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
## Knowledge Update
|
|
172
|
+
|
|
173
|
+
### Project Record
|
|
174
|
+
- Added to: bugRecord.md
|
|
175
|
+
- Bug ID: BUG-NNN
|
|
176
|
+
- Category: [Category]
|
|
177
|
+
|
|
178
|
+
### Pattern Extraction
|
|
179
|
+
- New pattern identified: [Yes/No]
|
|
180
|
+
- Pattern name: [If yes]
|
|
181
|
+
- Added to bug-guide.md: [Yes/No]
|
|
182
|
+
|
|
183
|
+
### Related Bugs
|
|
184
|
+
- Similar past bugs: [List or None]
|
|
185
|
+
- Applied lessons from: [List or None]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Workflow Checklist
|
|
191
|
+
|
|
192
|
+
### Before Starting Fix
|
|
193
|
+
|
|
194
|
+
- [ ] Checked project bugRecord.md for related history
|
|
195
|
+
- [ ] Reviewed bug-guide.md for applicable patterns
|
|
196
|
+
- [ ] Noted any lessons to apply
|
|
197
|
+
|
|
198
|
+
### After Completing Fix
|
|
199
|
+
|
|
200
|
+
- [ ] Added record to project bugRecord.md
|
|
201
|
+
- [ ] If retry, updated previous record status
|
|
202
|
+
- [ ] Considered if pattern should be extracted
|
|
203
|
+
- [ ] Updated bug-guide.md if new pattern found
|
|
204
|
+
|
|
205
|
+
### Periodic Maintenance (Every 5-10 Bugs)
|
|
206
|
+
|
|
207
|
+
- [ ] Reviewed recent bug records
|
|
208
|
+
- [ ] Identified recurring themes
|
|
209
|
+
- [ ] Abstracted to universal patterns
|
|
210
|
+
- [ ] Updated bug-guide.md pattern library
|
|
211
|
+
- [ ] Updated verification checklist if needed
|
|
212
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Post-Edit Quality Gate
|
|
2
|
+
|
|
3
|
+
Every code modification must pass format + lint check before proceeding.
|
|
4
|
+
|
|
5
|
+
## Workflow
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Code Change → Format → Lint Check → Fix P0/P1 → Proceed
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Scripts
|
|
12
|
+
|
|
13
|
+
| Script | Command |
|
|
14
|
+
|--------|---------|
|
|
15
|
+
| Format | `python scripts/format_code.py <file>` |
|
|
16
|
+
| Format (dir) | `python scripts/format_code.py --dir src/` |
|
|
17
|
+
| Lint | `python scripts/lint_check.py <file>` |
|
|
18
|
+
| Lint + Fix | `python scripts/lint_check.py <file> --fix` |
|
|
19
|
+
| IDE Lints | `read_lints(paths: ["<file>"])` |
|
|
20
|
+
|
|
21
|
+
## Priority
|
|
22
|
+
|
|
23
|
+
| Level | Examples | Action |
|
|
24
|
+
|-------|----------|--------|
|
|
25
|
+
| 🔴 P0 | Syntax errors | Must fix immediately |
|
|
26
|
+
| 🟠 P1 | Type/import errors | Must fix before commit |
|
|
27
|
+
| 🟡 P2 | Unused vars, warnings | Should fix |
|
|
28
|
+
| ⚪ P3 | Style nits | Optional |
|
|
29
|
+
|
|
30
|
+
**Rule**: Zero P0/P1 before proceeding.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Python Environment & Testing Discipline
|
|
2
|
+
|
|
3
|
+
Bug fixes are only “done” if the verification signal is trustworthy. In Python, the most common source of false confidence is running tests/scripts under the **wrong interpreter** or **outside the intended environment**.
|
|
4
|
+
|
|
5
|
+
This guide is cross-project and applies to any Python backend, tooling repo, or hybrid monorepo.
|
|
6
|
+
|
|
7
|
+
## Core principles (default best practices)
|
|
8
|
+
|
|
9
|
+
- **Always know which Python you are using** (version + executable path).
|
|
10
|
+
- **Prefer environment-managed execution** (venv/poetry/uv/conda) over global Python.
|
|
11
|
+
- **Avoid command chaining by default** when reproducing/verifying (one command per run, capture outputs clearly).
|
|
12
|
+
- **Record a repro matrix**: commands, environment, and outcomes.
|
|
13
|
+
|
|
14
|
+
## Preflight checklist (before running tests)
|
|
15
|
+
|
|
16
|
+
### 1) Identify the project’s intended environment tool
|
|
17
|
+
|
|
18
|
+
Look for one of these and follow that tool’s “golden path”:
|
|
19
|
+
|
|
20
|
+
- `pyproject.toml` (often Poetry/uv/pip-tools)
|
|
21
|
+
- `requirements.txt` / `requirements-dev.txt`
|
|
22
|
+
- `Pipfile` / `Pipfile.lock`
|
|
23
|
+
- `environment.yml` (conda)
|
|
24
|
+
|
|
25
|
+
If the project already uses a tool (e.g., Poetry), do not mix it with ad-hoc `pip install` unless you must.
|
|
26
|
+
|
|
27
|
+
### 2) Confirm the active interpreter
|
|
28
|
+
|
|
29
|
+
Run a small self-check and **paste the output** into your verification notes:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
python -c "import sys,platform; print(sys.version); print(sys.executable); print(platform.platform())"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Common OS-specific helpers:
|
|
36
|
+
|
|
37
|
+
- Windows (CMD/PowerShell):
|
|
38
|
+
- `where python`
|
|
39
|
+
- macOS/Linux:
|
|
40
|
+
- `which python`
|
|
41
|
+
|
|
42
|
+
If there are multiple Pythons, make sure the intended one is first in PATH *or* call the target interpreter explicitly.
|
|
43
|
+
|
|
44
|
+
### 3) Confirm dependency context (pip points to the same interpreter)
|
|
45
|
+
|
|
46
|
+
Run:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
python -m pip --version
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The printed path should match the interpreter you intend to use (same environment directory).
|
|
53
|
+
|
|
54
|
+
## Virtual environment workflows
|
|
55
|
+
|
|
56
|
+
### Option A (recommended): Call the environment’s Python directly
|
|
57
|
+
|
|
58
|
+
This avoids “activation drift” and works well in automation.
|
|
59
|
+
|
|
60
|
+
- Windows venv:
|
|
61
|
+
- `venv\Scripts\python -m pytest ...`
|
|
62
|
+
- macOS/Linux venv:
|
|
63
|
+
- `venv/bin/python -m pytest ...`
|
|
64
|
+
|
|
65
|
+
### Option B: Activate venv (interactive work)
|
|
66
|
+
|
|
67
|
+
Activation commands vary by shell:
|
|
68
|
+
|
|
69
|
+
- Windows CMD:
|
|
70
|
+
- `venv\Scripts\activate`
|
|
71
|
+
- Windows PowerShell:
|
|
72
|
+
- `venv\Scripts\Activate.ps1`
|
|
73
|
+
- If blocked, you may need to adjust execution policy for the current session.
|
|
74
|
+
- macOS/Linux:
|
|
75
|
+
- `source venv/bin/activate`
|
|
76
|
+
|
|
77
|
+
After activation, confirm:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
python -c "import sys; print(sys.executable)"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Running tests (repeatable and debuggable)
|
|
84
|
+
|
|
85
|
+
### Prefer module execution
|
|
86
|
+
|
|
87
|
+
Use `python -m ...` to ensure you are using the correct environment:
|
|
88
|
+
|
|
89
|
+
- `python -m pytest -q`
|
|
90
|
+
- `python -m unittest`
|
|
91
|
+
- `python -m <your_module>`
|
|
92
|
+
|
|
93
|
+
### Run one command per step (default)
|
|
94
|
+
|
|
95
|
+
To make logs and failures unambiguous:
|
|
96
|
+
|
|
97
|
+
1. `cd` into the correct directory
|
|
98
|
+
2. Run exactly one command
|
|
99
|
+
3. Capture exit code + key output
|
|
100
|
+
|
|
101
|
+
Avoid chained commands by default (e.g., `&&`, `;`, `|`) unless there is a clear reason and you annotate it.
|
|
102
|
+
|
|
103
|
+
### Minimal verification matrix template
|
|
104
|
+
|
|
105
|
+
Record the following for every bug fix:
|
|
106
|
+
|
|
107
|
+
| Step | Command | Expected | Actual | Exit code | Notes |
|
|
108
|
+
|---|---|---|---|---|---|
|
|
109
|
+
| Preflight | (print sys.executable) | points to venv | … | 0 | … |
|
|
110
|
+
| Target test | (pytest file) | pass | … | … | … |
|
|
111
|
+
| Regression | (smoke test) | pass | … | … | … |
|
|
112
|
+
|
|
113
|
+
## Common pitfalls & quick diagnoses
|
|
114
|
+
|
|
115
|
+
- **Tests import the wrong dependency version**
|
|
116
|
+
- Verify `python -m pip --version` matches the active interpreter.
|
|
117
|
+
- **pytest missing inside venv**
|
|
118
|
+
- Install test deps into the same environment, not globally.
|
|
119
|
+
- **Multiple Python installs cause non-determinism**
|
|
120
|
+
- Call the target interpreter explicitly (Option A) and avoid relying on PATH.
|
|
121
|
+
- **Interactive shell is “dirty” (stray characters, partial commands)**
|
|
122
|
+
- Use a clean prompt; see `windows-terminal-hygiene.md`.
|
|
123
|
+
- **Tests hang**
|
|
124
|
+
- Reduce scope (single test), disable network, add timeouts, and verify background services are not required.
|
|
125
|
+
|
|
126
|
+
|