@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,430 @@
1
+ # Code Review Report Template
2
+
3
+ Comprehensive report format for thorough code reviews.
4
+
5
+ ---
6
+
7
+ # Code Review Report
8
+
9
+ ## Review Metadata
10
+
11
+ | Field | Value |
12
+ |-------|-------|
13
+ | **Review ID** | CR-YYYY-MM-DD-XXX |
14
+ | **PR/MR** | #XXX |
15
+ | **Title** | [PR Title] |
16
+ | **Author** | @username |
17
+ | **Reviewer** | @reviewer |
18
+ | **Branch** | `feature/xxx` → `main` |
19
+ | **Review Date** | YYYY-MM-DD |
20
+ | **Review Duration** | X hours |
21
+
22
+ ---
23
+
24
+ ## Executive Summary
25
+
26
+ ### Verdict
27
+
28
+ | Status | Meaning |
29
+ |--------|---------|
30
+ | 🚫 **BLOCKED** | Critical security/correctness issues. Cannot merge. |
31
+ | 🔴 **CHANGES REQUESTED** | Significant issues must be addressed. |
32
+ | 🟠 **APPROVED WITH COMMENTS** | Minor issues, can merge after addressing. |
33
+ | ✅ **APPROVED** | Ready to merge. |
34
+
35
+ **Current Status**: [VERDICT]
36
+
37
+ ### Quick Stats
38
+
39
+ | Metric | Count |
40
+ |--------|-------|
41
+ | Files Changed | X |
42
+ | Files Reviewed | X / X (100%) |
43
+ | Lines Added | +XXX |
44
+ | Lines Removed | -XXX |
45
+ | Functions Changed | XX |
46
+ | Tests Added/Modified | XX |
47
+
48
+ ### Issue Summary
49
+
50
+ | Severity | Count | Must Fix |
51
+ |----------|-------|----------|
52
+ | 🚫 Blocker | X | Yes |
53
+ | 🔴 Critical | X | Yes |
54
+ | 🟠 Major | X | Recommended |
55
+ | 🟡 Minor | X | Optional |
56
+ | 🔵 Info | X | Optional |
57
+ | **Total** | **XX** | |
58
+
59
+ ### Key Findings
60
+
61
+ 1. **[Most important finding]** - [Brief description]
62
+ 2. **[Second finding]** - [Brief description]
63
+ 3. **[Third finding]** - [Brief description]
64
+
65
+ ---
66
+
67
+ ## Review Plan Executed
68
+
69
+ ### Files Reviewed (In Order)
70
+
71
+ | # | File | Type | Status | Issues | Time |
72
+ |---|------|------|--------|--------|------|
73
+ | 1 | `src/services/auth.ts` | Service | ✅ Complete | 3 | 15min |
74
+ | 2 | `src/api/users.ts` | API | ✅ Complete | 2 | 10min |
75
+ | 3 | `src/components/Login.tsx` | Component | ✅ Complete | 5 | 20min |
76
+ | 4 | `src/utils/validation.ts` | Utility | ✅ Complete | 1 | 5min |
77
+ | 5 | `tests/auth.test.ts` | Test | ✅ Complete | 0 | 5min |
78
+
79
+ ### Review Coverage
80
+
81
+ ```
82
+ Total Lines Changed: 500
83
+ Lines Reviewed: 500 (100%)
84
+ Lines with Issues: 45 (9%)
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Detailed Findings
90
+
91
+ ### 🚫 Blockers (Must Fix Before Merge)
92
+
93
+ These issues MUST be resolved. PR cannot be merged with blockers.
94
+
95
+ ---
96
+
97
+ #### B1: [Issue Title]
98
+
99
+ | Property | Value |
100
+ |----------|-------|
101
+ | **File** | `src/services/auth.ts` |
102
+ | **Line(s)** | 45-48 |
103
+ | **Category** | Security |
104
+ | **Severity** | 🚫 Blocker |
105
+
106
+ **Current Code**:
107
+ ```typescript
108
+ const token = jwt.sign(payload, "hardcoded-secret-key");
109
+ ```
110
+
111
+ **Problem**:
112
+ JWT secret is hardcoded in source code. This is a critical security vulnerability:
113
+ - Secret is visible in version control
114
+ - Cannot rotate without code change
115
+ - Exposed in any leak of source code
116
+
117
+ **Required Fix**:
118
+ ```typescript
119
+ const token = jwt.sign(payload, process.env.JWT_SECRET);
120
+ ```
121
+
122
+ **Additional Steps**:
123
+ 1. Add `JWT_SECRET` to environment variables
124
+ 2. Add to `.env.example` as placeholder
125
+ 3. Update deployment configuration
126
+
127
+ ---
128
+
129
+ #### B2: [Next Blocker]
130
+ [Same format]
131
+
132
+ ---
133
+
134
+ ### 🔴 Critical Issues (Must Fix)
135
+
136
+ High-severity issues that should be fixed before merge.
137
+
138
+ ---
139
+
140
+ #### C1: [Issue Title]
141
+
142
+ | Property | Value |
143
+ |----------|-------|
144
+ | **File** | `src/api/users.ts` |
145
+ | **Line(s)** | 23-30 |
146
+ | **Category** | Correctness |
147
+ | **Severity** | 🔴 Critical |
148
+
149
+ **Current Code**:
150
+ ```typescript
151
+ async function getUser(id: string) {
152
+ const user = await db.users.find(id);
153
+ return user.profile; // Can crash if user is null
154
+ }
155
+ ```
156
+
157
+ **Problem**:
158
+ No null check on database result. Will throw TypeError if user not found.
159
+
160
+ **Impact**:
161
+ - API returns 500 instead of 404
162
+ - Error logs filled with noise
163
+ - Poor user experience
164
+
165
+ **Recommended Fix**:
166
+ ```typescript
167
+ async function getUser(id: string) {
168
+ const user = await db.users.find(id);
169
+ if (!user) {
170
+ throw new NotFoundError(`User ${id} not found`);
171
+ }
172
+ return user.profile;
173
+ }
174
+ ```
175
+
176
+ ---
177
+
178
+ #### C2: [Next Critical Issue]
179
+ [Same format]
180
+
181
+ ---
182
+
183
+ ### 🟠 Major Issues (Should Fix)
184
+
185
+ Significant issues that should be addressed, but won't block merge if justified.
186
+
187
+ ---
188
+
189
+ #### M1: [Issue Title]
190
+
191
+ | Property | Value |
192
+ |----------|-------|
193
+ | **File** | `src/components/Login.tsx` |
194
+ | **Line(s)** | 67 |
195
+ | **Category** | Performance |
196
+ | **Severity** | 🟠 Major |
197
+
198
+ **Current Code**:
199
+ ```tsx
200
+ <Button onClick={() => handleSubmit(formData)} />
201
+ ```
202
+
203
+ **Problem**:
204
+ Inline arrow function creates new function reference on every render, causing unnecessary re-renders of child components.
205
+
206
+ **Recommended Fix**:
207
+ ```tsx
208
+ const handleClick = useCallback(() => handleSubmit(formData), [formData]);
209
+ <Button onClick={handleClick} />
210
+ ```
211
+
212
+ ---
213
+
214
+ ### 🟡 Minor Issues (Nice to Have)
215
+
216
+ Small improvements that would enhance code quality.
217
+
218
+ | # | File | Line | Issue | Suggestion |
219
+ |---|------|------|-------|------------|
220
+ | m1 | auth.ts | 12 | Unused import | Remove `lodash` |
221
+ | m2 | users.ts | 45 | Magic number | Extract to constant `MAX_RETRIES = 3` |
222
+ | m3 | Login.tsx | 23 | Generic variable name | Rename `data` to `formData` |
223
+ | m4 | validation.ts | 8 | Missing JSDoc | Add function documentation |
224
+
225
+ ---
226
+
227
+ ### 🔵 Suggestions (Optional)
228
+
229
+ Ideas for improvement, not required.
230
+
231
+ | # | File | Suggestion |
232
+ |---|------|------------|
233
+ | s1 | auth.ts | Consider using `zod` for runtime validation |
234
+ | s2 | users.ts | Could benefit from caching frequent queries |
235
+ | s3 | Login.tsx | Consider splitting into smaller components |
236
+
237
+ ---
238
+
239
+ ## File-by-File Summary
240
+
241
+ ### 1. `src/services/auth.ts`
242
+
243
+ | Metric | Value |
244
+ |--------|-------|
245
+ | Lines Reviewed | 140/140 |
246
+ | Functions Reviewed | 4/4 |
247
+ | Issues Found | 3 |
248
+ | Status | 🔴 Has Critical Issues |
249
+
250
+ **Functions Reviewed**:
251
+ | Function | Lines | Status | Issues |
252
+ |----------|-------|--------|--------|
253
+ | `login()` | 36-78 | 🔴 | 2 issues |
254
+ | `logout()` | 79-95 | ✅ | 0 issues |
255
+ | `validateToken()` | 96-120 | 🟡 | 1 issue |
256
+ | `refreshToken()` | 121-140 | ✅ | 0 issues |
257
+
258
+ **Key Issues**:
259
+ - B1: Hardcoded JWT secret (Line 52)
260
+ - C1: No rate limiting on login (Lines 36-78)
261
+ - M1: Inconsistent error messages (Lines 41, 65)
262
+
263
+ ---
264
+
265
+ ### 2. `src/api/users.ts`
266
+
267
+ | Metric | Value |
268
+ |--------|-------|
269
+ | Lines Reviewed | 89/89 |
270
+ | Functions Reviewed | 5/5 |
271
+ | Issues Found | 2 |
272
+ | Status | 🟠 Has Major Issues |
273
+
274
+ **Functions Reviewed**:
275
+ | Function | Lines | Status | Issues |
276
+ |----------|-------|--------|--------|
277
+ | `getUser()` | 10-25 | 🔴 | 1 issue |
278
+ | `createUser()` | 26-50 | ✅ | 0 issues |
279
+ | `updateUser()` | 51-70 | 🟡 | 1 issue |
280
+ | `deleteUser()` | 71-85 | ✅ | 0 issues |
281
+ | `listUsers()` | 86-89 | ✅ | 0 issues |
282
+
283
+ ---
284
+
285
+ ### 3. `src/components/Login.tsx`
286
+
287
+ [Same format for each file]
288
+
289
+ ---
290
+
291
+ ## Cross-Cutting Concerns
292
+
293
+ ### Consistency Analysis
294
+
295
+ | Aspect | Status | Notes |
296
+ |--------|--------|-------|
297
+ | Error handling | ⚠️ Inconsistent | auth.ts uses custom errors, users.ts uses generic |
298
+ | Logging | ✅ Consistent | All use logger service |
299
+ | Naming | ⚠️ Minor issues | Some generic names (data, result) |
300
+ | Types | ✅ Consistent | All functions typed |
301
+
302
+ ### Dependency Analysis
303
+
304
+ | Changed File | Dependents | Impact |
305
+ |--------------|------------|--------|
306
+ | auth.ts | 5 files | All auth flows affected |
307
+ | users.ts | 3 files | User display affected |
308
+
309
+ ### Test Coverage
310
+
311
+ | File | Tests Exist | Coverage | New Tests Needed |
312
+ |------|-------------|----------|------------------|
313
+ | auth.ts | ✅ | 78% | Add rate limit test |
314
+ | users.ts | ✅ | 65% | Add null user test |
315
+ | Login.tsx | ❌ | 0% | Add component tests |
316
+
317
+ ---
318
+
319
+ ## Checklists Completed
320
+
321
+ ### Security Checklist
322
+
323
+ | Check | Status | Notes |
324
+ |-------|--------|-------|
325
+ | No hardcoded secrets | ❌ | B1: JWT secret hardcoded |
326
+ | Input validation | ⚠️ | Missing in some endpoints |
327
+ | SQL injection prevention | ✅ | ORM used correctly |
328
+ | XSS prevention | ✅ | React escapes by default |
329
+ | CSRF protection | ✅ | Tokens implemented |
330
+ | Auth on protected routes | ✅ | Middleware in place |
331
+
332
+ ### Performance Checklist
333
+
334
+ | Check | Status | Notes |
335
+ |-------|--------|-------|
336
+ | No N+1 queries | ✅ | |
337
+ | Proper indexes | ✅ | |
338
+ | Memoization used | ⚠️ | M1: Missing useCallback |
339
+ | No memory leaks | ✅ | |
340
+ | Bundle size | ✅ | No heavy additions |
341
+
342
+ ### Maintainability Checklist
343
+
344
+ | Check | Status | Notes |
345
+ |-------|--------|-------|
346
+ | Functions <50 lines | ✅ | |
347
+ | Clear naming | ⚠️ | Some generic names |
348
+ | No magic numbers | ⚠️ | m2: MAX_RETRIES |
349
+ | Comments present | ✅ | |
350
+ | Tests updated | ⚠️ | Login.tsx needs tests |
351
+
352
+ ---
353
+
354
+ ## Recommended Actions
355
+
356
+ ### Before Merge (Required)
357
+
358
+ 1. **[B1]** Replace hardcoded JWT secret with environment variable
359
+ 2. **[C1]** Add null check in `getUser()` function
360
+ 3. Run security scan to verify no other hardcoded secrets
361
+
362
+ ### Before Deploy (Recommended)
363
+
364
+ 1. **[M1]** Add `useCallback` to Login component handlers
365
+ 2. Add tests for Login.tsx component
366
+ 3. Update API documentation for changed endpoints
367
+
368
+ ### Follow-up (After Merge)
369
+
370
+ 1. Consider implementing rate limiting on auth endpoints
371
+ 2. Refactor error handling for consistency
372
+ 3. Add monitoring for new endpoints
373
+
374
+ ---
375
+
376
+ ## Discussion Points
377
+
378
+ Questions or items needing author clarification:
379
+
380
+ 1. **Line 45 auth.ts**: Is the 30-minute token expiry intentional? Seems short for some use cases.
381
+ 2. **Line 67 users.ts**: Should soft-deleted users be included in `listUsers()`?
382
+ 3. **Login.tsx**: Any reason for not using React Hook Form for this form?
383
+
384
+ ---
385
+
386
+ ## Appendix
387
+
388
+ ### A. All Issues by File
389
+
390
+ | File | Blockers | Critical | Major | Minor | Info |
391
+ |------|----------|----------|-------|-------|------|
392
+ | auth.ts | 1 | 1 | 1 | 0 | 0 |
393
+ | users.ts | 0 | 1 | 0 | 1 | 1 |
394
+ | Login.tsx | 0 | 0 | 1 | 2 | 1 |
395
+ | validation.ts | 0 | 0 | 0 | 1 | 0 |
396
+ | **Total** | **1** | **2** | **2** | **4** | **2** |
397
+
398
+ ### B. Lines of Code Reviewed
399
+
400
+ | File | Total Lines | Changed Lines | Reviewed |
401
+ |------|-------------|---------------|----------|
402
+ | auth.ts | 140 | +45/-12 | 140 (100%) |
403
+ | users.ts | 89 | +23/-5 | 89 (100%) |
404
+ | Login.tsx | 156 | +67/-20 | 156 (100%) |
405
+ | validation.ts | 45 | +15/-3 | 45 (100%) |
406
+ | auth.test.ts | 89 | +34/-10 | 89 (100%) |
407
+ | **Total** | **519** | **+184/-50** | **519 (100%)** |
408
+
409
+ ### C. Review Timeline
410
+
411
+ | Phase | Duration | Notes |
412
+ |-------|----------|-------|
413
+ | Review Plan | 10 min | Created file list, prioritized |
414
+ | Dependency Mapping | 15 min | Traced 5 layers |
415
+ | File Reviews | 55 min | 5 files analyzed |
416
+ | Cross-File Analysis | 10 min | Consistency check |
417
+ | Report Generation | 15 min | This document |
418
+ | **Total** | **~1.5 hours** | |
419
+
420
+ ---
421
+
422
+ ## Signatures
423
+
424
+ **Reviewer**: @reviewer
425
+ **Date**: YYYY-MM-DD
426
+ **Status**: [VERDICT]
427
+
428
+ ---
429
+
430
+ *This review was conducted following the comprehensive file-by-file review process. All files were read in their entirety and analyzed across all dimensions.*
@@ -0,0 +1,137 @@
1
+ # Resource Limits & Graceful Degradation (资源限制与优雅降级)
2
+
3
+ **核心问题**:当系统资源受限时(内存、Token、时间),代码是否有降级策略而不是直接失败?
4
+
5
+ ## 🔴 必检场景
6
+
7
+ ### 1. LLM Token 限制
8
+
9
+ **问题模式**:
10
+ ```python
11
+ if current_tokens > max_tokens:
12
+ logger.warning("Token limit exceeded")
13
+ return # ❌ 直接返回,用户收不到任何回复
14
+ ```
15
+
16
+ **正确模式**:
17
+ ```python
18
+ if current_tokens > max_tokens:
19
+ logger.warning("Token limit exceeded, applying degradation")
20
+
21
+ # ✅ 降级策略 1: 压缩上下文
22
+ context = truncate_context(context, max_length=available_tokens)
23
+
24
+ # ✅ 降级策略 2: 禁用非必要功能
25
+ disable_tools = True
26
+
27
+ # ✅ 降级策略 3: 使用更小的模型
28
+ model = fallback_model
29
+
30
+ # ✅ 无论如何都要尝试生成回复
31
+ response = generate_with_constraints(prompt, context)
32
+ if not response:
33
+ response = "抱歉,由于资源限制,无法完整处理您的请求。请尝试简化问题或清理对话历史。"
34
+ return response
35
+ ```
36
+
37
+ ### 2. 内存/连接限制
38
+
39
+ **问题模式**:
40
+ ```python
41
+ if len(items) > MAX_ITEMS:
42
+ raise ValueError("Too many items") # ❌ 直接失败
43
+ ```
44
+
45
+ **正确模式**:
46
+ ```python
47
+ if len(items) > MAX_ITEMS:
48
+ logger.warning(f"Items exceed limit ({len(items)} > {MAX_ITEMS}), processing in batches")
49
+ # ✅ 分批处理
50
+ results = []
51
+ for batch in chunked(items, MAX_ITEMS):
52
+ results.extend(process_batch(batch))
53
+ return results
54
+ ```
55
+
56
+ ### 3. 超时限制
57
+
58
+ **问题模式**:
59
+ ```python
60
+ try:
61
+ result = await asyncio.wait_for(operation(), timeout=30)
62
+ except asyncio.TimeoutError:
63
+ pass # ❌ 静默失败
64
+ ```
65
+
66
+ **正确模式**:
67
+ ```python
68
+ try:
69
+ result = await asyncio.wait_for(operation(), timeout=30)
70
+ except asyncio.TimeoutError:
71
+ logger.warning("Operation timed out, using cached/fallback result")
72
+ # ✅ 使用缓存或默认值
73
+ result = get_cached_result() or create_fallback_result()
74
+ # ✅ 通知用户
75
+ result.add_warning("操作超时,结果可能不完整")
76
+ ```
77
+
78
+ ## 边界条件测试清单
79
+
80
+ | 场景 | 测试问题 | 期望行为 |
81
+ |------|---------|---------|
82
+ | 小上下文模型 | 8K token 模型 + 10K 上下文 | 压缩上下文,仍生成回复 |
83
+ | 大数据量 | 100万条记录 | 分页/分批处理 |
84
+ | 网络超时 | 外部 API 无响应 | 使用缓存或返回友好错误 |
85
+ | 空输入 | 用户发送空消息 | 返回提示而非崩溃 |
86
+ | 并发高峰 | 1000 并发请求 | 队列排队或限流提示 |
87
+
88
+ ## 降级策略模板
89
+
90
+ ```python
91
+ class GracefulDegradation:
92
+ """降级策略模板"""
93
+
94
+ STRATEGIES = [
95
+ ("compress_context", "压缩上下文"),
96
+ ("disable_features", "禁用非必要功能"),
97
+ ("use_fallback_model", "使用备用模型"),
98
+ ("use_cached_result", "使用缓存结果"),
99
+ ("return_partial_result", "返回部分结果"),
100
+ ("return_error_message", "返回友好错误"),
101
+ ]
102
+
103
+ @staticmethod
104
+ def apply(context, limit_type):
105
+ """按优先级尝试降级策略"""
106
+ for strategy, description in GracefulDegradation.STRATEGIES:
107
+ try:
108
+ result = getattr(GracefulDegradation, strategy)(context)
109
+ if result.is_acceptable():
110
+ logger.info(f"Degradation applied: {description}")
111
+ return result
112
+ except Exception as e:
113
+ logger.warning(f"Strategy {strategy} failed: {e}")
114
+ continue
115
+
116
+ # 最后兜底:确保有输出
117
+ return GracefulDegradation.return_error_message(context)
118
+ ```
119
+
120
+ ## 检查清单
121
+
122
+ | # | 检查项 | Severity |
123
+ |---|-------|----------|
124
+ | 1 | 资源限制触发时,是否有降级策略而非直接失败? | P0 |
125
+ | 2 | 超时异常是否被捕获并有合理处理? | P1 |
126
+ | 3 | 是否测试了"最小资源"边界场景? | P1 |
127
+ | 4 | 用户是否能收到有意义的反馈(非空回复)? | P0 |
128
+ | 5 | 是否有分批/分页处理大数据量的逻辑? | P1 |
129
+
130
+ ## 典型 Bug 模式
131
+
132
+ | 模式 | 问题 | 解决方案 |
133
+ |------|------|---------|
134
+ | Hard Limit Fail | 超限直接失败 | 添加降级策略链 |
135
+ | Silent Timeout | 超时静默失败 | 捕获并使用缓存/默认值 |
136
+ | No User Feedback | 失败时用户无感知 | 确保返回友好错误信息 |
137
+ | Single Path | 只有成功路径 | 添加失败路径处理 |