← ClaudeAtlas

cm-refactorlisted

对不改变外部行为的代码结构调整执行分流、行为判官、分批重构、独立审查与规则沉淀;缺陷和需求变化必须转交其他流程。
kingxiaozhe/cm-workflow · ★ 0 · Code & Development · score 72
Install: claude install-skill kingxiaozhe/cm-workflow
# cm-refactor — 重构闭环(行为保持) 执行前读取 `../../runtime/project-context.md`、`../../runtime/orchestration.md` 与 `../../runtime/review.md`。Codex 入口为 `$cm-refactor`;Claude Code 跨��台入口为 `/cm-refactor`,macOS/Linux 另有历史别名 `/cm:refactor`。 **用法**:`$cm-refactor {specs路径} {代码项目路径} 重构目标描述(哪块代码/为什么难维护)` 结构调整专用闭环。**前提:什么都没坏,行为一丝不变**——设计依据见 `docs/重构流程设计/`(cm 小闭环纪律 × Anthropic 迁移方法论,核心教义:修规则,不修产物)。 **分流门(先于一切,答错门就是错流程)**: - 有缺陷要修 → `$cm-fix` - 行为要变(哪怕"变得更合理")→ `$cm-prd --change` - 渐进式采用(如 JS→TS 逐文件、加类型注解)→ 不用本命令,直接改 - 结构问题且行为保持 → 本命令 **$cm-ai 全局规则同等生效**:灾难级才暂停、多方案自主决策留痕、状态落盘(node 写 `REFACTOR`)、运行日志照记、审查按 `runtime/review.md` 执行。 **续跑检测(先于 G0)**:`{SPECS_DIR}/refactors/` 下存在未收口 slug(档案无收口节 / 运行日志该 slug 无 `done` 事件)→ **按磁盘状态定位续跑站点**(RULEBOOK 版本、batch-log 完成集、队列缺口),G0 不重问、判官按 G0.5 重验后继续;无在制状态才走全新 G0。"队列=磁盘"的可恢复性必须有恢复入口才算数(对照系:cm:ai 有 tasks 断点、fix 有 slug 续跑,最长时的批量重构反而没有——本条补齐)。 ## G0: 可行性(人门) 1. **动机量化**:动机必须落到可测指标——行数超限 / 重复块 N 处 / 依赖方向违规 / 圈复杂度。"代码不优雅"不构成动机 2. **认领待触发备忘**:扫描 `{SPECS_DIR}/LESSONS.md` 的「待触发备忘」段,结构类条目(标记来源含"重构/拆分/看不惯")与本次目标相关的 → 列入范围并在输出注明认领;收口时销账(改状态为已认领,注档案路径)——备忘的回流出口(实跑教训:备忘只写不读,到期无人认领) 3. 波及面:谁引用这块代码(有业务地图查 03/08,无地图 grep 调用方) 4. 输出可行性摘要:范围清单 / 动机指标现值 / 波及面 / 预估轨道(轻量或批量)/ **预算可见乘法**(批量道必填:文件数 × 单文件估耗 = 总预算,拍脑袋的总数不作数)。**「不重构」是合法结论**——收益盖不住风险就明说,命令到此收口 5. **🛑 人签核后才进下一步**(签核=踢下一阶段;阶段内不再停车) ## G0.5: 判官自验证(无判官���开工) 判官 = 能平等裁决改前改后代码的机械标准,分两层: - **基线层**:存量测试全量跑绿并记录;无测试资产 → 先写现状快照测试(B3 同款,锁行为不判对错) - **差分层**:对将被重构的入口函数/接口,构造代表性输入集(含边界值),记录改前输出;**harness 的环境解析照抄项目既有测试的做法**(依赖怎么找、