# 代码质量保障系统 一套完整的 Agent + Hook + Skill 组合,让 AI 能够写出更完善的代码。 ## 🎯 核心功能 ### 1. 自动完成检查 (Auto-Complete Hook) - 拦截 Agent 任务结束,自动检查代码质量 - 检测未完成的功能、TODO、空函数、占位符 - 最多允许 3 次迭代修复 - 未通过时阻止任务完成,生成修复要求 ### 2. 深度质量检查 (Code-Quality Skill) - 手动触发命令:`/code-quality` - 全面检查:功能、代码、测试、文档、规范、安全 - 生成详细的质量报告 - 提供修复建议和自动修复选项 ### 3. 智能通知系统 - Windows 桌面通知 - 声音提醒(成功/警告/注意) - 异步发送,不阻塞工作流程 ## 📁 文件结构 ``` code-quality-system/ ├── hooks/ # Hook 脚本 │ ├── auto-complete-check.py # 主检查逻辑 │ ├── requirements-tracker.py # 需求追踪器 │ ├── code-analyzer.py # 代码分析器 │ ├── notification-sender.py # 通知发送器 │ └── requirements.txt # Python 依赖 ├── custom-skills/ # 自定义技能 │ └── code-quality/ │ ├── skill.json # 技能定义 │ └── instructions.md # 技能指令 ├── config/ # 配置文件 │ └── code-quality-config.json # 系统配置 ├── sounds/ # 声音资源 │ ├── README.md # 声音文件说明 │ ├── success.wav # 成功提示音 │ ├── warning.wav # 警告提示音 │ └── attention.wav # 注意提示音 ├── deploy.bat # 一键部署脚本 └── README.md # 本文件 ``` ## 🚀 快速开始 ### 方法 1: 使用一键部署脚本(推荐) 1. 双击运行 `deploy.bat` 2. 选择部署模式: - **全局部署**:所有项目自动启用 - **项目部署**:仅当前项目启用 3. 重启 Claude Code 4. 完成! ### 方法 2: 手动部署 #### 全局部署 ```bash # 1. 复制文件到 Claude Code 配置目录 cp -r hooks/* ~/.claude/hooks/ cp -r custom-skills/* ~/.claude/custom-skills/ cp config/code-quality-config.json ~/.claude/ # 2. 安装 Python 依赖 pip install plyer pygame # 3. 配置 settings.json # 添加以下内容到 ~/.claude/settings.json: { "hooks": { "TaskEnd": [ { "type": "command", "command": "python ~/.claude/hooks/auto-complete-check.py" } ] } } ``` #### 项目部署 ```bash # 1. 复制文件到项目目录 cp -r hooks/* .claude/hooks/ cp -r custom-skills/* .claude/custom-skills/ cp config/code-quality-config.json .claude/ # 2. 安装 Python 依赖 pip install plyer pygame ``` ## 🔧 配置说明 编辑 `code-quality-config.json` 自定义系统行为: ```json { "enabled": true, // 是否启用 "checkLevel": "standard", // 检查级别: standard/deep "maxIterations": 3, // 最大迭代次数 "notification": { "enabled": true, // 启用通知 "sound": true, // 启用声音 "desktop": true, // 启用桌面通知 "soundVolume": 0.7 // 音量 (0.0-1.0) }, "thresholds": { "passingScore": 80, // 通过分数 "warningScore": 60, // 警告分数 "maxTodos": 5, // 最大 TODO 数量 "maxEmptyFunctions": 0, // 最大空函数数量 "maxPlaceholders": 0 // 最大占位符数量 } } ``` ## 📖 使用方法 ### 自动检查(默认启用) 系统会在以下情况自动触发检查: - 主 Agent 完成任务时 - 任何子 Agent 完成任务时 - 不需要手动干预 ### 手动检查 使用 `/code-quality` 命令: ``` # 标准检查 /code-quality # 深度检查 /code-quality --deep # 聚焦特定方面 /code-quality --focus security /code-quality --focus documentation /code-quality --focus code-style ``` ### 工作流程 ``` ┌─────────────────┐ │ AI 开始编码 │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ AI 声明完成 │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Hook 拦截 │◄───────────────┐ └────────┬────────┘ │ │ │ ▼ │ ┌─────────────────┐ │ │ 执行快速检查 │ │ └────────┬────────┘ │ │ │ ┌────┴────┐ │ │ │ │ 通过❌ 通过✅ │ │ │ │ ▼ ▼ │ ┌─────────┐ ┌──────────┐ │ │迭代+1 │ │允许结束 │ │ └────┬────┘ └──────────┘ │ │ │ ▼ │ ┌─────────┐ │ │生成修复 │ │ │要求 │ │ └────┬────┘ │ │ │ ▼ │ ┌─────────────────┐ │ │ AI 继续修复 │────────────────┘ └─────────────────┘ ``` ## 🔍 检查维度 ### 1. 功能完整性 - 对比需求清单 - 验证所有功能已实现 - 检查缺失的功能 ### 2. 代码完整性 - 检测 TODO、FIXME - 检测空函数、占位符 - 检测被注释的代码 - 检测调试语句 ### 3. 代码规范 - 命名规范 - 格式一致性 - 语言特定规范(ESLint、PEP 8、Clippy) - 项目特定规范 ### 4. 测试覆盖 - 测试文件存在性 - 测试用例数量 - 关键功能测试 ### 5. 文档完整性 - 函数/类注释 - README 文档 - API 文档 ### 6. 安全检查 - SQL 注入风险 - XSS 漏洞 - 硬编码密钥 - 不安全的函数调用 ## 📊 检查报告示例 ``` ## 代码质量检查报告 ### 总体评分:85/100 ### 完成度分析 ✅ 用户登录功能 (100%) ✅ 数据库连接 (100%) ⚠️ API 错误处理 (60%) - 缺少部分错误码 ❌ 日志记录 (0%) - 未实现 ### 代码质量 - TODO: 3 个 - 空函数: 0 个 - 被注释代码: 2 处 - 占位符: 1 个 ### 修复建议(按优先级) 1. [高] 实现日志记录模块 2. [高] 补充 API 错误码 3. [中] 清理被注释的代码 4. [低] 处理 TODO 项 ``` ## 🛠️ 故障排除 ### 通知不工作 1. 检查依赖是否安装: ```bash pip install plyer pygame ``` 2. 测试通知: ```bash python ~/.claude/hooks/notification-sender.py test ``` 3. 检查配置文件中的 `notification.enabled` 是否为 `true` ### Hook 不触发 1. 检查 `settings.json` 配置是否正确 2. 检查 Python 脚本是否有执行权限 3. 查看 Claude Code 日志:`~/.claude/logs/` ### 声音文件缺失 系统会自动使用 Windows 系统 Beep 音效作为回退,不影响功能。 如需自定义声音,参考 `sounds/README.md`。 ## 📝 卸载 ### 使用部署脚本 1. 运行 `deploy.bat` 2. 选择"卸载" 3. 选择要卸载的组件(全局/项目) ### 手动卸载 ```bash # 全局部署 rm ~/.claude/hooks/auto-complete-check.py rm ~/.claude/hooks/requirements-tracker.py rm ~/.claude/hooks/code-analyzer.py rm ~/.claude/hooks/notification-sender.py rm -rf ~/.claude/custom-skills/code-quality rm ~/.claude/code-quality-config.json # 项目部署 rm -rf .claude ``` ## 🤝 贡献 欢迎提交问题和改进建议! ## 📄 许可 MIT License ## 🔗 相关资源 - [Claude Code 官方文档](https://github.com/anthropics/claude-code) - [Hook 开发指南](./README.md) - 项目根目录的 Hook 使用指南 - [Superpowers 技能集](https://github.com/obra/superpowers-marketplace) --- **让 AI 写出更完善的代码!** 🚀