mcpField
S
specs-code-cleanup

specs-code-cleanup

github.com/giuseppe-trisciuoglio开发3651.8k 次安装7 周前更新
代码仓库

关于 specs-code-cleanup

specs-code-cleanup 是用于审查通过后进行外观整理的工作流技能,集成在 /developer-kit-specs:specs.task-implementation 的 Phase T-7 中。它面向完成规格驱动任务的开发者,清理代码卫生问题,同时保持行为不变,不改逻辑或修复缺陷。

主要功能

  1. 01移除调试日志和确认无用的代码
  2. 02优化导入并格式化代码
  3. 03检查文档和未完成的 TODO
  4. 04运行可用的 lint 和测试
  5. 05在任务文件中记录清理结果

适用场景

  1. 01在任务完成前整理已审查的代码
  2. 02移除临时产物和未使用的导入
  3. 03在不改变行为的前提下执行最终检查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill specs-code-cleanup

安装后在 Claude Code 中输入/specs-code-cleanup确认已加载。

附带文件references/language-patterns.md

详细介绍

代码清理

概述

在评审后进行外观清理,使代码达到可用于生产环境的标准。此工作流现已集成到 /developer-kit-specs:specs.task-implementation 的 T-7 阶段。也可以使用 --action=cleanup 手动调用。

输入:docs/specs/[id]/tasks/TASK-XXX.md(已评审状态)
输出:清理后的代码,任务标记为 completed

适用场景

  • 当用户要求在评审通过后清理代码、润色、完成收尾、整理或清除技术债时使用。
  • 用于完成代码前的准备工作:移除调试日志和无用代码、优化导入并提升可读性。
  • 用作规范驱动开发工作流中的最终质量关卡。
  • 不用于重构逻辑或修复错误——仅专注于外观和代码卫生清理。

参数

参数必需描述
--lang否java、spring、typescript、nestjs、react、python、general
--task是任务文件路径
--action否手动调用时设为 cleanup

最佳实践

  • 清理,不改动:仅移除或重新整理,绝不改变功能
  • 保持行为不变:清理后的代码必须与之前完全一致地运行
  • 使用项目工具:优先使用 ./mvnw spotless:apply、npm run lint:fix、black 等
  • 使用 TodoWrite:跟踪全部 8 个阶段的进度
  • 失败即停止:如果测试失败,就停止并报告——不要继续

请参阅 references/language-patterns.md,了解特定语言的格式化命令、导入排序和 grep 模式。

说明

阶段 1:任务验证
  1. 解析 $ARGUMENTS 中的参数:

    • --lang(可选):目标语言/框架
    • --task(必需):任务 ID 或文件路径
    • --spec(可选):规范文件夹路径(与任务 ID 搭配使用)

    支持两种格式:

    • 格式 1(直接路径):--task=docs/specs/001-feature/tasks/TASK-001.md
    • 格式 2(规范+任务):--spec=docs/specs/001-feature --task=TASK-001

    如果使用格式 2,则按以下形式构建任务文件路径:{spec}/tasks/{task}.md

  2. 读取任务文件。验证:

    • 状态为 reviewed 或 implemented(不能是 completed)
    • 评审报告 TASK-XXX--review.md 存在且已通过
  3. 如果尚未评审 → 停止并告知用户先运行 /developer-kit-specs:specs.task-review

  4. 提取任务 ID、标题和 provides 文件

阶段 2:确定要清理的文件
  1. 读取 TASK-XXX--review.md,获取已创建/修改的文件
  2. 读取任务的 provides 字段,获取文件路径
  3. 确认文件存在;构建清理列表
  4. 分类:源文件、测试文件、配置文件
阶段 3:移除技术债

使用 Grep 搜索文件中的临时/调试内容:

  • console.log、System.out.println、print(、// DEBUG:、// temp、// hack
  • 已解决的 TODO/FIXME 注释(保留尚未解决的注释)

结合上下文检查每项发现。移除确认的技术债,并记录移除了哪些内容。

阶段 4:优化导入
  1. 如果可用,运行特定语言的导入优化工具(参见参考资料)
  2. 如果没有可用工具,则手动移除未使用的导入
  3. 记录有更改的文件
阶段 5:提升代码可读性
  1. 如果可用,运行特定语言的格式化工具(参见参考资料)
  2. 如果没有格式化工具:修正缩进、拆分过长的行(>120)、修正空格
  3. 仅在明显安全时移除无用代码
  4. 记录所做更改
阶段 6:验证文档
  1. 验证类/文件头部和公共 API 文档
  2. 检查剩余的 TODO 是否仍然有效且有上下文
  3. 移除或更新过时注释
  4. 记录文档更改
阶段 7:最终验证
  1. 如果可用,运行代码检查工具
  2. 如果可用,运行测试
  3. 确认没有引入逻辑或签名更改
  4. 如果测试失败 → 停止并报告失败情况
阶段 8:任务完成
  1. 自动更新任务状态:

    • 在任务文件中添加一个 ## Cleanup Summary 部分
    • 勾选 DoD 部分中任何未勾选的复选框
    • Hooks 会自动将状态更新为 completed,并设置 completed_date + cleanup_date
  2. 在任务文件中追加 ## Cleanup Summary,包含:

    • 清理的文件
    • 所做的更改
    • 验证清单(代码检查工具、测试、无功能更改)
  3. 将所有待办事项标记为已完成

示例

Spring Boot 清理
/developer-kit-specs:specs.task-implementation --lang=spring --task="docs/specs/001-user-auth/tasks/TASK-001.md" --action=cleanup

操作:

  1. 确认 TASK-001 的状态为 reviewed
  2. 文件:UserController.java、UserService.java、UserRepository.java
  3. 删除 5 条 System.out.println 和 2 个已解决的 TODO
  4. 运行 ./mvnw spotless:apply
  5. 运行 ./mvnw test -q
  6. 将任务标记为 completed
TypeScript 清理
/developer-kit-specs:specs.task-implementation --lang=typescript --task="docs/specs/002-dashboard/tasks/TASK-003.md" --action=cleanup

操作:

  1. 确认 TASK-003 的状态为 reviewed
  2. 文件:Dashboard.tsx、useDashboard.ts、Dashboard.test.tsx
  3. 删除 8 条 console.log 语句
  4. 运行 npm run lint:fix 和 npm run format
  5. 运行 npm test
  6. 将任务标记为 completed

约束和警告

  • 清理期间切勿更改逻辑或签名
  • 如果测试失败,立即停止并报告
  • 标记完成前,确认行为未发生变化

评论

支持 Markdown