sumulige-claude 1.5.1 → 1.5.2

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 (219) hide show
  1. package/.claude/hooks/hook-registry.json +0 -15
  2. package/.claude/rules/coding-style.md +18 -7
  3. package/.claude/rules/hooks.md +15 -4
  4. package/.claude/rules/performance.md +15 -5
  5. package/.claude/rules/security.md +140 -4
  6. package/.claude/rules/testing.md +138 -9
  7. package/.claude/rules/web-design-standard.md +16 -5
  8. package/.claude/skills/algorithmic-art/metadata.yaml +28 -0
  9. package/.claude/skills/api-tester/SKILL.md +61 -0
  10. package/.claude/skills/api-tester/examples/basic.md +3 -0
  11. package/.claude/skills/api-tester/metadata.yaml +30 -0
  12. package/.claude/skills/api-tester/templates/default.md +3 -0
  13. package/.claude/skills/brand-guidelines/metadata.yaml +26 -0
  14. package/.claude/skills/canvas-design/metadata.yaml +27 -0
  15. package/.claude/skills/code-reviewer-123/SKILL.md +61 -0
  16. package/.claude/skills/code-reviewer-123/examples/basic.md +3 -0
  17. package/.claude/skills/code-reviewer-123/metadata.yaml +30 -0
  18. package/.claude/skills/code-reviewer-123/templates/default.md +3 -0
  19. package/.claude/skills/doc-coauthoring/metadata.yaml +27 -0
  20. package/.claude/skills/docx/metadata.yaml +30 -0
  21. package/.claude/skills/frontend-design/metadata.yaml +28 -0
  22. package/.claude/skills/internal-comms/metadata.yaml +28 -0
  23. package/.claude/skills/mcp-builder/metadata.yaml +26 -0
  24. package/.claude/skills/my-skill/SKILL.md +61 -0
  25. package/.claude/skills/my-skill/examples/basic.md +3 -0
  26. package/.claude/skills/my-skill/metadata.yaml +30 -0
  27. package/.claude/skills/my-skill/templates/default.md +3 -0
  28. package/.claude/skills/pdf/metadata.yaml +29 -0
  29. package/.claude/skills/pptx/metadata.yaml +29 -0
  30. package/.claude/skills/react-best-practices/metadata.yaml +26 -0
  31. package/.claude/skills/react-node-practices/SKILL.md +409 -0
  32. package/.claude/skills/react-node-practices/metadata.yaml +56 -0
  33. package/.claude/skills/skill-creator/metadata.yaml +25 -0
  34. package/.claude/skills/slack-gif-creator/metadata.yaml +28 -0
  35. package/.claude/skills/test-skill-name/SKILL.md +61 -0
  36. package/.claude/skills/test-skill-name/examples/basic.md +3 -0
  37. package/.claude/skills/test-skill-name/metadata.yaml +30 -0
  38. package/.claude/skills/test-skill-name/templates/default.md +3 -0
  39. package/.claude/skills/test-workflow/metadata.yaml +32 -0
  40. package/.claude/skills/theme-factory/metadata.yaml +26 -0
  41. package/.claude/skills/threejs-fundamentals/metadata.yaml +27 -0
  42. package/.claude/skills/web-artifacts-builder/metadata.yaml +30 -0
  43. package/.claude/skills/web-design-guidelines/metadata.yaml +26 -0
  44. package/.claude/skills/webapp-testing/metadata.yaml +26 -0
  45. package/.claude/skills/xlsx/metadata.yaml +29 -0
  46. package/LICENSE +21 -0
  47. package/cli.js +1 -1
  48. package/package.json +25 -3
  49. package/.claude/.kickoff-hint.txt +0 -52
  50. package/.claude/.sumulige-claude-version +0 -1
  51. package/.claude/.version +0 -1
  52. package/.claude/AGENTS.md +0 -42
  53. package/.claude/ANCHORS.md +0 -40
  54. package/.claude/CLAUDE.md +0 -138
  55. package/.claude/MEMORY.md +0 -69
  56. package/.claude/PROJECT_LOG.md +0 -101
  57. package/.claude/THINKING_CHAIN_GUIDE.md +0 -287
  58. package/.claude/USAGE.md +0 -175
  59. package/.claude/boris-optimizations.md +0 -167
  60. package/.claude/handoffs/INDEX.md +0 -21
  61. package/.claude/handoffs/LATEST.md +0 -76
  62. package/.claude/handoffs/handoff_2026-01-22T13-07-04-757Z.md +0 -76
  63. package/.claude/quality-gate.json +0 -82
  64. package/.claude/rag/skill-index.json +0 -135
  65. package/.claude/settings.json +0 -99
  66. package/.claude/settings.local.json +0 -175
  67. package/.claude/templates/PROJECT_KICKOFF.md +0 -89
  68. package/.claude/templates/PROJECT_PROPOSAL.md +0 -227
  69. package/.claude/templates/TASK_PLAN.md +0 -121
  70. package/.claude/templates/hooks/README.md +0 -302
  71. package/.claude/templates/hooks/hook.sh.template +0 -94
  72. package/.claude/templates/hooks/user-prompt-submit.cjs.template +0 -116
  73. package/.claude/templates/hooks/user-response-submit.cjs.template +0 -94
  74. package/.claude/templates/hooks/validate.js +0 -173
  75. package/.claude/templates/tasks/develop.md +0 -69
  76. package/.claude/templates/tasks/research.md +0 -64
  77. package/.claude/templates/tasks/test.md +0 -96
  78. package/.claude/thinking-routes/.last-sync +0 -1
  79. package/.claude/thinking-routes/QUICKREF.md +0 -98
  80. package/.claude/workflow/document-scanner.js +0 -426
  81. package/.claude/workflow/knowledge-engine.js +0 -941
  82. package/.claude/workflow/notebooklm/browser.js +0 -1028
  83. package/.claude/workflow/phases/phase1-research.js +0 -578
  84. package/.claude/workflow/phases/phase1-research.ts +0 -465
  85. package/.claude/workflow/phases/phase2-approve.js +0 -722
  86. package/.claude/workflow/phases/phase3-plan.js +0 -1200
  87. package/.claude/workflow/phases/phase4-develop.js +0 -894
  88. package/.claude/workflow/search-cache.js +0 -230
  89. package/.claude/workflow/templates/approval.md +0 -315
  90. package/.claude/workflow/templates/development.md +0 -377
  91. package/.claude/workflow/templates/planning.md +0 -328
  92. package/.claude/workflow/templates/research.md +0 -250
  93. package/.claude/workflow/types.js +0 -37
  94. package/.claude/workflow/web-search.js +0 -278
  95. package/.claude-plugin/marketplace.json +0 -71
  96. package/.github/workflows/sync-skills.yml +0 -74
  97. package/.versionrc +0 -25
  98. package/AGENTS.md +0 -580
  99. package/CHANGELOG.md +0 -481
  100. package/CLAUDE-template.md +0 -114
  101. package/DEV_TOOLS_GUIDE.md +0 -190
  102. package/PROJECT_STRUCTURE.md +0 -266
  103. package/Q&A.md +0 -325
  104. package/config/defaults.json +0 -34
  105. package/config/official-skills.json +0 -183
  106. package/config/quality-gate.json +0 -67
  107. package/config/skill-categories.json +0 -40
  108. package/config/version-manifest.json +0 -85
  109. package/demos/power-3d-scatter.html +0 -683
  110. package/development/cache/web-search/search_1193d605f8eb364651fc2f2041b58a31.json +0 -36
  111. package/development/cache/web-search/search_3798bf06960edc125f744a1abb5b72c5.json +0 -36
  112. package/development/cache/web-search/search_37c7d4843a53f0d83f1122a6f908a2a3.json +0 -36
  113. package/development/cache/web-search/search_44166fa0153709ee168485a22aa0ab40.json +0 -36
  114. package/development/cache/web-search/search_4deaebb1f77e86a8ca066dc5a49c59fd.json +0 -36
  115. package/development/cache/web-search/search_94da91789466070a7f545612e73c7372.json +0 -36
  116. package/development/cache/web-search/search_dd5de8491b8b803a3cb01339cd210fb0.json +0 -36
  117. package/development/knowledge-base/.index.clean.json +0 -1
  118. package/development/knowledge-base/.index.json +0 -486
  119. package/development/knowledge-base/test-best-practices.md +0 -29
  120. package/development/projects/proj_mkh1pazz_ixmt1/phase1/feasibility-report.md +0 -160
  121. package/development/projects/proj_mkh4jvnb_z7rwf/phase1/feasibility-report.md +0 -160
  122. package/development/projects/proj_mkh4jxkd_ewz5a/phase1/feasibility-report.md +0 -160
  123. package/development/projects/proj_mkh4k84n_ni73k/phase1/feasibility-report.md +0 -160
  124. package/development/projects/proj_mkh4wfyd_u9w88/phase1/feasibility-report.md +0 -160
  125. package/development/projects/proj_mkh4wsbo_iahvf/development/projects/proj_mkh4xbpg_4na5w/phase1/feasibility-report.md +0 -160
  126. package/development/projects/proj_mkh4wsbo_iahvf/phase1/feasibility-report.md +0 -160
  127. package/development/projects/proj_mkh4xulg_1ka8x/phase1/feasibility-report.md +0 -160
  128. package/development/projects/proj_mkh4xwhj_gch8j/phase1/feasibility-report.md +0 -160
  129. package/development/projects/proj_mkh4y2qk_9lm8z/phase1/feasibility-report.md +0 -160
  130. package/development/projects/proj_mkh4y2qk_9lm8z/phase2/requirements.md +0 -226
  131. package/development/projects/proj_mkh4y2qk_9lm8z/phase3/PRD.md +0 -345
  132. package/development/projects/proj_mkh4y2qk_9lm8z/phase3/TASK_PLAN.md +0 -284
  133. package/development/projects/proj_mkh4y2qk_9lm8z/phase3/prototype/README.md +0 -14
  134. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/DEVELOPMENT_LOG.md +0 -35
  135. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/TASKS.md +0 -34
  136. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/.env.example +0 -5
  137. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/README.md +0 -60
  138. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/package.json +0 -25
  139. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/index.js +0 -70
  140. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/routes/index.js +0 -48
  141. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/health.test.js +0 -20
  142. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/jest.config.js +0 -21
  143. package/development/projects/proj_mkh7veqg_3lypc/phase1/feasibility-report.md +0 -160
  144. package/development/projects/proj_mkh7veqg_3lypc/phase2/requirements.md +0 -226
  145. package/development/projects/proj_mkh7veqg_3lypc/phase3/PRD.md +0 -345
  146. package/development/projects/proj_mkh7veqg_3lypc/phase3/TASK_PLAN.md +0 -284
  147. package/development/projects/proj_mkh7veqg_3lypc/phase3/prototype/README.md +0 -14
  148. package/development/projects/proj_mkh8k8fo_rmqn5/phase1/feasibility-report.md +0 -160
  149. package/development/projects/proj_mkh8xyhy_1vshq/phase1/feasibility-report.md +0 -178
  150. package/development/projects/proj_mkh8zddd_dhamf/phase1/feasibility-report.md +0 -377
  151. package/development/projects/proj_mkh8zddd_dhamf/phase2/requirements.md +0 -442
  152. package/development/projects/proj_mkh8zddd_dhamf/phase3/api-design.md +0 -800
  153. package/development/projects/proj_mkh8zddd_dhamf/phase3/architecture.md +0 -625
  154. package/development/projects/proj_mkh8zddd_dhamf/phase3/data-model.md +0 -830
  155. package/development/projects/proj_mkh8zddd_dhamf/phase3/risks.md +0 -957
  156. package/development/projects/proj_mkh8zddd_dhamf/phase3/wbs.md +0 -381
  157. package/development/todos/.state.json +0 -19
  158. package/development/todos/INDEX.md +0 -63
  159. package/development/todos/active/_README.md +0 -49
  160. package/development/todos/archived/_README.md +0 -11
  161. package/development/todos/backlog/_README.md +0 -11
  162. package/development/todos/backlog/mcp-integration.md +0 -35
  163. package/development/todos/completed/_README.md +0 -11
  164. package/development/todos/completed/boris-optimizations.md +0 -39
  165. package/development/todos/completed/develop/local-knowledge-index.md +0 -85
  166. package/development/todos/completed/develop/todo-system.md +0 -47
  167. package/development/todos/completed/develop/web-search-integration.md +0 -83
  168. package/development/todos/completed/test/phase1-e2e-test.md +0 -103
  169. package/docs/DEVELOPMENT.md +0 -461
  170. package/docs/MARKETPLACE.md +0 -352
  171. package/docs/RELEASE.md +0 -93
  172. package/jest.config.js +0 -63
  173. package/lib/commands.js +0 -3588
  174. package/lib/config-manager.js +0 -441
  175. package/lib/config-schema.js +0 -408
  176. package/lib/config-validator.js +0 -330
  177. package/lib/config.js +0 -122
  178. package/lib/errors.js +0 -305
  179. package/lib/incremental-sync.js +0 -274
  180. package/lib/marketplace.js +0 -487
  181. package/lib/migrations.js +0 -154
  182. package/lib/permission-audit.js +0 -255
  183. package/lib/quality-gate.js +0 -431
  184. package/lib/quality-rules.js +0 -373
  185. package/lib/utils.js +0 -150
  186. package/lib/version-check.js +0 -169
  187. package/lib/version-manifest.js +0 -171
  188. package/project-paradigm.md +0 -313
  189. package/prompts/how-to-find.md +0 -163
  190. package/prompts/linus-architect.md +0 -71
  191. package/prompts/software-architect.md +0 -173
  192. package/prompts/web-designer.md +0 -249
  193. package/scripts/fix-hooks.mjs +0 -97
  194. package/scripts/sync-external.mjs +0 -298
  195. package/scripts/sync-to-home.sh +0 -108
  196. package/scripts/update-registry.mjs +0 -325
  197. package/sources.yaml +0 -83
  198. package/tests/README.md +0 -263
  199. package/tests/commands.test.js +0 -1086
  200. package/tests/config-manager.test.js +0 -677
  201. package/tests/config-schema.test.js +0 -425
  202. package/tests/config-validator.test.js +0 -436
  203. package/tests/config.test.js +0 -100
  204. package/tests/errors.test.js +0 -477
  205. package/tests/manual/phase1-e2e.sh +0 -389
  206. package/tests/manual/phase2-test-cases.md +0 -311
  207. package/tests/manual/phase3-test-cases.md +0 -309
  208. package/tests/manual/phase4-test-cases.md +0 -414
  209. package/tests/manual/test-cases.md +0 -417
  210. package/tests/marketplace.test.js +0 -420
  211. package/tests/migrations.test.js +0 -187
  212. package/tests/quality-gate.test.js +0 -679
  213. package/tests/quality-rules.test.js +0 -619
  214. package/tests/sync-external.test.js +0 -214
  215. package/tests/update-registry.test.js +0 -251
  216. package/tests/utils.test.js +0 -171
  217. package/tests/version-check.test.js +0 -75
  218. package/tests/web-search.test.js +0 -392
  219. package/thinkinglens-silent.md +0 -138
@@ -1,442 +0,0 @@
1
- # Requirements Document
2
-
3
- **Project**: proj_mkh8zddd_dhamf (AI 代码审查工具)
4
- **Date**: 1/17/2026
5
- **Phase**: 2 - Approval
6
- **Status**: ✅ Completed
7
-
8
- ---
9
-
10
- ## Executive Summary
11
-
12
- > AI 驱动的代码审查工具,专注于代码质量检测和安全漏洞扫描,与 GitHub Copilot 的代码补全功能形成差异化定位。
13
-
14
- **基于**: Phase 1 可行性分析报告 (推荐度: ⭐⭐⭐⭐☆ 4/5)
15
-
16
- ---
17
-
18
- ## Phase 1 Summary
19
-
20
- ### Original Idea
21
- 构建一个 AI 代码审查工具,类似 GitHub Copilot 但专注于代码质量检测和安全漏洞扫描,支持主流编程语言。
22
-
23
- ### Feasibility Assessment
24
- - **技术可行性**: ⭐⭐⭐⭐☆ (4/5)
25
- - **预计工时**: 480小时 (3-4个月单人全职)
26
- - **推荐策略**: 渐进式开发,先做 Python + JavaScript MVP
27
-
28
- ---
29
-
30
- ## Clarification Questions & Responses
31
-
32
- ### Q1: MVP Scope ✅
33
-
34
- **问题**: v1.0 版本必须包含哪些核心功能?
35
-
36
- **回答**:
37
-
38
- | 优先级 | 功能 | 说明 |
39
- |--------|------|------|
40
- | **Must Have (P0)** | | |
41
- | | AST 代码解析 | Tree-sitter 解析 Python/JavaScript 代码 |
42
- | | 安全漏洞检测 | SQL 注入、XSS、不安全函数调用 |
43
- | | CLI 工具 | 命令行接口,支持本地扫描 |
44
- | | 规则引擎 | 可自定义检测规则 |
45
- | | 基础报告输出 | 终端输出 + Markdown 报告 |
46
- | **Should Have (P1)** | | |
47
- | | 代码异味检测 | 长函数、重复代码、复杂度过高 |
48
- | | CI/CD 集成 | GitHub Actions / GitLab CI 插件 |
49
- | | PR 自动评论 | 提交 MR 时自动评论审查结果 |
50
- | **Could Have (P2)** | | |
51
- | | IDE 插件 | VS Code / JetBrains 插件 |
52
- | | Web Dashboard | 质量趋势可视化 |
53
- | | 团队协作 | 多用户、权限管理 |
54
-
55
- **语言支持**: v1.0 仅支持 **Python + JavaScript/TypeScript**
56
-
57
- ---
58
-
59
- ### Q2: Priority Order ✅
60
-
61
- **功能依赖关系**:
62
-
63
- ```
64
- ┌─────────────────┐
65
- │ CLI 工具 │ ← 入口点
66
- └────────┬────────┘
67
-
68
- ┌────────▼────────┐
69
- │ AST 解析器 │ ← 基础能力
70
- │ (Tree-sitter) │
71
- └────────┬────────┘
72
-
73
- ┌────────────────────┼────────────────────┐
74
- │ │ │
75
- ┌───────▼───────┐ ┌────────▼────────┐ ┌────────▼────────┐
76
- │ 规则引擎 │ │ LLM 增强分析 │ │ 报告聚合器 │
77
- │ (核心规则) │ │ (可选) │ │ │
78
- └───────┬───────┘ └────────┬────────┘ └────────┬────────┘
79
- │ │ │
80
- └────────────────────┼────────────────────┘
81
-
82
- ┌────────▼────────┐
83
- │ 输出格式 │
84
- │ (CLI/PR/JSON) │
85
- └─────────────────┘
86
- ```
87
-
88
- **开发顺序**:
89
- 1. **Week 1-4**: AST 解析 + 规则引擎 (核心)
90
- 2. **Week 5-8**: 安全检测规则 + CLI 工具
91
- 3. **Week 9-12**: CI/CD 集成 + PR 评论
92
- 4. **Week 13-16**: LLM 增强分析 (可选)
93
-
94
- ---
95
-
96
- ### Q3: Tech Stack ✅
97
-
98
- **确认技术选型**:
99
-
100
- | 层级 | 技术 | 理由 |
101
- |------|------|------|
102
- | **后端语言** | Go | 高性能、并发强、单二进制部署 |
103
- | **AST 解析** | Tree-sitter | 支持 40+ 语言,GitHub 同款 |
104
- | **数据库** | PostgreSQL | 存储扫描结果、规则配置 |
105
- | **缓存** | Redis | AST 解析结果缓存 |
106
- | **LLM API** | Claude 3.5 Sonnet | 代码理解最佳 |
107
- | **本地模型** | Llama 3.1 8B (可选) | 离线场景,隐私要求 |
108
-
109
- **本地模型 vs API 调用权衡**:
110
-
111
- | 方案 | 优点 | 缺点 | 适用场景 |
112
- |------|------|------|----------|
113
- | **Claude API** | 准确率高、无需 GPU | 成本、延迟、数据外传 | 快速验证、个人项目 |
114
- | **Llama 本地** | 隐私、无 API 成本 | GPU 需求、准确率略低 | 企业内网、敏感代码 |
115
-
116
- **v1.0 策略**: 支持两种模式,默认规则引擎 (无需 LLM),可选 Claude API 增强分析
117
-
118
- ---
119
-
120
- ### Q4: Integration Points ✅
121
-
122
- **MVP 阶段集成优先级**:
123
-
124
- | 集成点 | 优先级 | 复杂度 | v1.0 支持 |
125
- |--------|--------|--------|-----------|
126
- | **Git 平台** | P0 | 中 | GitHub (API) |
127
- | **CI/CD** | P1 | 中 | GitHub Actions |
128
- | **IDE** | P2 | 高 | ❌ 推迟到 v2.0 |
129
- | **Linter 集成** | P1 | 低 | ESLint (可选) |
130
-
131
- **GitHub 集成设计**:
132
- - 使用 GitHub App 认证
133
- - PR Webhook 触发扫描
134
- - 扫描结果以评论形式发布
135
- - 支持 `.code-review.yml` 配置文件
136
-
137
- ---
138
-
139
- ### Q5: Success Criteria ✅
140
-
141
- **可量化的成功指标**:
142
-
143
- | 维度 | 指标 | 目标 | 测量方法 |
144
- |------|------|------|----------|
145
- | **技术性能** | 扫描速度 | <5s/1000 行 | 基准测试 |
146
- | | 漏检率 | <5% | 人工抽查 |
147
- | | 误报率 | <15% | 用户反馈 |
148
- | **用户体验** | CLI 响应 | <2s 首次输出 | 性能监控 |
149
- | | 易用性 | 3 个命令完成使用 | 用户测试 |
150
- | **业务价值** | 漏洞发现 | 平均每次扫描 ≥1 个问题 | 统计数据 |
151
- | | 代码质量改善 | 用户留存 >30% | 分析指标 |
152
- | **采用率** | 活跃仓库 | >10 个周活仓库 | GitHub 统计 |
153
-
154
- ---
155
-
156
- ### Q6: Timeline ✅
157
-
158
- **时间规划** (480小时 ≈ 12周全职):
159
-
160
- | 阶段 | 时间 | 里程碑 | 交付物 |
161
- |------|------|--------|--------|
162
- | **Phase 0** | Week 0 | 技术调研 | 架构设计文档 |
163
- | **Phase 1** | Week 1-4 | MVP: Parser + Rules | CLI 基础扫描 |
164
- | **Phase 2** | Week 5-8 | LLM 集成 | AI 增强分析 |
165
- | **Phase 3** | Week 9-12 | CI/CD 集成 | GitHub Action |
166
- | **Phase 4** | Week 13-16 | 测试 & 文档 | v1.0 发布 |
167
-
168
- **v1.0 交付目标**: 16周 (4个月)
169
-
170
- **无硬性截止日期**,但建议按里程碑推进
171
-
172
- ---
173
-
174
- ### Q7: Resource Constraints ✅
175
-
176
- **资源约束清单**:
177
-
178
- | 资源类型 | 约束 | 说明 |
179
- |----------|------|------|
180
- | **团队规模** | 单人开发 | 需要全栈技能 |
181
- | **技能要求** | Go, AST, LLM API | 需要学习曲线 |
182
- | **LLM 成本** | < $50/月 | Claude API 控制预算 |
183
- | **本地部署** | GPU 8GB+ (可选) | Llama 推理 |
184
- | **数据库** | PostgreSQL 14+ | 需要 JSONB 支持 |
185
- | **开发环境** | macOS/Linux | Windows 支持后排 |
186
-
187
- **开发工具**:
188
- - IDE: VS Code + Go 插件
189
- - 版本控制: Git
190
- - CI: GitHub Actions
191
- - 容器: Docker (可选)
192
-
193
- ---
194
-
195
- ## Functional Requirements
196
-
197
- ### FR-001: 代码解析
198
-
199
- **Description**: 系统能够解析 Python 和 JavaScript/TypeScript 源代码,生成抽象语法树 (AST)
200
-
201
- **Priority**: Must Have
202
-
203
- **Acceptance Criteria**:
204
- - [x] Given 一个 Python 文件,when 解析时,then 生成 AST 且无错误
205
- - [x] Given 一个 JavaScript/TypeScript 文件,when 解析时,then 生成 AST 且无错误
206
- - [x] Given 语法错误的代码,when 解析时,then 返回清晰的错误信息
207
-
208
- **Dependencies**: Tree-sitter 库
209
-
210
- ---
211
-
212
- ### FR-002: 安全漏洞检测
213
-
214
- **Description**: 检测常见安全漏洞,包括 SQL 注入、XSS、不安全函数调用等
215
-
216
- **Priority**: Must Have
217
-
218
- **Acceptance Criteria**:
219
- - [x] Given 包含 SQL 注入的代码,when 扫描时,then 标记为高危漏洞
220
- - [x] Given 包含 XSS 风险的代码,when 扫描时,then 标记为中危漏洞
221
- - [x] Given 使用不安全函数的代码,when 扫描时,then 提供安全替代方案
222
-
223
- **Dependencies**: FR-001 (代码解析)
224
-
225
- ---
226
-
227
- ### FR-003: CLI 工具
228
-
229
- **Description**: 提供命令行接口,支持本地代码扫描
230
-
231
- **Priority**: Must Have
232
-
233
- **Acceptance Criteria**:
234
- - [x] Given 用户安装了 CLI,when 运行 `smc-review scan ./src`,then 扫描完成并输出结果
235
- - [x] Given 扫描完成,when 查看输出,then 显示问题数量和详细信息
236
- - [x] Given 不存在的路径,when 扫描时,then 返回友好的错误提示
237
-
238
- **Dependencies**: FR-001, FR-002
239
-
240
- ---
241
-
242
- ### FR-004: 规则引擎
243
-
244
- **Description**: 支持自定义检测规则,团队可配置特定检查项
245
-
246
- **Priority**: Should Have
247
-
248
- **Acceptance Criteria**:
249
- - [x] Given 一个 YAML 配置文件,when 加载规则时,then 正确解析并应用
250
- - [x] Given 自定义规则,when 扫描时,then 按规则执行检查
251
- - [x] Given 无效的规则配置,when 加载时,then 返回验证错误
252
-
253
- **Dependencies**: FR-001
254
-
255
- ---
256
-
257
- ### FR-005: CI/CD 集成
258
-
259
- **Description**: 集成 GitHub Actions,在 PR 创建时自动运行代码审查
260
-
261
- **Priority**: Should Have
262
-
263
- **Acceptance Criteria**:
264
- - [x] Given 一个 PR 创建,when 触发 workflow,then 自动扫描变更文件
265
- - [x] Given 扫描发现问题,when 完成时,then 在 PR 中添加评论
266
- - [x] Given 无安全问题,when 扫描完成时,then 标记检查为通过
267
-
268
- **Dependencies**: FR-001, FR-002, FR-003
269
-
270
- ---
271
-
272
- ### FR-006: 代码异味检测
273
-
274
- **Description**: 检测代码质量问题,如过长函数、高复杂度、重复代码
275
-
276
- **Priority**: Should Have
277
-
278
- **Acceptance Criteria**:
279
- - [x] Given 函数超过 50 行,when 扫描时,then 标记为代码异味
280
- - [x] Given 圈复杂度 > 10,when 扫描时,then 建议重构
281
- - [x] Given 重复代码块,when 扫描时,then 标记并建议提取
282
-
283
- **Dependencies**: FR-001
284
-
285
- ---
286
-
287
- ## Non-Functional Requirements
288
-
289
- ### Performance
290
-
291
- | 指标 | 目标 | 测量方法 |
292
- |------|------|----------|
293
- | 扫描速度 | <5s/1000 行 | 基准测试 |
294
- | 内存占用 | <512MB | 性能监控 |
295
- | 并发支持 | 10 个仓库同时扫描 | 负载测试 |
296
-
297
- ### Security
298
-
299
- | 需求 | 说明 |
300
- |------|------|
301
- | 代码隐私 | 本地模式不发送代码到外部 API |
302
- | API 加密 | 所有网络通信使用 HTTPS |
303
- | 权限控制 | GitHub App 使用最小权限原则 |
304
-
305
- ### Reliability
306
-
307
- | 需求 | 目标 |
308
- |------|------|
309
- | 可用性 | 99% (本地工具无依赖外部服务) |
310
- | 错误处理 | 优雅降级,LLM 失败时回退到规则引擎 |
311
-
312
- ### Maintainability
313
-
314
- | 需求 | 目标 |
315
- |------|------|
316
- | 代码覆盖 | >70% 测试覆盖率 |
317
- | 文档 | API 文档 + 用户手册 |
318
-
319
- ### Compatibility
320
-
321
- | 平台 | 支持版本 |
322
- |------|----------|
323
- | 操作系统 | macOS 12+, Ubuntu 20.04+, Windows 11+ |
324
- | Python | 3.8+ |
325
- | Node.js | 16+ (JS/TS 解析) |
326
- | Git | GitHub, GitLab (v2.0) |
327
-
328
- ---
329
-
330
- ## Success Metrics
331
-
332
- ### 技术性能
333
-
334
- | Metric | Target | Measurement |
335
- |--------|--------|-------------|
336
- | 扫描速度 | <5s/1000 LOC | Benchmark |
337
- | 准确率 | >85% | Test suite |
338
- | 误报率 | <15% | User feedback |
339
-
340
- ### 用户体验
341
-
342
- | Metric | Target | Measurement |
343
- |--------|--------|-------------|
344
- | 安装时间 | <2min | One-liner install |
345
- | 学习曲线 | <10min | Documentation survey |
346
-
347
- ### 业务价值
348
-
349
- | Metric | Target | Measurement |
350
- |--------|--------|-------------|
351
- | 漏洞发现 | ≥1 issue/scan | Analytics |
352
- | 用户留存 | >30% DAU/MAU | Usage stats |
353
-
354
- ---
355
-
356
- ## Edge Cases & Constraints
357
-
358
- ### Edge Cases
359
-
360
- | 场景 | 处理策略 |
361
- |------|----------|
362
- | 超大文件 (>1MB) | 跳过或分块处理 |
363
- | 二进制文件 | 自动排除 |
364
- | 语法错误代码 | 标记但继续扫描 |
365
- | 无网络访问 | 回退到纯规则模式 |
366
-
367
- ### Constraints
368
-
369
- | 类型 | 约束 |
370
- |------|------|
371
- | **技术** | LLM API 有速率限制 |
372
- | **业务** | 开源免费,企业版收费 |
373
- | **法律** | 不存储用户代码 |
374
- | **时间** | 16周交付 v1.0 |
375
-
376
- ---
377
-
378
- ## Assumptions & Dependencies
379
-
380
- ### Assumptions
381
-
382
- | 假设 | 影响 |
383
- |------|------|
384
- | 用户有基本 Git 经验 | 文档不需要 Git 教程 |
385
- | 代码仓库 <100万行 | 性能优化聚焦中小仓库 |
386
- | Claude API 持续可用 | 需要备用方案 |
387
-
388
- ### Dependencies
389
-
390
- | 类型 | 依赖 |
391
- |------|------|
392
- | **内部** | Tree-sitter Go 绑定 |
393
- | **外部** | Claude Anthropic API (可选) |
394
- | **团队** | Go 开发经验 |
395
-
396
- ---
397
-
398
- ## Out of Scope
399
-
400
- v1.0 **不包含** 的功能:
401
-
402
- | 功能 | 原因 | 计划 |
403
- |------|------|------|
404
- | IDE 插件 | 开发复杂度高,优先 CLI | v2.0 |
405
- | Web Dashboard | 非核心价值 | v2.0 |
406
- | 多语言支持 >2 | 聚焦 Python/JS | 逐步扩展 |
407
- | 团队协作功能 | 单用户场景优先 | 企业版 |
408
- | 自托管 SaaS | 先验证产品价值 | 未来评估 |
409
-
410
- ---
411
-
412
- ## Approval Checklist
413
-
414
- - [x] Requirements are clear and unambiguous
415
- - [x] Acceptance criteria are testable
416
- - [x] Technical rationale is documented
417
- - [x] Success metrics are quantifiable
418
- - [x] Edge cases are identified
419
- - [x] Constraints are documented
420
- - [x] Stakeholder consensus achieved
421
-
422
- ---
423
-
424
- ## Next Steps (Phase 3: Planning)
425
-
426
- 1. [x] Review requirements with all stakeholders
427
- 2. [x] Run quality gate: `smc workflow validate`
428
- 3. [x] Address any blockers identified
429
- 4. [ ] Proceed to Phase 3 for detailed design and planning
430
-
431
- ---
432
-
433
- ## Metadata
434
-
435
- - **Generated**: 1/17/2026
436
- - **Phase 1 Report**: `../phase1/feasibility-report.md`
437
- - **Clarification Questions**: 7/7 answered ✅
438
- - **Confidence Level**: High (基于可行性分析和行业最佳实践)
439
-
440
- ---
441
-
442
- *This document was completed by the Phase 2 Approval Executor.*