super-dev 2.0.0__py3-none-any.whl

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 (61) hide show
  1. super_dev/__init__.py +11 -0
  2. super_dev/analyzer/__init__.py +34 -0
  3. super_dev/analyzer/analyzer.py +440 -0
  4. super_dev/analyzer/detectors.py +511 -0
  5. super_dev/analyzer/models.py +285 -0
  6. super_dev/cli.py +3257 -0
  7. super_dev/config/__init__.py +11 -0
  8. super_dev/config/frontend.py +557 -0
  9. super_dev/config/manager.py +281 -0
  10. super_dev/creators/__init__.py +26 -0
  11. super_dev/creators/creator.py +134 -0
  12. super_dev/creators/document_generator.py +2473 -0
  13. super_dev/creators/frontend_builder.py +371 -0
  14. super_dev/creators/implementation_builder.py +789 -0
  15. super_dev/creators/prompt_generator.py +289 -0
  16. super_dev/creators/requirement_parser.py +354 -0
  17. super_dev/creators/spec_builder.py +195 -0
  18. super_dev/deployers/__init__.py +20 -0
  19. super_dev/deployers/cicd.py +1269 -0
  20. super_dev/deployers/delivery.py +229 -0
  21. super_dev/deployers/migration.py +1032 -0
  22. super_dev/design/__init__.py +74 -0
  23. super_dev/design/aesthetics.py +530 -0
  24. super_dev/design/charts.py +396 -0
  25. super_dev/design/codegen.py +379 -0
  26. super_dev/design/engine.py +528 -0
  27. super_dev/design/generator.py +395 -0
  28. super_dev/design/landing.py +422 -0
  29. super_dev/design/tech_stack.py +524 -0
  30. super_dev/design/tokens.py +269 -0
  31. super_dev/design/ux_guide.py +391 -0
  32. super_dev/exceptions.py +119 -0
  33. super_dev/experts/__init__.py +19 -0
  34. super_dev/experts/service.py +161 -0
  35. super_dev/integrations/__init__.py +7 -0
  36. super_dev/integrations/manager.py +264 -0
  37. super_dev/orchestrator/__init__.py +12 -0
  38. super_dev/orchestrator/engine.py +958 -0
  39. super_dev/orchestrator/experts.py +423 -0
  40. super_dev/orchestrator/knowledge.py +352 -0
  41. super_dev/orchestrator/quality.py +356 -0
  42. super_dev/reviewers/__init__.py +17 -0
  43. super_dev/reviewers/code_review.py +471 -0
  44. super_dev/reviewers/quality_gate.py +964 -0
  45. super_dev/reviewers/redteam.py +881 -0
  46. super_dev/skills/__init__.py +7 -0
  47. super_dev/skills/manager.py +307 -0
  48. super_dev/specs/__init__.py +44 -0
  49. super_dev/specs/generator.py +264 -0
  50. super_dev/specs/manager.py +428 -0
  51. super_dev/specs/models.py +348 -0
  52. super_dev/specs/validator.py +415 -0
  53. super_dev/utils/__init__.py +11 -0
  54. super_dev/utils/logger.py +133 -0
  55. super_dev/web/api.py +1402 -0
  56. super_dev-2.0.0.dist-info/METADATA +252 -0
  57. super_dev-2.0.0.dist-info/RECORD +61 -0
  58. super_dev-2.0.0.dist-info/WHEEL +5 -0
  59. super_dev-2.0.0.dist-info/entry_points.txt +2 -0
  60. super_dev-2.0.0.dist-info/licenses/LICENSE +21 -0
  61. super_dev-2.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,17 @@
1
+ """
2
+ 审查模块 - 红队审查、代码审查、质量检查
3
+
4
+ 开发:Excellent(11964948@qq.com)
5
+ 功能:提供完整的审查流程
6
+ 创建时间:2025-12-30
7
+ """
8
+
9
+ from .code_review import CodeReviewGenerator
10
+ from .quality_gate import QualityGateChecker
11
+ from .redteam import RedTeamReviewer
12
+
13
+ __all__ = [
14
+ "RedTeamReviewer",
15
+ "CodeReviewGenerator",
16
+ "QualityGateChecker",
17
+ ]
@@ -0,0 +1,471 @@
1
+ """
2
+ 代码审查指南生成器 - 生成项目特定的代码审查清单
3
+
4
+ 开发:Excellent(11964948@qq.com)
5
+ 功能:生成针对项目的代码审查指南和清单
6
+ 作用:开发过程中和开发后进行代码审查
7
+ 创建时间:2025-12-30
8
+ """
9
+
10
+ from pathlib import Path
11
+
12
+
13
+ class CodeReviewGenerator:
14
+ """代码审查指南生成器"""
15
+
16
+ def __init__(self, project_dir: Path, name: str, tech_stack: dict):
17
+ self.project_dir = Path(project_dir).resolve()
18
+ self.name = name
19
+ self.tech_stack = tech_stack
20
+ self.platform = tech_stack.get("platform", "web")
21
+ self.frontend = tech_stack.get("frontend", "react")
22
+ self.backend = tech_stack.get("backend", "node")
23
+ self.domain = tech_stack.get("domain", "")
24
+
25
+ def generate(self) -> str:
26
+ """生成代码审查指南"""
27
+ review_guide = f"""# {self.name} - 代码审查指南
28
+
29
+ > **生成时间**: 自动生成
30
+ > **技术栈**: 前端 {self.frontend} | 后端 {self.backend} | 平台 {self.platform}
31
+
32
+ ---
33
+
34
+ ## 审查流程
35
+
36
+ ### 第 1 步: 自动化检查
37
+ 运行以下命令,确保所有检查通过:
38
+
39
+ ```bash
40
+ # Linter
41
+ npm run lint # 或 python -m pylint .
42
+
43
+ # 类型检查
44
+ npm run type-check # 或 mypy .
45
+
46
+ # 格式检查
47
+ npm run format:check # 或 black --check .
48
+
49
+ # 测试
50
+ npm test # 或 pytest
51
+ ```
52
+
53
+ ### 第 2 步: 功能审查
54
+ - [ ] 代码实现了需求中的所有功能
55
+ - [ ] 边界条件处理正确
56
+ - [ ] 错误处理完善
57
+ - [ ] 日志记录恰当
58
+
59
+ ### 第 3 步: 安全审查
60
+ - [ ] 输入验证完整
61
+ - [ ] 输出编码正确
62
+ - [ ] 认证授权正确实现
63
+ - [ ] 敏感数据已保护
64
+
65
+ ### 第 4 步: 性能审查
66
+ - [ ] 无明显性能问题
67
+ - [ ] 数据库查询优化
68
+ - [ ] 缓存使用恰当
69
+ - [ ] 资源使用合理
70
+
71
+ ---
72
+
73
+ ## 通用审查项
74
+
75
+ ### 代码质量
76
+
77
+ **命名规范:**
78
+ - [ ] 变量/函数命名清晰,见名知意
79
+ - [ ] 类名使用 PascalCase
80
+ - [ ] 函数名使用 camelCase (前端) 或 snake_case (后端)
81
+ - [ ] 常量使用 SCREAMING_SNAKE_CASE
82
+ - [ ] 布尔值使用 is/has/should 前缀
83
+
84
+ **函数设计:**
85
+ - [ ] 函数职责单一,不超过 50 行
86
+ - [ ] 参数数量合理 (不超过 5 个)
87
+ - [ ] 避免深层嵌套 (不超过 3 层)
88
+ - [ ] 返回值类型一致
89
+ - [ ] 无重复代码 (DRY 原则)
90
+
91
+ **错误处理:**
92
+ - [ ] 所有异常被捕获
93
+ - [ ] 错误信息清晰有用
94
+ - [ ] 不吞掉异常
95
+ - [ ] 资源正确释放 (使用 try-finally 或 with)
96
+ - [ ] 不返回 `null`/`None` 给前端 (使用统一错误响应)
97
+
98
+ **注释和文档:**
99
+ - [ ] 复杂逻辑有注释说明
100
+ - [ ] 公共 API 有文档注释
101
+ - [ ] TODO 注释有跟踪 issue
102
+ - [ ] 注释与代码保持一致
103
+
104
+ ### 安全性
105
+
106
+ **输入验证:**
107
+ - [ ] 所有用户输入验证
108
+ - [ ] 验证类型、长度、格式
109
+ - [ ] 使用白名单而非黑名单
110
+ - [ ] SQL/命令注入防护 (使用参数化查询)
111
+
112
+ **认证授权:**
113
+ - [ ] 敏感操作需要认证
114
+ - [ ] 权限检查正确
115
+ - [ ] Token/Session 有效期合理
116
+ - [ ] HTTPS 强制使用
117
+
118
+ **数据保护:**
119
+ - [ ] 密码使用强哈希 (bcrypt/Argon2)
120
+ - [ ] 敏感数据不记录到日志
121
+ - [ ] 敏感数据不暴露给前端
122
+ - [ ] 加密存储敏感配置
123
+
124
+ ### 性能
125
+
126
+ **数据库:**
127
+ - [ ] 查询使用索引
128
+ - [ ] 避免全列查询(优先明确列名)
129
+ - [ ] 避免 N+1 查询
130
+ - [ ] 使用连接池
131
+ - [ ] 分页大数据集
132
+
133
+ **API:**
134
+ - [ ] 响应大小合理
135
+ - [ ] 实施缓存策略
136
+ - [ ] 异步处理耗时操作
137
+ - [ ] 实施速率限制
138
+
139
+ **前端:**
140
+ - [ ] 避免不必要的重渲染
141
+ - [ ] 使用 React.memo/useMemo/useCallback
142
+ - [ ] 懒加载路由和组件
143
+ - [ ] 图片优化和懒加载
144
+
145
+ ### 测试
146
+
147
+ **单元测试:**
148
+ - [ ] 核心逻辑有单元测试
149
+ - [ ] 测试覆盖率 > 80%
150
+ - [ ] 边界条件有测试
151
+ - [ ] 错误情况有测试
152
+
153
+ **集成测试:**
154
+ - [ ] API 端点有集成测试
155
+ - [ ] 关键流程有测试
156
+ - [ ] 数据库操作有测试
157
+
158
+ ---
159
+
160
+ ## 前端特定审查 ({self.frontend.upper()})
161
+
162
+ {self._generate_frontend_review()}
163
+
164
+ ---
165
+
166
+ ## 后端特定审查 ({self.backend.upper()})
167
+
168
+ {self._generate_backend_review()}
169
+
170
+ ---
171
+
172
+ ## 领域特定审查 ({self.domain.upper() if self.domain else "通用"})
173
+
174
+ {self._generate_domain_review()}
175
+
176
+ ---
177
+
178
+ ## 审查清单模板
179
+
180
+ ### Pull Request 审查清单
181
+
182
+ **提交前自检:**
183
+ - [ ] 代码符合团队规范
184
+ - [ ] Linter 无错误
185
+ - [ ] 所有测试通过
186
+ - [ ] 新增代码有测试
187
+ - [ ] 文档已更新
188
+
189
+ **Reviewers 检查:**
190
+ - [ ] 代码逻辑正确
191
+ - [ ] 无安全漏洞
192
+ - [ ] 无性能问题
193
+ - [ ] 错误处理完善
194
+ - [ ] 代码可维护
195
+
196
+ ---
197
+
198
+ ## 常见问题检查表
199
+
200
+ ### 1. 空值处理
201
+ - [ ] 使用可选链 `?.` 访问属性
202
+ - [ ] 使用空值合并 `??` 提供默认值
203
+ - [ ] 函数参数验证空值
204
+ - [ ] 数据库查询结果检查空值
205
+
206
+ ### 2. 异步处理
207
+ - [ ] async/await 正确使用
208
+ - [ ] Promise/异常正确处理
209
+ - [ ] 并发控制合理
210
+ - [ ] 超时处理设置
211
+
212
+ ### 3. 资源管理
213
+ - [ ] 文件句柄正确关闭
214
+ - [ ] 数据库连接释放
215
+ - [ ] 订阅/监听器清理
216
+ - [ ] 定时器清理
217
+
218
+ ### 4. 状态管理
219
+ - [ ] 状态不可变修改
220
+ - [ ] 状态更新正确
221
+ - [ ] 副作用隔离
222
+ - [ ] 状态持久化合理
223
+
224
+ ---
225
+
226
+ ## 审查工具
227
+
228
+ ### 推荐工具
229
+
230
+ **前端 ({self.frontend}):**
231
+ - ESLint - 代码检查
232
+ - Prettier - 代码格式化
233
+ - TypeScript - 类型检查
234
+ - Jest - 单元测试
235
+
236
+ **后端 ({self.backend}):**
237
+ - pylint/flake8 - 代码检查
238
+ - black/autopep8 - 代码格式化
239
+ - mypy - 类型检查 (Python)
240
+ - pytest - 单元测试
241
+
242
+ ### CI/CD 集成
243
+
244
+ 在 CI 流水线中自动运行以下检查:
245
+
246
+ ```yaml
247
+ # .github/workflows/review.yml
248
+ name: Code Review
249
+ on: [pull_request]
250
+
251
+ jobs:
252
+ review:
253
+ runs-on: ubuntu-latest
254
+ steps:
255
+ - uses: actions/checkout@v3
256
+ - name: Lint
257
+ run: npm run lint
258
+ - name: Type Check
259
+ run: npm run type-check
260
+ - name: Test
261
+ run: npm test -- --coverage
262
+ - name: Security Scan
263
+ run: npm audit
264
+ ```
265
+
266
+ ---
267
+
268
+ ## 审查反馈模板
269
+
270
+ ### 建设性反馈
271
+
272
+ **示例:**
273
+
274
+ > 我注意到在 `UserService.ts:45` 中,直接使用了 `user.email` 而没有检查 `user` 是否为 `null`。这可能导致运行时错误。
275
+ >
276
+ > 建议: 使用可选链 `user?.email` 或在函数开始时验证参数。
277
+ >
278
+ > 参考: https://github.com/our-team/frontend-handbook/blob/main/null-safety.md
279
+
280
+ ### 需要修改的反馈
281
+
282
+ **示例:**
283
+
284
+ > [需要修改] 在 `AuthController.java:123` 中,SQL 查询使用了字符串拼接,存在 SQL 注入风险。
285
+ >
286
+ > 请修改为参数化查询:
287
+ > ```java
288
+ > // 错误:通过字符串拼接构造数据库查询语句
289
+ > String query = buildQueryByConcat(email);
290
+ >
291
+ > // 正确:使用参数占位符并绑定参数
292
+ > String query = buildPreparedQueryWithParams(email);
293
+ > ```
294
+ >
295
+ > 参考: OWASP SQL Injection Prevention Cheat Sheet
296
+
297
+ ---
298
+
299
+ ## 审查完成后
300
+
301
+ ### 通过审查
302
+ - [ ] 批准并合并 PR
303
+ - [ ] 感谢贡献者
304
+ - [ ] 更新相关文档
305
+
306
+ ### 需要修改
307
+ - [ ] 在 PR 中留下具体反馈
308
+ - [ ] 标注需要修改的文件和行号
309
+ - [ ] 提供修改建议和参考资料
310
+ - [ ] 设置修改后的截止时间
311
+
312
+ ---
313
+
314
+ ## 附录: 代码审查最佳实践
315
+
316
+ 1. **及时响应**: 收到审查请求后 24 小时内完成审查
317
+ 2. **建设性反馈**: 提供具体、可操作的改进建议
318
+ 3. **尊重贡献者**: 评论针对代码而非个人
319
+ 4. **讨论复杂问题**: 面对面或视频会议讨论
320
+ 5. **持续学习**: 分享审查中学到的经验
321
+ """
322
+ return review_guide # nosec B608
323
+
324
+ def _generate_frontend_review(self) -> str:
325
+ """生成前端特定审查内容"""
326
+ if self.frontend == "react":
327
+ return """
328
+ **React 特定:**
329
+ - [ ] 组件拆分合理 (不超过 200 行)
330
+ - [ ] Props 类型定义完整 (TypeScript/PropTypes)
331
+ - [ ] State 使用恰当 (useState/useReducer)
332
+ - [ ] Effect 依赖正确 (useEffect)
333
+ - [ ] Context 使用合理 (避免过度使用)
334
+ - [ ] 性能优化 (memo/useMemo/useCallback)
335
+ - [ ] Key 属性正确 (列表渲染)
336
+ - [ ] 事件处理函数稳定 (useCallback)
337
+
338
+ **Hooks 使用:**
339
+ - [ ] 自定义 Hook 可复用
340
+ - [ ] Hook 规则遵守 (只在顶层调用)
341
+ - [ ] Effect 依赖数组完整
342
+ - [ ] 清理函数正确返回
343
+
344
+ **状态管理:**
345
+ - [ ] 全局状态使用 Redux/Zustand
346
+ - [ ] 本地状态使用 useState
347
+ - [ ] 表单状态使用 Form 库
348
+ - [ ] 服务端状态使用 React Query/SWR
349
+ """
350
+ elif self.frontend == "vue":
351
+ return """
352
+ **Vue 特定:**
353
+ - [ ] 组件拆分合理 (不超过 200 行)
354
+ - [ ] Props 类型定义完整
355
+ - [ ] Emits 事件声明完整
356
+ - [ ] Computed 使用恰当
357
+ - [ ] Watch 使用合理
358
+ - [ ] 生命周期钩子正确
359
+ - [ ] Ref/Reactive 使用正确
360
+
361
+ **Composition API:**
362
+ - [ ] `<script setup>` 语法使用
363
+ - [ ] Composable 函数可复用
364
+ - [ ] 响应式类型正确 (ref/reactive)
365
+ - [ ] 生命周期使用正确
366
+
367
+ **状态管理:**
368
+ - [ ] 全局状态使用 Pinia
369
+ - [ ] 本地状态使用 reactive/ref
370
+ - [ ] 表单状态使用 Form 库
371
+ """
372
+ else:
373
+ return """
374
+ **通用前端:**
375
+ - [ ] 组件拆分合理
376
+ - [ ] Props 类型定义
377
+ - [ ] 状态管理清晰
378
+ - [ ] 事件处理正确
379
+ - [ ] 样式隔离良好
380
+ """
381
+
382
+ def _generate_backend_review(self) -> str:
383
+ """生成后端特定审查内容"""
384
+ if self.backend == "node":
385
+ return """
386
+ **Node.js 特定:**
387
+ - [ ] 异步错误处理 (try-catch)
388
+ - [ ] Promise 正确使用
389
+ - [ ] 内存泄漏检查 (监听器清理)
390
+ - [ ] 依赖安全 (npm audit)
391
+ - [ ] 环境变量管理 (.env)
392
+ - [ ] 中间件顺序正确
393
+ - [ ] 请求体验证
394
+
395
+ **Express/NestJS:**
396
+ - [ ] 路由命名规范 (RESTful)
397
+ - [ ] 中间件职责单一
398
+ - [ ] 错误处理中间件
399
+ - [ ] 请求验证 (express-validator/class-validator)
400
+ - [ ] 响应格式统一
401
+ """
402
+ elif self.backend == "python":
403
+ return """
404
+ **Python 特定:**
405
+ - [ ] 类型提示完整 (Type Hints)
406
+ - [ ] 异常处理具体
407
+ - [ ] 资源清理 (with 语句)
408
+ - [ ] 依赖安全 (pip audit)
409
+ - [ ] 虚拟环境使用
410
+ - [ ] PEP 8 规范遵守
411
+
412
+ **FastAPI/Django:**
413
+ - [ ] Pydantic 模型验证
414
+ - [ ] 路由命名规范 (RESTful)
415
+ - [ ] 中间件/装饰器使用
416
+ - [ ] 数据库会话管理
417
+ - [ ] 响应格式统一
418
+ """
419
+ else:
420
+ return """
421
+ **通用后端:**
422
+ - [ ] API 设计 RESTful
423
+ - [ ] 请求验证完整
424
+ - [ ] 错误处理统一
425
+ - [ ] 日志记录恰当
426
+ - [ ] 依赖注入使用
427
+ """
428
+
429
+ def _generate_domain_review(self) -> str:
430
+ """生成领域特定审查内容"""
431
+ if self.domain == "fintech":
432
+ return """
433
+ **金融领域特定:**
434
+ - [ ] 金额计算使用 Decimal 类型
435
+ - [ ] 货币转换正确
436
+ - [ ] 交易原子性保证
437
+ - [ ] 审计日志完整
438
+ - [ ] 合规性检查 (PCI-DSS)
439
+ - [ ] 敏感数据加密
440
+ - [ ] 防重放攻击
441
+ - [ ] 幂等性保证
442
+ """
443
+ elif self.domain == "medical":
444
+ return """
445
+ **医疗领域特定:**
446
+ - [ ] HIPAA 合规性
447
+ - [ ] 患者隐私保护
448
+ - [ ] 数据加密存储
449
+ - [ ] 访问控制严格
450
+ - [ ] 审计日志完整
451
+ - [ ] 数据脱敏展示
452
+ - [ ] 紧急访问机制
453
+ """
454
+ elif self.domain == "ecommerce":
455
+ return """
456
+ **电商领域特定:**
457
+ - [ ] 库存并发控制
458
+ - [ ] 订单幂等性
459
+ - [ ] 支付安全
460
+ - [ ] 价格精度处理
461
+ - [ ] 优惠券逻辑
462
+ - [ ] 促销规则验证
463
+ """
464
+ else:
465
+ return """
466
+ **通用领域:**
467
+ - [ ] 业务规则正确
468
+ - [ ] 数据一致性
469
+ - [ ] 事务处理合理
470
+ - [ ] 幂等性保证
471
+ """