@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,369 @@
1
+ # Dependency Management & Code Integrity Protocol
2
+
3
+ > **核心原则**: 新增依赖必须安装 → 依赖文件必须更新 → 完成后必须验证 → 验证包括兼容性和文件完整性
4
+
5
+ ---
6
+
7
+ ## 🔴 依赖管理门禁 (Dependency Management Gate)
8
+
9
+ ### 触发条件
10
+
11
+ 当代码中出现以下情况时,**必须执行依赖管理流程**:
12
+
13
+ | 触发条件 | 示例 |
14
+ |----------|------|
15
+ | 新增 import/require 语句 | `import { Collapsible } from "@radix-ui/react-collapsible"` |
16
+ | 安装新的组件库/UI 框架 | shadcn/ui, Ant Design, Material UI |
17
+ | 引入新的工具函数库 | lodash, date-fns, zod |
18
+ | 使用新的后端框架/库 | FastAPI, LangChain, Pydantic |
19
+ | 调用新的第三方 API SDK | Stripe, OpenAI, AWS SDK |
20
+
21
+ ---
22
+
23
+ ## 依赖检测规则 (通用)
24
+
25
+ ### Step 1: 识别依赖类型
26
+
27
+ | 项目类型 | 依赖文件 | 安装命令 |
28
+ |----------|---------|----------|
29
+ | Node.js/前端 | `package.json` | `npm install <pkg>` / `yarn add <pkg>` / `pnpm add <pkg>` |
30
+ | Python | `requirements.txt` / `pyproject.toml` | `pip install <pkg>` / `uv add <pkg>` |
31
+ | Go | `go.mod` | `go get <pkg>` |
32
+ | Rust | `Cargo.toml` | `cargo add <pkg>` |
33
+ | Java/Kotlin | `pom.xml` / `build.gradle` | Maven/Gradle 手动添加 |
34
+
35
+ ### Step 2: 检查依赖是否已存在
36
+
37
+ ```bash
38
+ # Node.js - 检查 package.json
39
+ grep "<package-name>" package.json
40
+
41
+ # Python - 检查 requirements.txt
42
+ grep "<package-name>" requirements.txt
43
+
44
+ # 通用 - 检查 node_modules / venv
45
+ ls node_modules/<package-name> 2>/dev/null || echo "Not installed"
46
+ ```
47
+
48
+ ### Step 3: 安装缺失依赖
49
+
50
+ **🔴 必须在代码修改前或立即之后安装依赖!**
51
+
52
+ ```bash
53
+ # Node.js
54
+ npm install <package-name>
55
+ # 或指定版本
56
+ npm install <package-name>@<version>
57
+ ```
58
+
59
+ #### 🔴 Python 虚拟环境强制要求 (NON-NEGOTIABLE)
60
+
61
+ **Python 项目的所有依赖操作必须在虚拟环境中进行!**
62
+
63
+ ```bash
64
+ # Step 1: 检查虚拟环境是否存在
65
+ ls venv/ 2>/dev/null || ls .venv/ 2>/dev/null || echo "虚拟环境不存在"
66
+
67
+ # Step 2: 如果不存在,创建虚拟环境
68
+ python -m venv venv
69
+
70
+ # Step 3: 激活虚拟环境 (必须!)
71
+ # Windows CMD
72
+ venv\Scripts\activate
73
+ # Windows PowerShell
74
+ .\venv\Scripts\Activate.ps1
75
+ # Linux/Mac
76
+ source venv/bin/activate
77
+
78
+ # Step 4: 在虚拟环境中安装依赖
79
+ pip install <package-name>
80
+ # 或指定版本
81
+ pip install <package-name>==<version>
82
+
83
+ # Step 5: 更新 requirements.txt
84
+ pip freeze > requirements.txt
85
+ ```
86
+
87
+ **❌ 禁止事项**:
88
+ - 禁止在全局 Python 环境中安装项目依赖
89
+ - 禁止不激活虚拟环境就执行 `pip install`
90
+ - 禁止使用系统 Python 运行项目脚本
91
+
92
+ **✅ 验证虚拟环境激活**:
93
+ ```bash
94
+ # 检查 which/where python 指向虚拟环境
95
+ which python # Linux/Mac: 应显示 .../venv/bin/python
96
+ where python # Windows: 应显示 ...\venv\Scripts\python.exe
97
+ ```
98
+
99
+ ### Step 4: 更新依赖文件
100
+
101
+ **🔴 安装后必须验证依赖文件已更新!**
102
+
103
+ | 项目类型 | 验证方式 |
104
+ |----------|---------|
105
+ | Node.js | 检查 `package.json` 和 `package-lock.json` 是否包含新依赖 |
106
+ | Python | 执行 `pip freeze > requirements.txt` 或手动添加到 requirements.txt |
107
+
108
+ ---
109
+
110
+ ## 🔴 代码文件完整性检查 (File Integrity Check)
111
+
112
+ ### 触发条件
113
+
114
+ 当新增功能涉及以下情况时,**必须执行文件完整性检查**:
115
+
116
+ | 场景 | 检查内容 |
117
+ |------|----------|
118
+ | 使用 UI 组件库 | 组件文件是否存在于 `components/ui/` |
119
+ | 引用工具函数 | 工具函数文件是否存在于 `lib/` 或 `utils/` |
120
+ | 导入类型定义 | 类型文件是否存在于 `types/` |
121
+ | 调用 API 服务 | 服务文件是否存在于 `services/` 或 `api/` |
122
+
123
+ ### 检查流程
124
+
125
+ ```
126
+ 代码中有新 import
127
+
128
+ ┌──────────────────────────────────────────────────────┐
129
+ │ Step 1: 解析 import 路径 │
130
+ │ ─────────────────────────────────────────────────────│
131
+ │ 相对路径? → 检查文件是否存在 │
132
+ │ 别名路径 (@/)? → 解析别名后检查文件是否存在 │
133
+ │ 包路径? → 检查 node_modules 或 site-packages │
134
+ └──────────────────────────────────────────────────────┘
135
+
136
+ ┌──────────────────────────────────────────────────────┐
137
+ │ Step 2: 文件不存在时的处理 │
138
+ │ ─────────────────────────────────────────────────────│
139
+ │ UI 组件? → 创建组件文件 (shadcn/ui 风格) │
140
+ │ 工具函数? → 创建工具函数文件 │
141
+ │ 第三方包? → 安装依赖 │
142
+ └──────────────────────────────────────────────────────┘
143
+ ```
144
+
145
+ ### 常见缺失文件场景
146
+
147
+ | 场景 | 缺失类型 | 解决方案 |
148
+ |------|---------|----------|
149
+ | shadcn/ui 组件 | `components/ui/xxx.tsx` | 使用 `npx shadcn@latest add xxx` 或手动创建 |
150
+ | Radix UI 原语 | npm 包未安装 | `npm install @radix-ui/react-xxx` |
151
+ | 自定义 Hook | `hooks/useXxx.ts` | 创建 Hook 文件 |
152
+ | API 服务 | `services/xxxService.ts` | 创建服务文件 |
153
+
154
+ ---
155
+
156
+ ## 🔴 兼容性检查 (Compatibility Check)
157
+
158
+ ### 版本兼容性矩阵
159
+
160
+ | 检查项 | 方法 | 风险等级 |
161
+ |--------|------|----------|
162
+ | **Peer Dependencies** | 检查 npm 警告信息 | 🔴 高 |
163
+ | **Node.js 版本** | 对比 `engines` 字段 | 🔴 高 |
164
+ | **TypeScript 版本** | 检查类型定义兼容性 | 🟡 中 |
165
+ | **React 版本** | 检查 Hooks/API 可用性 | 🔴 高 |
166
+ | **Python 版本** | 对比 `python_requires` | 🔴 高 |
167
+ | 🔴 **原生模块 (Electron/RN)** | 检查是否需要编译 | 🔴 高 |
168
+
169
+ ---
170
+
171
+ ## 🔴 原生模块 Bug 诊断与修复 (Electron/React Native)
172
+
173
+ > **原生模块是 Electron 应用启动失败的头号杀手!**
174
+
175
+ ### 常见原生模块错误信息
176
+
177
+ | 错误信息 | 根因 | 解决方案 |
178
+ |----------|------|----------|
179
+ | `Cannot find module 'xxx'` | 原生模块未针对 Electron 编译 | **首选**: 换用纯 JS 替代 |
180
+ | `NODE_MODULE_VERSION mismatch` | Node ABI 版本不匹配 | electron-rebuild |
181
+ | `was compiled against a different Node.js version` | 编译版本不匹配 | 重新编译或换纯 JS |
182
+ | `Error: The module was compiled against ABI xxx` | Electron Node 版本不同 | electron-rebuild |
183
+
184
+ ### 识别原生模块
185
+
186
+ ```bash
187
+ # 方法 1: 检查 .node 文件
188
+ ls node_modules/<pkg>/*.node
189
+
190
+ # 方法 2: 检查 binding.gyp
191
+ ls node_modules/<pkg>/binding.gyp
192
+
193
+ # 方法 3: npm info
194
+ npm info <pkg> | grep -i "native\|gyp\|c++"
195
+ ```
196
+
197
+ ### 原生模块 → 纯 JS 替代方案
198
+
199
+ | 功能 | ❌ 原生模块 (问题源) | ✅ 纯 JS 替代 (推荐) |
200
+ |------|---------------------|---------------------|
201
+ | **SQLite** | `better-sqlite3`, `sqlite3` | `sql.js` |
202
+ | **图片处理** | `sharp` | `jimp`, `pica` |
203
+ | **密码哈希** | `bcrypt` | `bcryptjs` |
204
+ | **SCSS** | `node-sass` | `sass` (dart-sass) |
205
+ | **画布** | `canvas` | HTML Canvas API |
206
+ | **文件监听** | `fsevents` | `chokidar` |
207
+
208
+ ### 修复流程
209
+
210
+ ```
211
+ 原生模块 Bug
212
+
213
+
214
+ ┌─────────────────────────────────────────────────────┐
215
+ │ Step 1: 确认是原生模块问题 │
216
+ │ → 错误信息含 "module"/"compile"/"ABI" │
217
+ └─────────────────────────────────────────────────────┘
218
+
219
+
220
+ ┌─────────────────────────────────────────────────────┐
221
+ │ Step 2: 搜索纯 JS 替代方案 (首选) │
222
+ │ → "<功能> pure javascript" 或 "<功能> wasm" │
223
+ └─────────────────────────────────────────────────────┘
224
+
225
+ ├─ 有替代 → 替换依赖 + 更新代码 + npm run dev 验证
226
+
227
+ └─ 无替代 → 配置 electron-rebuild
228
+
229
+ ├─ package.json: "postinstall": "electron-rebuild"
230
+ ├─ electron-builder: asarUnpack
231
+ └─ vite.config: external + optimizeDeps.exclude
232
+ ```
233
+
234
+ ### 🔴 修复后强制验证
235
+
236
+ ```bash
237
+ # 运行开发服务器验证
238
+ npm run dev
239
+
240
+ # 确保无以下错误:
241
+ # - Cannot find module
242
+ # - NODE_MODULE_VERSION mismatch
243
+ # - was compiled against a different Node.js version
244
+ ```
245
+
246
+ ### 兼容性检查命令
247
+
248
+ ```bash
249
+ # Node.js - 检查 peer dependency 警告
250
+ npm ls 2>&1 | grep -i "peer dep"
251
+
252
+ # Node.js - 审计安全问题
253
+ npm audit
254
+
255
+ # Python - 检查依赖冲突
256
+ pip check
257
+
258
+ # Python - 查看依赖树
259
+ pip show <package-name>
260
+ ```
261
+
262
+ ### 常见兼容性问题处理
263
+
264
+ | 问题 | 症状 | 解决方案 |
265
+ |------|------|----------|
266
+ | Peer dependency 不满足 | npm 警告 | 安装兼容版本或使用 `--legacy-peer-deps` |
267
+ | TypeScript 类型错误 | 编译失败 | 安装 `@types/xxx` 或升级 TS 版本 |
268
+ | React 版本不匹配 | 运行时错误 | 检查组件库的 React 版本要求 |
269
+ | Python 版本不兼容 | ImportError | 检查库的 Python 版本要求 |
270
+
271
+ ---
272
+
273
+ ## 任务完成验证清单 (Post-Task Verification)
274
+
275
+ **🔴 每个开发任务结束前,必须完成以下检查:**
276
+
277
+ ### 依赖验证
278
+
279
+ - [ ] **依赖安装完成**: 所有新增依赖已安装到项目中
280
+ - [ ] **依赖文件更新**: `package.json` / `requirements.txt` 已包含新依赖
281
+ - [ ] **Lock 文件同步**: `package-lock.json` / `poetry.lock` 已更新
282
+ - [ ] **无兼容性警告**: `npm ls` / `pip check` 无报错
283
+
284
+ ### 文件完整性验证
285
+
286
+ - [ ] **所有 import 可解析**: 无 "Cannot find module" / "ModuleNotFoundError"
287
+ - [ ] **组件文件存在**: UI 组件文件均存在于正确路径
288
+ - [ ] **类型定义完整**: 无 TypeScript 类型错误
289
+
290
+ ### 运行时验证
291
+
292
+ - [ ] **开发服务器启动**: `npm run dev` / `python run.py` 无报错
293
+ - [ ] **无控制台错误**: 浏览器/终端无红色错误
294
+ - [ ] **核心功能正常**: 主要功能可正常使用
295
+
296
+ ---
297
+
298
+ ## 验证命令速查
299
+
300
+ ```bash
301
+ # ===== Node.js 项目 =====
302
+ # 检查依赖安装
303
+ npm ls --depth=0
304
+
305
+ # 检查 peer dependency
306
+ npm ls 2>&1 | grep -i "peer\|missing\|invalid"
307
+
308
+ # 启动开发服务器验证
309
+ npm run dev
310
+
311
+ # ===== Python 项目 (🔴 必须在虚拟环境中!) =====
312
+ # Step 0: 检查虚拟环境是否存在
313
+ ls venv/ 2>/dev/null || ls .venv/ 2>/dev/null || echo "需要创建虚拟环境"
314
+
315
+ # Step 1: 创建虚拟环境 (如果不存在)
316
+ python -m venv venv
317
+
318
+ # Step 2: 激活虚拟环境 (🔴 必须!)
319
+ # Windows CMD
320
+ venv\Scripts\activate
321
+ # Windows PowerShell
322
+ .\venv\Scripts\Activate.ps1
323
+ # Linux/Mac
324
+ source venv/bin/activate
325
+
326
+ # Step 3: 验证虚拟环境已激活
327
+ which python # 应指向 venv/bin/python 或 venv\Scripts\python.exe
328
+
329
+ # Step 4: 安装依赖
330
+ pip install -r requirements.txt
331
+
332
+ # Step 5: 检查依赖安装
333
+ pip list | grep <package-name>
334
+
335
+ # Step 6: 检查依赖冲突
336
+ pip check
337
+
338
+ # Step 7: 导出依赖 (安装新包后)
339
+ pip freeze > requirements.txt
340
+
341
+ # Step 8: 运行项目 (使用虚拟环境 Python)
342
+ python run.py # 或 venv/bin/python run.py
343
+ ```
344
+
345
+ ---
346
+
347
+ ## 输出契约 (Dependency Gate Report)
348
+
349
+ **任务完成时,在 Output Contract 中添加:**
350
+
351
+ ```markdown
352
+ ## 依赖管理报告
353
+
354
+ ### 新增依赖
355
+ | 包名 | 版本 | 用途 | 安装状态 |
356
+ |------|------|------|----------|
357
+ | @radix-ui/react-collapsible | ^1.0.0 | Collapsible 组件 | ✅ 已安装 |
358
+
359
+ ### 文件完整性
360
+ | 文件 | 类型 | 状态 |
361
+ |------|------|------|
362
+ | components/ui/collapsible.tsx | UI 组件 | ✅ 已创建 |
363
+
364
+ ### 验证结果
365
+ - [x] 依赖安装完成
366
+ - [x] 依赖文件更新
367
+ - [x] 无兼容性警告
368
+ - [x] 开发服务器启动正常
369
+ ```
@@ -0,0 +1,239 @@
1
+ # Fix Completeness Checklist (修复完整性检查)
2
+
3
+ **核心问题**:修复 Bug 时是否引入了新的问题?修复是否完整覆盖了所有路径?
4
+
5
+ ## 🔴 修复时必须检查的问题模式
6
+
7
+ ### 1. 控制流完整性
8
+
9
+ **问题**:修复 Bug 时添加了 `break/return`,但没有处理退出后的逻辑。
10
+
11
+ | 修复模式 | 潜在问题 | 正确做法 |
12
+ |---------|---------|---------|
13
+ | 添加 `if condition: return` | 函数可能静默返回空值 | 返回有意义的值或抛异常 |
14
+ | 添加 `if condition: break` | 循环外没有处理 break 情况 | break 前设置状态/输出 |
15
+ | 添加 `try-except: pass` | 异常被静默吞掉 | 记录日志 + 返回/抛出 |
16
+
17
+ **检查清单**:
18
+ - [ ] 新增的 `return` 语句返回有意义的值吗?
19
+ - [ ] 新增的 `break` 语句,循环外有处理逻辑吗?
20
+ - [ ] 新增的 `except` 块不是简单的 `pass` 吗?
21
+
22
+ ### 2. 边界条件覆盖
23
+
24
+ **问题**:修复只考虑了正常场景,没有测试边界条件。
25
+
26
+ | 场景 | 必须测试 |
27
+ |------|---------|
28
+ | 资源限制 | 小内存、小上下文、大数据量 |
29
+ | 空/异常输入 | null、空字符串、超长文本 |
30
+ | 并发场景 | 多用户同时操作 |
31
+ | 超时场景 | 外部服务慢或不可用 |
32
+
33
+ **检查清单**:
34
+ - [ ] 修复后在"最小资源"环境测试了吗?
35
+ - [ ] 修复后用空/异常输入测试了吗?
36
+ - [ ] 修复涉及外部调用时,测试了超时场景吗?
37
+
38
+ ### 3. 降级策略
39
+
40
+ **问题**:修复添加了限制检查,但超限时直接失败。
41
+
42
+ ```python
43
+ # ❌ 错误修复
44
+ if current_tokens > max_tokens:
45
+ logger.warning("Token limit exceeded")
46
+ return # 直接返回,用户收不到任何回复
47
+
48
+ # ✅ 正确修复
49
+ if current_tokens > max_tokens:
50
+ logger.warning("Token limit exceeded, applying degradation")
51
+ # 降级策略 1: 压缩上下文
52
+ context = truncate_context(context)
53
+ # 降级策略 2: 禁用非必要功能
54
+ disable_optional_features()
55
+ # 确保仍然生成输出
56
+ return generate_with_constraints()
57
+ ```
58
+
59
+ **检查清单**:
60
+ - [ ] 新增的限制检查有降级策略吗?
61
+ - [ ] 降级后用户仍能收到响应吗?
62
+ - [ ] 降级有日志记录吗?
63
+
64
+ ### 4. 用户可见性保证
65
+
66
+ **问题**:修复后某些路径导致用户看不到任何输出。
67
+
68
+ | 场景 | 必须保证 |
69
+ |------|---------|
70
+ | 流式输出 | 至少有一个输出块 |
71
+ | API 响应 | 非空响应体 |
72
+ | UI 反馈 | 有视觉/文字提示 |
73
+
74
+ **检查清单**:
75
+ - [ ] 所有代码路径都能产生用户可见的输出吗?
76
+ - [ ] 异常路径有友好的错误信息吗?
77
+ - [ ] 流式函数确保至少有一个输出吗?
78
+
79
+ ## 修复完整性验证流程
80
+
81
+ ```
82
+ 修复代码完成
83
+
84
+ ┌──────────────────────────────────────────────────────┐
85
+ │ Step 1: 控制流检查 │
86
+ │ ─────────────────────────────────────────────────────│
87
+ │ grep "return|break|continue|pass" 修改的文件 │
88
+ │ 每个新增的退出点都有合理的后续处理吗? │
89
+ └──────────────────────────────────────────────────────┘
90
+
91
+ ┌──────────────────────────────────────────────────────┐
92
+ │ Step 2: 边界条件测试 │
93
+ │ ─────────────────────────────────────────────────────│
94
+ │ 用最小/最大资源配置测试修复 │
95
+ │ 用空/异常输入测试修复 │
96
+ └──────────────────────────────────────────────────────┘
97
+
98
+ ┌──────────────────────────────────────────────────────┐
99
+ │ Step 3: 降级策略验证 │
100
+ │ ─────────────────────────────────────────────────────│
101
+ │ 触发限制条件,验证降级逻辑是否工作 │
102
+ │ 用户仍能收到响应吗? │
103
+ └──────────────────────────────────────────────────────┘
104
+
105
+ ┌──────────────────────────────────────────────────────┐
106
+ │ Step 4: 用户可见性验证 │
107
+ │ ─────────────────────────────────────────────────────│
108
+ │ 模拟所有代码路径,确保都有用户可见的输出 │
109
+ └──────────────────────────────────────────────────────┘
110
+ ```
111
+
112
+ ## 典型修复错误模式
113
+
114
+ | 错误模式 | 问题 | 正确修复 |
115
+ |---------|------|---------|
116
+ | **Silent Return** | `return` 没有返回值 | 返回有意义的结果或抛异常 |
117
+ | **Orphan Break** | `break` 后循环外没处理 | break 前设置状态/输出 |
118
+ | **Hard Limit Fail** | 超限直接返回 | 添加降级策略 |
119
+ | **Empty Stream** | 流提前中断 | 确保至少一个输出 |
120
+ | **Swallowed Exception** | `except: pass` | 记录日志 + 返回/抛出 |
121
+ | **Single Path Fix** | 只修了正常路径 | 考虑异常/边界路径 |
122
+
123
+ ## 修复后自问清单
124
+
125
+ 1. **"如果这个条件触发,用户会看到什么?"** → 确保有输出
126
+ 2. **"循环所有迭代都失败时会怎样?"** → 需要兜底处理
127
+ 3. **"最小资源配置下能工作吗?"** → 需要边界测试
128
+ 4. **"外部服务不可用时会怎样?"** → 需要超时和降级
129
+ 5. **"这个修复引入了新的退出点吗?"** → 检查后续处理
130
+
131
+ ---
132
+
133
+ ## 🔴 Incremental Fix Protocol (增量修复协议)
134
+
135
+ **核心原则**: 一次只改一处,每次改动都验证。
136
+
137
+ ### 为什么要增量修复?
138
+
139
+ | 批量修复 | 增量修复 |
140
+ |----------|----------|
141
+ | ❌ 多处改动,难以定位哪个有效 | ✅ 每次改动可追溯 |
142
+ | ❌ 引入新 Bug 难以发现 | ✅ 新问题立即暴露 |
143
+ | ❌ 回滚困难 | ✅ 可精确回滚单个改动 |
144
+ | ❌ 代码审查困难 | ✅ 小改动易于审查 |
145
+
146
+ ### 增量修复流程
147
+
148
+ ```
149
+ 发现 Bug 有多个修复点
150
+
151
+ Step 1: 列出所有需要修改的位置
152
+
153
+ Step 2: 按依赖顺序排序 (被依赖的先改)
154
+
155
+ Step 3: 修复第一处
156
+
157
+ Step 4: 运行测试/验证
158
+ ├─ 通过 → Commit → 修复下一处
159
+ └─ 失败 → 回滚 → 分析原因
160
+
161
+ Step 5: 重复直到全部完成
162
+ ```
163
+
164
+ ### 增量修复检查清单
165
+
166
+ - [ ] **一次只改一处** - 不要批量修改多个文件
167
+ - [ ] **每次改动后验证** - 运行测试或手动验证
168
+ - [ ] **频繁提交** - 每个有效修复单独 commit
169
+ - [ ] **记录每步** - 记录修改了什么、为什么
170
+
171
+ ### 反模式警告
172
+
173
+ ```python
174
+ # ❌ 错误: 一次性修复 5 个问题
175
+ git commit -m "Fix all issues"
176
+
177
+ # ✅ 正确: 增量修复
178
+ git commit -m "Fix null check in UserService"
179
+ git commit -m "Fix timeout in ApiClient"
180
+ git commit -m "Fix validation in FormHandler"
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 🔴 Static Analysis Gate (静态分析门禁)
186
+
187
+ **在提交修复前,必须通过静态分析检查!**
188
+
189
+ ### 为什么需要静态分析?
190
+
191
+ > 研究表明:静态分析可减少 22% 的生产缺陷 (Synopsys 2024)
192
+
193
+ 静态分析能在运行前发现:
194
+ - 空指针引用
195
+ - 类型错误
196
+ - 安全漏洞
197
+ - 代码风格问题
198
+
199
+ ### 静态分析工具速查
200
+
201
+ | 语言 | 工具 | 命令 |
202
+ |------|------|------|
203
+ | JavaScript/TypeScript | ESLint | `npx eslint --fix src/` |
204
+ | Python | Ruff | `ruff check --fix .` |
205
+ | Python | Pylint | `pylint src/` |
206
+ | Python | mypy | `mypy src/` |
207
+ | Go | golangci-lint | `golangci-lint run` |
208
+ | Rust | Clippy | `cargo clippy` |
209
+ | Java | SonarQube | `sonar-scanner` |
210
+
211
+ ### 修复前静态分析流程
212
+
213
+ ```
214
+ 修复代码完成
215
+
216
+ Step 1: 运行 Linter
217
+ npx eslint src/ --fix
218
+ ruff check --fix .
219
+
220
+ Step 2: 运行类型检查
221
+ npx tsc --noEmit
222
+ mypy src/
223
+
224
+ Step 3: 检查安全问题
225
+ npm audit
226
+ pip-audit
227
+
228
+ Step 4: 修复所有警告/错误
229
+
230
+ Step 5: 提交代码
231
+ ```
232
+
233
+ ### 静态分析检查清单
234
+
235
+ - [ ] **Linter 通过** - 无 error,warning 已审查
236
+ - [ ] **类型检查通过** - 无类型错误
237
+ - [ ] **安全扫描通过** - 无高危漏洞
238
+ - [ ] **格式化完成** - 代码风格一致
239
+