| name | spec:refactor |
| description | Use when auditing and cleaning legacy code before new feature development, with mandatory user confirmation before changes - triggers on /spec:refactor, 重构, 清理代码, 代码审计 |
代码重构工作流 (Refactor)
在开发新功能前,对目标代码进行审计并清理遗留问题。零功能变更,仅改善代码质量。
⚠️ 重构铁律(开始前必读)
| # | 规则 | 说明 |
|---|
| 1 | 零功能变更 | 重构不能改变任何业务逻辑行为,只改善代码质量 |
| 2 | 编译必过 | 每一轮重构后都必须执行 npm run build 验证 |
| 3 | 问题先列后改 | 必须先完成审计清单,经用户确认后才开始修改代码 |
执行指令
1. 审计
定量红线:必须使用 grep 和文件读取 至少扫描 5 个文件才允许输出审计结论。
审计动作:
- 扫描用户指定的目标目录/文件
- 对照
memory/constitution.md 检查是否存在违规项
- 检查:死代码、缺失 JSDoc、命名不规范、Promise→Async/Await 可转换项、重复代码
- 语言要求:所有反馈必须使用简体中文
2. 问题清单
审计完成后,必须先输出问题清单再动代码:
| # | 严重度 | 文件 | 行号 | 问题描述 | 建议修复 |
|---|--------|------|------|---------|---------|
| 1 | 🔴 高 | xxx.ts | L42 | 死代码未清理 | 删除 |
| 2 | 🟡 中 | yyy.ts | L18 | 缺失 JSDoc 注释 | 补充 |
| 3 | 🟢 低 | zzz.ts | L95 | 命名不规范 | 重命名 |
严重度分类:
- 🔴 高:违反
constitution.md 的硬性规则(如存在 .js 文件、缺失关键注释)
- 🟡 中:代码质量问题(Promise→Async/Await、重复代码、过时模式)
- 🟢 低:风格建议(命名、格式、微优化)
输出清单后暂停,等待用户确认再进行修改。
3. 重构执行
用户确认后,按严重度从高到低依次清理:
- Promise → Async/Await 转换
- 提取重复代码为共享函数
- 补充 JSDoc 注释(类/方法/接口)
- 清除死代码(未使用的导入、变量、函数)
- 每次修改后用 1-2 句话说明改动理由
4. 编译验证(强制)
- 执行
npm run build 确认重构未引入编译错误
- 如失败,立即修复并重新编译(最多 3 轮)
- 编译通过后继续下一个修改项
5. 完成汇报
在回复末尾必须输出以下汇报表格:
| # | 文件 | 改动类型 | 改动说明 | 功能影响 |
|---|------|---------|---------|---------|
| 1 | xxx.ts | 代码清理 | 删除死代码 | 无 |
| 2 | yyy.ts | 注释补充 | 补充 JSDoc | 无 |
- 最后一行明确声明:"以上改动均不涉及功能逻辑变更,仅为代码质量改善。"
- 提示用户执行后续操作:运行
/spec:define 开始定义功能规范