mcpField
C
caveman-commit

caveman-commit

github.com/karnonson开发149 次安装20 周前更新
代码仓库

关于 caveman-commit

caveman-commit 是用于生成提交消息的技能,采用 Conventional Commits 格式并强调简洁、准确地说明原因。它只输出可粘贴的消息,不会暂存文件或执行 git commit。

主要功能

  1. 01按 Conventional Commits 格式生成消息
  2. 02遵循主题长度与祈使语气规则
  3. 03仅在必要时添加正文
  4. 04为破坏性变更和安全修复补充说明
  5. 05不暂存文件或执行提交

适用场景

  1. 01为功能或修复撰写提交主题
  2. 02说明破坏性变更或迁移原因
  3. 03为安全修复或回滚补充背景
  4. 04生成可直接粘贴的提交消息

安装

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

$npx skills add https://github.com/karnonson/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