
关于
自主逐行深度扫描整个代码库,理解架构和模式,然后系统性地将代码转化为生产就绪状态,修复安全漏洞、性能问题和代码质量问题。
name: production-code-audit description: "自主逐行深度扫描整个代码库,理解架构和模式,然后系统性地将其转化为生产级、企业级专业质量代码并进行优化" risk: unknown source: community date_added: "2026-02-27"
生产代码审计
概述
自主分析整个代码库以理解其架构、模式和用途,然后系统性地将其转化为生产级、企业级专业代码。此技能执行逐行深度扫描,识别安全、性能、架构和质量方面的所有问题,然后提供全面的修复方案以满足企业标准。
何时使用此技能
- 当用户说让这个代码生产就绪时使用
- 当用户说审计我的代码库时使用
- 当用户说让这个达到专业/企业级水平时使用
- 当用户说优化所有内容时使用
- 当用户需要企业级质量时使用
- 当准备生产部署时使用
- 当代码需要满足企业标准时使用
工作原理
步骤 1:自主代码库发现
自动扫描并理解整个代码库:
- 读取所有文件 - 递归扫描项目中的每个文件
- 识别技术栈 - 检测语言、框架、数据库、工具
- 理解架构 - 映射结构、模式、依赖关系
- 识别用途 - 理解应用程序的功能
- 查找入口点 - 定位主文件、路由、控制器
- 映射数据流 - 理解数据如何在系统中流动
无需询问用户,自动执行此操作。
步骤 2:全面问题检测
逐行扫描所有问题:
架构问题:
- 循环依赖
- 紧耦合
- 上帝类(>500行或>20个方法)
- 缺少关注点分离
- 模块边界不清晰
- 违反设计模式
安全漏洞:
- SQL注入(查询中的字符串拼接)
- XSS漏洞(未转义的输出)
- 硬编码密钥(代码中的API密钥、密码)
- 缺少身份验证/授权
- 弱密码哈希(MD5、SHA1)
- 缺少输入验证
- CSRF漏洞
- 不安全的依赖
性能问题:
- N+1查询问题
- 缺少数据库索引
- 应该异步的同步操作
- 缺少缓存
- 低效算法(O(n²)或更差)
- 包体积过大
- 未优化的图片
- 内存泄漏
代码质量问题:
- 高圈复杂度(>10)
- 代码重复
- 魔法数字
- 命名规范差
- 缺少错误处理
- 格式不一致
- 死代码
- TODO/FIXME注释
测试缺口:
- 关键路径缺少测试
- 测试覆盖率低(<80%)
- 无边界情况测试
- 不稳定的测试
- 缺少集成测试
生产就绪性:
- 缺少环境变量
- 无日志/监控
- 无错误追踪
- 缺少健康检查
- 文档不完整
- 无CI/CD流水线
步骤 3:自动修复和优化
自动修复所有问题:
- 重构架构 - 拆分上帝类,修复循环依赖
- 修复安全问题 - 使用参数化查询,移除密钥,添加验证
- 优化性能 - 修复N+1查询,添加缓存,优化算法
- 提升代码质量 - 降低复杂度,消除重复,修正命名
- 添加缺失测试 - 为未测试的关键路径编写测试
- 添加生产基础设施 - 日志、监控、健康检查
- 全面优化 - 包体积、图片、数据库查询
- 添加文档 - README、API文档、架构文档
步骤 4:验证和报告
完成所有更改后:
- 运行所有测试确保没有破坏
- 验证所有安全问题已修复
- 衡量性能改进
- 生成综合报告
- 提供修改前后的指标对比
示例
示例 1:自主代码库转换
User: @production-code-audit make this production-ready
AI: I'll scan your entire codebase and transform it to production-grade quality.
**Phase 1: Discovering Codebase** (analyzing 247 files)
- Detected: Node.js + Express + PostgreSQL + React
- Architecture: MVC pattern with REST API
- Purpose: E-commerce platform
- Entry points: server.js, src/index.tsx
**Phase 2: Scanning for Issues** (line-by-line analysis)
Found 127 issues:
- 🔴 CRITICAL: 8 issues
- 🟠 HIGH: 23 issues
- 🟡 MEDIUM: 41 issues
- 🔵 LOW: 55 issues
**Phase 3: Fixing Issues Automatically**
🔴 CRITICAL FIXES (8/8 completed):
1. ✅ Fixed SQL injection in UserRepository.findByEmail()
- Before: String concatenation in query
- After: Parameterized query with $1 placeholder
2. ✅ Removed hardcoded database password from config/database.ts
- Before: password: 'SuperSecret123!'
- After: password: process.env.DB_PASSWORD
3. ✅ Added authentication to admin rou
兼容工具
Claude CodeCursor
标签
数据工程
