mcpField
S
smart-commit

smart-commit

github.com/rohitg00开发2.9k173 次安装4 周前更新
代码仓库

关于 smart-commit

smart-commit 是面向编码 Agent 的提交工作流技能,可运行质量检查、审查暂存的生产代码,并引导按规范提交。

主要功能

  1. 01运行 lint、类型检查和受影响的测试
  2. 02扫描暂存代码中的常见问题
  3. 03起草 Conventional Commit 消息
  4. 04指定文件暂存并提交
  5. 05报告检查结果和提交哈希

适用场景

  1. 01准备提交代码变更
  2. 02提交前检查暂存的生产代码
  3. 03按项目约束创建提交

安装

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

$npx skills add https://github.com/rohitg00/pro-workflow --skill smart-commit

安装后在 Claude Code 中输入/smart-commit确认已加载。

详细介绍

智能提交

触发条件

当用户说“commit”“save changes”,或完成更改后准备提交时使用。

工作流

  1. 检查当前状态,并确定要提交的内容。
  2. 运行质量检查(对受影响的文件执行 lint、类型检查和测试)。
  3. 检查已暂存的更改是否存在问题。
  4. 根据差异起草一条符合 Conventional Commits 规范的提交消息。
  5. 按名称暂存特定文件,并创建提交。
  6. 询问用户此次更改有哪些经验值得记录。

命令

git status
git diff --stat

npm run lint 2>&1 | tail -5
npm run typecheck 2>&1 | tail -5
npm test -- --changed --passWithNoTests 2>&1 | tail -10

git add <specific files>
git commit -m "<type>(<scope>): <summary>"

代码审查扫描

提交前,检查已暂存的生产代码(非测试文件)是否存在以下问题:

  • console.log / debugger 语句(测试文件中的此类语句不予提示,详见“审查时忽略的内容”)
  • 没有关联工单的 TODO/FIXME/HACK 注释(例如,TODO(JIRA-123) 可以保留)
  • 硬编码的密钥或 API 密钥
  • 遗留的仅用于测试的代码

继续之前,先指出发现的问题。

提交消息格式

<type>(<scope>): <short summary>

<body - what changed and why>

类型: feat、fix、refactor、test、docs、chore、perf、ci、style

限制

  • 除非用户明确要求,否则绝不跳过质量检查。
  • 按名称暂存特定文件。绝不使用 git add -A 或 git add .。
  • 摘要不超过 72 个字符。正文说明原因,而非内容。
  • 不要使用笼统的消息(例如“修复错误”“更新代码”)。
  • 适用时引用问题编号。

输出

  • 质量检查结果(通过/失败)
  • 在已暂存更改中发现的问题
  • 建议的提交消息
  • 提交后的提交哈希
  • 询问:是否有值得记录的经验?

审查时忽略的内容

提交前扫描时,不要提示以下内容。这些提示会带来噪声,却无法发现真正的错误:

  • 阈值、配置值或功能标志的更改(限制、超时时间、重试次数)
  • 不会改变运行时行为的导入顺序调整
  • 仅涉及空白字符或格式的更改
  • 在测试文件中添加或移除 console.log
  • TODO/FIXME 注释(由问题跟踪系统单独管理)
  • 不会改变行为的变量或参数重命名

评论

支持 Markdown