@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.
Files changed (234) hide show
  1. package/.claude/skills/.temp-skill-index.md +245 -0
  2. package/.claude/skills/SKILL.md +264 -0
  3. package/.claude/skills/api-scaffolding/SKILL.md +431 -0
  4. package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
  5. package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
  6. package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
  7. package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
  8. package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
  9. package/.claude/skills/api-testing-observability/SKILL.md +583 -0
  10. package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
  11. package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
  12. package/.claude/skills/brainstorming/SKILL.md +283 -0
  13. package/.claude/skills/bug-fixing/SKILL.md +382 -0
  14. package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
  15. package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
  16. package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
  17. package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
  18. package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
  19. package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
  20. package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
  21. package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
  22. package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
  23. package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
  24. package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
  25. package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
  26. package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
  27. package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
  28. package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
  29. package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
  30. package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
  31. package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
  32. package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
  33. package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
  34. package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
  35. package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
  36. package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
  37. package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
  38. package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
  39. package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
  40. package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
  41. package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
  42. package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
  43. package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
  44. package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
  45. package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
  46. package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
  47. package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
  48. package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
  49. package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
  50. package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
  51. package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
  52. package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
  53. package/.claude/skills/code-review/SKILL.md +535 -0
  54. package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
  55. package/.claude/skills/code-review/references/automated-analysis.md +456 -0
  56. package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
  57. package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
  58. package/.claude/skills/code-review/references/backend-review.md +868 -0
  59. package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
  60. package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
  61. package/.claude/skills/code-review/references/common-patterns.md +321 -0
  62. package/.claude/skills/code-review/references/configuration-review.md +425 -0
  63. package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
  64. package/.claude/skills/code-review/references/database-review.md +298 -0
  65. package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
  66. package/.claude/skills/code-review/references/external-standards.md +51 -0
  67. package/.claude/skills/code-review/references/feature-review.md +329 -0
  68. package/.claude/skills/code-review/references/file-review-template.md +326 -0
  69. package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
  70. package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
  71. package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
  72. package/.claude/skills/code-review/references/frontend-review.md +783 -0
  73. package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
  74. package/.claude/skills/code-review/references/fullstack-review.md +477 -0
  75. package/.claude/skills/code-review/references/functional-completeness.md +386 -0
  76. package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
  77. package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
  78. package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
  79. package/.claude/skills/code-review/references/iteration-review.md +264 -0
  80. package/.claude/skills/code-review/references/job-review.md +335 -0
  81. package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
  82. package/.claude/skills/code-review/references/logic-completeness.md +535 -0
  83. package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
  84. package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
  85. package/.claude/skills/code-review/references/new-project-review.md +226 -0
  86. package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
  87. package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
  88. package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
  89. package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
  90. package/.claude/skills/code-review/references/python-patterns.md +494 -0
  91. package/.claude/skills/code-review/references/rca-techniques.md +362 -0
  92. package/.claude/skills/code-review/references/report-template.md +430 -0
  93. package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
  94. package/.claude/skills/code-review/references/review-dimensions.md +311 -0
  95. package/.claude/skills/code-review/references/review-guide.md +202 -0
  96. package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
  97. package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
  98. package/.claude/skills/code-review/references/review-record-template.md +195 -0
  99. package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
  100. package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
  101. package/.claude/skills/containerization/SKILL.md +313 -0
  102. package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
  103. package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
  104. package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
  105. package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
  106. package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
  107. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  108. package/.claude/skills/frontend-design/SKILL.md +587 -0
  109. package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
  110. package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
  111. package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
  112. package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
  113. package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
  114. package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
  115. package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
  116. package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
  117. package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
  118. package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
  119. package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
  120. package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
  121. package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
  122. package/.claude/skills/fullstack-developer/SKILL.md +512 -0
  123. package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
  124. package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
  125. package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
  126. package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
  127. package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
  128. package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
  129. package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
  130. package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
  131. package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
  132. package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
  133. package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
  134. package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
  135. package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
  136. package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
  137. package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
  138. package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
  139. package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
  140. package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
  141. package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
  142. package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
  143. package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
  144. package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
  145. package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
  146. package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
  147. package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
  148. package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
  149. package/.claude/skills/performance-optimization/SKILL.md +250 -0
  150. package/.claude/skills/product-requirements/SKILL.md +357 -0
  151. package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
  152. package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
  153. package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
  154. package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
  155. package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
  156. package/.claude/skills/product-requirements/references/external-standards.md +62 -0
  157. package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
  158. package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
  159. package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
  160. package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
  161. package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
  162. package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
  163. package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
  164. package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
  165. package/.claude/skills/react-best-practices/SKILL.md +198 -0
  166. package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
  167. package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
  168. package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
  169. package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
  170. package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
  171. package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
  172. package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
  173. package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
  174. package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
  175. package/.claude/skills/security-audit/SKILL.md +226 -0
  176. package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
  177. package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
  178. package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
  179. package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
  180. package/.claude/skills/shared-references/skill-call-graph.md +230 -0
  181. package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
  182. package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
  183. package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
  184. package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
  185. package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
  186. package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
  187. package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
  188. package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
  189. package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
  190. package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
  191. package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
  192. package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
  193. package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
  194. package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
  195. package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
  196. package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
  197. package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
  198. package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
  199. package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
  200. package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
  201. package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
  202. package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
  203. package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
  204. package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
  205. package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
  206. package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
  207. package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
  208. package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
  209. package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
  210. package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
  211. package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
  212. package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  213. package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
  214. package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
  215. package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
  216. package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
  217. package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
  218. package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
  219. package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
  220. package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
  221. package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
  222. package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
  223. package/.claude/skills/test-driven-development/SKILL.md +246 -0
  224. package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
  225. package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
  226. package/.claude/skills/using-skillstack/SKILL.md +127 -0
  227. package/.claude/skills/vercel-deploy/SKILL.md +166 -0
  228. package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
  229. package/.claude/skills/verification-before-completion/SKILL.md +305 -0
  230. package/.claude/skills/writing-plans/SKILL.md +259 -0
  231. package/README.md +69 -0
  232. package/bin/cli.js +468 -0
  233. package/lib/init.js +333 -0
  234. package/package.json +29 -0
@@ -0,0 +1,473 @@
1
+ # Hidden Bug Deep Detection Guide
2
+
3
+ > Specifically designed to discover hidden bugs that are difficult to find through conventional code review.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Hidden Bug Categories](#hidden-bug-categories)
8
+ - [Data Race Detection](#1-data-race-detection)
9
+ - [Memory & Resource Leaks](#2-memory--resource-leaks)
10
+ - [State Inconsistency Issues](#3-state-inconsistency-issues)
11
+ - [Timing & Concurrency Traps](#4-timing--concurrency-traps)
12
+ - [Frontend-Backend Coupling Hidden Issues](#5-frontend-backend-coupling-hidden-issues)
13
+ - [Automated Detection Commands](#automated-detection-commands)
14
+
15
+ ---
16
+
17
+ ## Hidden Bug Categories
18
+
19
+ | Category | Characteristics | Discovery Difficulty | Severity |
20
+ |----------|----------------|---------------------|----------|
21
+ | **Data Races** | Only occurs under concurrency | 🔴 Very Hard | 🔴 Critical |
22
+ | **Memory Leaks** | Only exposed after long runtime | 🔴 Very Hard | 🟠 High |
23
+ | **State Inconsistency** | Triggered by specific operation sequence | 🟠 Hard | 🔴 Critical |
24
+ | **Timing Issues** | Depends on execution order | 🟠 Hard | 🟠 High |
25
+ | **Boundary Overflow** | Triggered by extreme input | 🟡 Medium | 🟠 High |
26
+ | **Resource Leaks** | Uncleared on exception paths | 🟡 Medium | 🟠 High |
27
+
28
+ ---
29
+
30
+ ## 1. Data Race Detection
31
+
32
+ ### 1.1 Shared State Modification (Most Dangerous Hidden Bug)
33
+
34
+ **Required patterns to check**:
35
+
36
+ ```python
37
+ # 🔴 Hidden Bug: Modifying shared object in Service singleton
38
+ class ChatService:
39
+ def __init__(self):
40
+ self.agent = load_agent() # Shared singleton
41
+
42
+ async def chat(self, user_input, llm_id=None):
43
+ if llm_id:
44
+ self.agent.llm_provider_id = llm_id # 💀 Critical! Affects other users
45
+ await self.executor.run(self.agent, user_input)
46
+ ```
47
+
48
+ **Detection method**:
49
+
50
+ ```bash
51
+ # Python: Search for all self.xxx = in async functions
52
+ grep -rn "self\.[a-z_]* = " --include="*.py" | grep -E "(async def|await)"
53
+
54
+ # Search for property modifications in singleton patterns
55
+ grep -rn "@singleton\|Singleton\|_instance" --include="*.py" -A 20 | grep "self\."
56
+ ```
57
+
58
+ **Safe pattern**:
59
+
60
+ ```python
61
+ # ✅ Correct: Pass through parameters, don't modify shared state
62
+ async def chat(self, user_input, llm_id=None):
63
+ await self.executor.run(
64
+ self.agent,
65
+ user_input,
66
+ override_llm_id=llm_id # Pass as parameter instead of modifying
67
+ )
68
+ ```
69
+
70
+ ### 1.2 Global Variables/Module-Level Cache
71
+
72
+ ```python
73
+ # 🔴 Hidden Bug: Module-level dict modified concurrently
74
+ _cache = {} # Module-level, shared by all requests
75
+
76
+ async def get_user(user_id):
77
+ if user_id not in _cache:
78
+ _cache[user_id] = await db.fetch(user_id) # Race condition!
79
+ return _cache[user_id]
80
+ ```
81
+
82
+ **Detection command**:
83
+
84
+ ```bash
85
+ # Find all module-level mutable objects
86
+ grep -rn "^[a-z_]* = \[\]\|^[a-z_]* = {}\|^[a-z_]* = set()" --include="*.py"
87
+ ```
88
+
89
+ ### 1.3 Go Language Specific Detection
90
+
91
+ ```bash
92
+ # Go race detector (MUST run)
93
+ go test -race ./...
94
+
95
+ # Search for unprotected shared variables
96
+ grep -rn "var [a-z]" --include="*.go" | grep -v "sync\."
97
+ ```
98
+
99
+ ---
100
+
101
+ ## 2. Memory & Resource Leaks
102
+
103
+ ### 2.1 Event Listener Leaks (Most Common in Frontend)
104
+
105
+ ```typescript
106
+ // 🔴 Hidden Bug: useEffect without cleanup
107
+ useEffect(() => {
108
+ window.addEventListener('resize', handleResize);
109
+ // 💀 Listener persists after component unmount, memory leak
110
+ }, []);
111
+
112
+ // ✅ Correct
113
+ useEffect(() => {
114
+ window.addEventListener('resize', handleResize);
115
+ return () => window.removeEventListener('resize', handleResize);
116
+ }, []);
117
+ ```
118
+
119
+ **Detection command**:
120
+
121
+ ```bash
122
+ # Search for useEffect without return
123
+ grep -rn "useEffect" --include="*.tsx" --include="*.ts" -A 10 | grep -B 5 "\\[\\])" | grep -v "return"
124
+ ```
125
+
126
+ ### 2.2 Timer Leaks
127
+
128
+ ```typescript
129
+ // 🔴 Hidden Bug: setInterval not cleared
130
+ useEffect(() => {
131
+ const timer = setInterval(fetchData, 5000);
132
+ // 💀 Still executing after component unmount
133
+ }, []);
134
+ ```
135
+
136
+ **Detection command**:
137
+
138
+ ```bash
139
+ # Search for setInterval/setTimeout, check if clearInterval/clearTimeout exists
140
+ grep -rn "setInterval\|setTimeout" --include="*.ts" --include="*.tsx" -B 2 -A 5
141
+ ```
142
+
143
+ ### 2.3 Database Connection Leaks
144
+
145
+ ```python
146
+ # 🔴 Hidden Bug: Connection not closed on exception path
147
+ async def query_data():
148
+ conn = await pool.acquire()
149
+ result = await conn.fetch("SELECT ...") # If exception thrown here
150
+ await pool.release(conn) # 💀 Never executed
151
+ return result
152
+
153
+ # ✅ Correct: Use context manager
154
+ async def query_data():
155
+ async with pool.acquire() as conn:
156
+ return await conn.fetch("SELECT ...")
157
+ ```
158
+
159
+ **Detection command**:
160
+
161
+ ```bash
162
+ # Search for acquire/open not in with statement
163
+ grep -rn "\.acquire()\|\.open(" --include="*.py" | grep -v "with\|async with"
164
+ ```
165
+
166
+ ### 2.4 Closure Reference Leaks
167
+
168
+ ```javascript
169
+ // 🔴 Hidden Bug: Closure holds reference to large object
170
+ function createHandler() {
171
+ const hugeData = loadHugeData(); // 10MB data
172
+ return function handler() {
173
+ console.log(hugeData.length); // Closure holds hugeData reference
174
+ // 💀 Even if hugeData is no longer needed, cannot be GC'd
175
+ };
176
+ }
177
+ ```
178
+
179
+ ---
180
+
181
+ ## 3. State Inconsistency Issues
182
+
183
+ ### 3.1 Optimistic Update Rollback Failure
184
+
185
+ ```typescript
186
+ // 🔴 Hidden Bug: State inconsistency after optimistic update failure
187
+ const [items, setItems] = useState([]);
188
+
189
+ async function deleteItem(id) {
190
+ const backup = [...items];
191
+ setItems(items.filter(i => i.id !== id)); // Optimistic update
192
+
193
+ try {
194
+ await api.delete(id);
195
+ } catch (e) {
196
+ // 💀 If other operations modified items simultaneously, rollback overwrites
197
+ setItems(backup);
198
+ }
199
+ }
200
+ ```
201
+
202
+ ### 3.2 Cache & Database Inconsistency
203
+
204
+ ```python
205
+ # 🔴 Hidden Bug: Update order causes inconsistency
206
+ async def update_user(user_id, data):
207
+ await cache.delete(f"user:{user_id}") # 1. Delete cache first
208
+ await db.update(user_id, data) # 2. Then update DB
209
+ # 💀 If read request between 1-2, old data written to cache
210
+
211
+ # ✅ Correct: Update DB first, then delete cache (or use delayed double-delete)
212
+ async def update_user(user_id, data):
213
+ await db.update(user_id, data)
214
+ await cache.delete(f"user:{user_id}")
215
+ await asyncio.sleep(0.5) # Delay
216
+ await cache.delete(f"user:{user_id}") # Double delete
217
+ ```
218
+
219
+ ### 3.3 Distributed Transaction Inconsistency
220
+
221
+ ```python
222
+ # 🔴 Hidden Bug: Cross-service operations without transaction guarantee
223
+ async def create_order(data):
224
+ order = await order_service.create(data) # 1. Create order
225
+ await payment_service.charge(order.total) # 2. Charge payment
226
+ await inventory_service.reduce(order.items) # 3. Reduce inventory
227
+ # 💀 If step 3 fails, order created, payment charged, but inventory not reduced
228
+ ```
229
+
230
+ **Detection method**:
231
+
232
+ ```bash
233
+ # Search for cross-service call sequences
234
+ grep -rn "await.*_service\." --include="*.py" -A 3 | grep -E "_service\.[a-z]+\("
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 4. Timing & Concurrency Traps
240
+
241
+ ### 4.1 Async Operation Order Dependency
242
+
243
+ ```typescript
244
+ // 🔴 Hidden Bug: Depends on execution order but not guaranteed
245
+ async function loadData() {
246
+ fetchUserProfile(); // Async but not awaited
247
+ fetchUserOrders(); // Async but not awaited
248
+ // 💀 Completion order uncertain, errors if there are dependencies
249
+ }
250
+ ```
251
+
252
+ **Detection command**:
253
+
254
+ ```bash
255
+ # Search for async function calls without await
256
+ grep -rn "async function\|async \(" --include="*.ts" -l | xargs grep -n "([a-zA-Z]*)\s*;" | grep -v await
257
+ ```
258
+
259
+ ### 4.2 Promise.all Partial Failure
260
+
261
+ ```typescript
262
+ // 🔴 Hidden Bug: One failure causes all to fail
263
+ async function loadAllData() {
264
+ const [users, orders, products] = await Promise.all([
265
+ fetchUsers(),
266
+ fetchOrders(),
267
+ fetchProducts()
268
+ ]);
269
+ // 💀 If fetchOrders fails, successful results for users and products also lost
270
+ }
271
+
272
+ // ✅ Correct: Use Promise.allSettled
273
+ async function loadAllData() {
274
+ const results = await Promise.allSettled([
275
+ fetchUsers(),
276
+ fetchOrders(),
277
+ fetchProducts()
278
+ ]);
279
+ // Can handle successful and failed results separately
280
+ }
281
+ ```
282
+
283
+ ### 4.3 React 18 Concurrent Mode Traps
284
+
285
+ ```typescript
286
+ // 🔴 Hidden Bug: Code that depends on render order
287
+ useEffect(() => {
288
+ globalState.currentUser = user; // 💀 Executes twice in StrictMode
289
+ }, [user]);
290
+
291
+ // ✅ Correct: Use React state management
292
+ const [currentUser, setCurrentUser] = useState(user);
293
+ ```
294
+
295
+ ---
296
+
297
+ ## 5. Frontend-Backend Coupling Hidden Issues
298
+
299
+ ### 5.1 WebSocket State Desync
300
+
301
+ ```typescript
302
+ // 🔴 Hidden Bug: State desync after reconnection
303
+ const ws = new WebSocket(url);
304
+ ws.onmessage = (event) => {
305
+ updateState(event.data); // Incremental update
306
+ };
307
+ ws.onopen = () => {
308
+ // 💀 Continues incremental update after reconnect, but missed messages during disconnect
309
+ };
310
+
311
+ // ✅ Correct: Request full state after reconnect
312
+ ws.onopen = () => {
313
+ ws.send(JSON.stringify({ type: 'SYNC_FULL_STATE' }));
314
+ };
315
+ ```
316
+
317
+ ### 5.2 Token Refresh Race
318
+
319
+ ```typescript
320
+ // 🔴 Hidden Bug: Multiple requests triggering token refresh simultaneously
321
+ async function apiCall(url) {
322
+ if (isTokenExpired()) {
323
+ await refreshToken(); // 💀 Multiple requests enter simultaneously, multiple refreshes
324
+ }
325
+ return fetch(url);
326
+ }
327
+
328
+ // ✅ Correct: Use refresh lock
329
+ let refreshPromise = null;
330
+ async function apiCall(url) {
331
+ if (isTokenExpired()) {
332
+ if (!refreshPromise) {
333
+ refreshPromise = refreshToken().finally(() => {
334
+ refreshPromise = null;
335
+ });
336
+ }
337
+ await refreshPromise;
338
+ }
339
+ return fetch(url);
340
+ }
341
+ ```
342
+
343
+ ### 5.3 Pagination Data Drift
344
+
345
+ ```typescript
346
+ // 🔴 Hidden Bug: Data changed while loading next page
347
+ // Page 1 loads with 100 items
348
+ // New data inserted before loading page 2
349
+ // 💀 Page 2 may duplicate last few items from page 1
350
+
351
+ // ✅ Correct: Use cursor pagination
352
+ async function loadMore(cursor) {
353
+ return api.get(`/items?after=${cursor}&limit=20`);
354
+ }
355
+ ```
356
+
357
+ ### 5.4 Optimistic UI vs Server Validation Conflict
358
+
359
+ ```typescript
360
+ // 🔴 Hidden Bug: Frontend allows but backend rejects
361
+ // Frontend validation: title length < 200
362
+ // Backend validation: title length < 100
363
+ // 💀 User inputs 150 chars, frontend shows success, backend returns 400
364
+ ```
365
+
366
+ **Detection method**:
367
+
368
+ ```bash
369
+ # Compare frontend and backend validation rules
370
+ # Frontend
371
+ grep -rn "maxLength\|max:\|\.length <" --include="*.ts" --include="*.tsx"
372
+ # Backend
373
+ grep -rn "max_length\|Field.*le=\|MaxLength" --include="*.py"
374
+ ```
375
+
376
+ ---
377
+
378
+ ## Automated Detection Commands
379
+
380
+ ### One-Click Detection Script
381
+
382
+ ```bash
383
+ #!/bin/bash
384
+ # hidden-bug-scan.sh - Hidden Bug Auto Scanner
385
+
386
+ echo "=== 1. Data Race Detection ==="
387
+ echo "--- Singleton state modification ---"
388
+ grep -rn "self\.[a-z_]* = " --include="*.py" | grep -v "__init__\|def __"
389
+
390
+ echo ""
391
+ echo "--- Module-level mutable objects ---"
392
+ grep -rn "^[a-z_]* = \[\]\|^[a-z_]* = {}" --include="*.py"
393
+
394
+ echo ""
395
+ echo "=== 2. Resource Leak Detection ==="
396
+ echo "--- Uncleaned useEffect ---"
397
+ grep -rn "useEffect" --include="*.tsx" -A 8 | grep -B 6 "\\[\\])" | grep -v "return () =>"
398
+
399
+ echo ""
400
+ echo "--- Unclosed connections ---"
401
+ grep -rn "\.acquire()\|\.open(" --include="*.py" | grep -v "with\|async with"
402
+
403
+ echo ""
404
+ echo "=== 3. Concurrency Issue Detection ==="
405
+ echo "--- Unawaited async calls ---"
406
+ grep -rn "async function" --include="*.ts" -A 20 | grep -E "\([a-zA-Z]+\)\s*;$" | grep -v await
407
+
408
+ echo ""
409
+ echo "=== 4. Security Issue Detection ==="
410
+ echo "--- Hardcoded credentials ---"
411
+ grep -rn "password\s*=\|api_key\s*=\|secret\s*=" --include="*.py" --include="*.ts" | grep -v "os.environ\|process.env"
412
+
413
+ echo ""
414
+ echo "=== Detection Complete ==="
415
+ ```
416
+
417
+ ### Python Specific Detection
418
+
419
+ ```bash
420
+ # Data race
421
+ python -m bandit -r src/
422
+ go test -race ./... # Go
423
+
424
+ # Memory leak
425
+ python -m memory_profiler script.py
426
+ ```
427
+
428
+ ### Frontend Specific Detection
429
+
430
+ ```bash
431
+ # React Hook rules
432
+ npx eslint . --rule 'react-hooks/exhaustive-deps: error'
433
+
434
+ # Memory leak
435
+ # Chrome DevTools → Memory → Heap snapshot
436
+ ```
437
+
438
+ ---
439
+
440
+ ## Hidden Bug Checklist
441
+
442
+ Required checks for every Code Review:
443
+
444
+ ```markdown
445
+ ## Hidden Bug Checklist
446
+
447
+ ### Data Races
448
+ - [ ] Is shared state modified in singleton Services
449
+ - [ ] Are module-level variables accessed concurrently
450
+ - [ ] Are there unprotected global caches
451
+
452
+ ### Resource Leaks
453
+ - [ ] Does useEffect have cleanup function
454
+ - [ ] Is setInterval/setTimeout cleared
455
+ - [ ] Are database/network connections properly closed
456
+ - [ ] Are event listeners removed
457
+
458
+ ### State Inconsistency
459
+ - [ ] Is cache update order correct
460
+ - [ ] Is optimistic update failure properly rolled back
461
+ - [ ] Do cross-service operations have transaction guarantees
462
+
463
+ ### Timing Issues
464
+ - [ ] Are async operations properly awaited
465
+ - [ ] Does Promise.all handle partial failures
466
+ - [ ] Do concurrent requests have race conditions
467
+
468
+ ### Frontend-Backend Coupling
469
+ - [ ] Are frontend/backend validation rules consistent
470
+ - [ ] Does WebSocket reconnection sync state
471
+ - [ ] Does Token refresh have race protection
472
+ - [ ] Does pagination use cursor to prevent data drift
473
+ ```
@@ -0,0 +1,173 @@
1
+ # IDE Lint Errors Detection and Resolution Guide
2
+
3
+ IDE red squiggly lines (lint errors) indicate code quality issues that must be identified and addressed during code review. This guide provides a systematic approach to detecting, categorizing, and requiring fixes for these errors.
4
+
5
+ ## Overview
6
+
7
+ Red underlines in code editors represent diagnostics from language servers, linters, and type checkers. During code review, these errors are automatic P1 findings — code with red underlines should not be approved.
8
+
9
+ ## Error Categories
10
+
11
+ ### 1. Syntax Errors (P0 - Blocker)
12
+
13
+ **Review Impact**: Code will not compile/run. Automatic BLOCKED verdict.
14
+
15
+ | Common Causes | Detection | Required Action |
16
+ |---------------|-----------|-----------------|
17
+ | Missing semicolons, commas, colons | Parser error at specific line | Require fix before approval |
18
+ | Unmatched brackets/braces/parentheses | Error often at end of block | Require fix |
19
+ | Typos in keywords (`fucntion`, `retrun`) | "Unknown identifier" error | Require fix |
20
+ | Invalid syntax constructs | "Unexpected token" error | Require fix |
21
+
22
+ ### 2. Type Errors (P0/P1 - Must Fix)
23
+
24
+ **Review Impact**: Runtime type errors, undefined behavior. P0 if in critical path.
25
+
26
+ | Common Causes | Detection | Required Action |
27
+ |---------------|-----------|-----------------|
28
+ | Type mismatch in assignment | "Type X not assignable to Y" | Require fix or justified cast |
29
+ | Undefined type reference | "Cannot find type X" | Require import or definition |
30
+ | Wrong generic parameters | "Expected N type arguments" | Require fix |
31
+ | Null/undefined not handled | "Object possibly undefined" | Require null check |
32
+ | Incorrect function return type | "Return type mismatch" | Require fix |
33
+
34
+ ### 3. Import/Module Errors (P1 - Must Fix)
35
+
36
+ **Review Impact**: Module resolution failures at runtime or build.
37
+
38
+ | Common Causes | Detection | Required Action |
39
+ |---------------|-----------|-----------------|
40
+ | Missing import statement | "X is not defined" | Require import |
41
+ | Wrong import path | "Cannot find module X" | Require path fix |
42
+ | Circular dependencies | Complex error pattern | Require refactor |
43
+ | Package not installed | "Cannot find module X" | Require package installation |
44
+ | Wrong export/import style | "X has no default export" | Require matching import |
45
+
46
+ ### 4. Linting Rule Violations (P2/P3 - Should Fix)
47
+
48
+ **Review Impact**: Code quality, maintainability. P2 for safety rules.
49
+
50
+ | Common Causes | Detection | Required Action |
51
+ |---------------|-----------|-----------------|
52
+ | Unused variables/imports | "X is defined but never used" | Recommend removal |
53
+ | Code style violations | Various formatting warnings | Recommend fix |
54
+ | Deprecated API usage | "X is deprecated" | Recommend update |
55
+ | Unsafe patterns | Security/safety warnings | P1 if security-related |
56
+ | Complexity warnings | "Function too complex" | Recommend refactor |
57
+
58
+ ### 5. Declaration Errors (P1 - Must Fix)
59
+
60
+ **Review Impact**: Runtime ReferenceError, undefined behavior.
61
+
62
+ | Common Causes | Detection | Required Action |
63
+ |---------------|-----------|-----------------|
64
+ | Using before declaration | "X used before defined" | Require reorder |
65
+ | Missing variable declaration | "X is not defined" | Require declaration |
66
+ | Scope issues | "X is not accessible" | Require scope fix |
67
+ | Missing function definition | "X is not a function" | Require definition |
68
+
69
+ ### 6. Configuration Issues (P1 - Must Fix)
70
+
71
+ **Review Impact**: Project-wide build/type failures.
72
+
73
+ | Common Causes | Detection | Required Action |
74
+ |---------------|-----------|-----------------|
75
+ | Missing tsconfig.json | TypeScript errors everywhere | Require config |
76
+ | Wrong compiler options | Unexpected type behavior | Require config fix |
77
+ | Missing type definitions | "Cannot find type X" for packages | Require @types install |
78
+ | Linter misconfiguration | Inconsistent linting | Require config fix |
79
+ | Python venv issues | Import errors for packages | Require env fix |
80
+
81
+ ## Review Workflow Integration
82
+
83
+ ### Phase 1.1: IDE Lint Error Analysis (MANDATORY)
84
+
85
+ **Before manual code review, run automated lint check:**
86
+
87
+ ```
88
+ read_lints(paths: ["path/to/changed/files"])
89
+ ```
90
+
91
+ **Categorize findings by severity:**
92
+
93
+ | Category | Finding Level | Review Action |
94
+ |----------|---------------|---------------|
95
+ | Syntax errors | P0 | BLOCKED — cannot approve |
96
+ | Type errors (critical path) | P0 | BLOCKED — require fix |
97
+ | Type errors (non-critical) | P1 | CHANGES REQUESTED |
98
+ | Import/declaration errors | P1 | CHANGES REQUESTED |
99
+ | Config issues | P1 | CHANGES REQUESTED |
100
+ | Linting warnings (safety) | P2 | Should fix or justify |
101
+ | Linting warnings (style) | P3 | Optional fix |
102
+
103
+ ### Lint Error Findings Template
104
+
105
+ ```markdown
106
+ ## IDE Lint Error Findings
107
+
108
+ | File | Line | Error Type | Message | Severity |
109
+ |------|------|------------|---------|----------|
110
+ | src/component.tsx | 42 | Type | "Property 'X' does not exist" | P1 |
111
+ | src/utils.ts | 15 | Import | "Cannot find module 'Y'" | P1 |
112
+ | ... | ... | ... | ... | ... |
113
+
114
+ **Required Actions:**
115
+ - [ ] Fix all P0/P1 lint errors before re-review
116
+ - [ ] Document any intentional suppressions
117
+ ```
118
+
119
+ ## Common Patterns to Flag
120
+
121
+ ### High-Risk Lint Errors (Always P1+)
122
+
123
+ | Pattern | Why It's High-Risk | Review Action |
124
+ |---------|-------------------|---------------|
125
+ | any type usage | Bypasses type safety | Require specific type |
126
+ | Ignored Promise | Unhandled async error | Require await/catch |
127
+ | Non-null assertion (!) | Hides null checks | Require proper check |
128
+ | Type assertion (as X) | May hide mismatch | Verify correctness |
129
+ | @ts-ignore / # type: ignore | Suppresses errors | Require justification |
130
+ | Unused catch variable | May hide error info | Require logging |
131
+
132
+ ### Patterns That Indicate Deeper Issues
133
+
134
+ | Lint Error Pattern | May Indicate | Follow-up Check |
135
+ |-------------------|--------------|-----------------|
136
+ | Many "X is not defined" | Missing module | Check package.json |
137
+ | Type errors everywhere | Config issue | Check tsconfig |
138
+ | Import path errors | Structure change | Check for refactor |
139
+ | Unused exports | Dead code | Check for removal |
140
+
141
+ ## Verification Checklist for Reviewers
142
+
143
+ Before approving ANY PR:
144
+
145
+ - [ ] Run `read_lints` on all changed files
146
+ - [ ] Zero P0 errors (syntax, critical type)
147
+ - [ ] Zero P1 errors (imports, declarations, types)
148
+ - [ ] P2 errors addressed or justified
149
+ - [ ] No new lint errors compared to base branch
150
+ - [ ] Suppressions have documented justification
151
+
152
+ ## Integration with Review Report
153
+
154
+ Include lint error findings in the standard review report:
155
+
156
+ ```markdown
157
+ ## Phase 1: Automated Checks
158
+
159
+ ### Lint Error Analysis
160
+ - Files checked: [list]
161
+ - P0 errors: [count] — BLOCKING
162
+ - P1 errors: [count] — Must fix
163
+ - P2 errors: [count] — Should address
164
+ - P3 errors: [count] — Optional
165
+
166
+ ### Required Before Approval
167
+ 1. Fix syntax error in file.ts:42
168
+ 2. Add missing import in utils.ts:15
169
+ 3. Address type mismatch in component.tsx:88
170
+ ```
171
+
172
+ → Return to main workflow: Phase 1 Automated Checks
173
+