mcpField
C
caveman-commit

caveman-commit

github.com/juliusbrussee开发115.8k418.9k 次安装3 天前更新
代码仓库

关于 caveman-commit

caveman-commit 是一个用于生成 Conventional Commits 提交信息的 skill。它输出简短、精确的提交信息,强调说明原因而非重复代码改动,适合希望保持提交历史简洁的开发者。

主要功能

  1. 01Conventional Commits 格式的主题行
  2. 02主题行建议 50 字符以内,上限 72
  3. 03仅在需要时添加正文,说明原因与破坏性变更
  4. 04破坏性变更与安全修复必须附带正文
  5. 05输出可直接粘贴的代码块

适用场景

  1. 01为新增接口生成简洁的提交信息
  2. 02为破坏性 API 变更编写迁移说明
  3. 03为回滚的提交补充背景说明

安装

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

$npx skills add https://github.com/juliusbrussee/caveman --skill caveman-commit

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

附带文件README.md

详细介绍

提交信息要简练、准确。遵循 Conventional Commits 格式。不要废话。重点说明为什么,而非做了什么。

规则

主题行:

  • <type>(<scope>): <imperative summary>,<scope> 可选
  • 类型:feat、fix、refactor、perf、docs、test、chore、build、ci、style、revert
  • 使用祈使语气:"add"、"fix"、"remove",而非 "added"、"adds"、"adding"
  • 尽量不超过 50 个字符,硬性上限为 72 个字符
  • 结尾不加句号
  • 冒号后的大小写与项目约定保持一致

正文(仅在需要时):

  • 主题已足够清晰时,完全省略正文
  • 仅在以下情况添加正文:不明显的原因、破坏性变更、迁移说明、关联的 issue
  • 在 72 个字符处换行
  • 列表符号使用 -,而非 *
  • 在末尾引用 issue/PR:Closes #42、Refs #17

绝不应包含的内容:

  • "This commit does X"、"I"、"we"、"now"、"currently",diff 已说明做了什么
  • "As requested by...",请改用 Co-authored-by 尾注
  • "Generated with Claude Code" 或任何 AI 署名,除非用户自身规则要求 Assisted-by/AI 署名尾注,此时应将其作为尾注添加
  • Emoji(除非项目约定要求)
  • 当 scope 已体现文件名时,重复文件名

示例

Diff:新增用户资料接口,正文说明原因

  • ❌ "feat: add a new endpoint to get user profile information from the database"
  • ✅
    feat(api): add GET /users/:id/profile
    
    Mobile client needs profile data without the full user payload
    to reduce LTE bandwidth on cold-launch screens.
    
    Closes #128
    

Diff:破坏性 API 变更

  • ✅
    feat(api)!: rename /v1/orders to /v1/checkout
    
    BREAKING CHANGE: clients on /v1/orders must migrate to /v1/checkout
    before 2026-06-01. Old route returns 410 after that date.
    

Auto-Clarity

以下情况始终包含正文:破坏性变更、安全修复、数据迁移,以及撤销先前提交的变更。切勿将这些压缩为仅主题行,未来的调试者需要上下文。

边界

仅生成提交信息。不运行 git commit,不暂存文件,不执行 amend。以可直接粘贴的代码块形式输出提交信息。"stop caveman-commit" 或 "normal mode":恢复为详细的提交信息风格。

评论

支持 Markdown