一个供 AI 编程代理使用的 Git 工作流技能,可将改动整理为规范提交、创建分支并安全推送。
Everduin94/better-commits
一个 TypeScript 命令行工具,通过交互式提示生成符合 Conventional Commits 规范的提交信息。
- Star
- 2,284
- Fork
- 80
- 未关闭 Issue
- 6
- 最近提交
- 2个月前
这是什么?
better-commits 是一个命令行工具,用于按照 Conventional Commits 规范生成 git 提交信息。你不需要手写格式,只需依次回答提示,填写类型、范围、工单号、标题、正文和页脚,确认预览后再完成提交。
工具会从当前分支名中推断工单号、提交类型和范围,常用字段因此可以自动填好。配置文件 .better-commits.jsonc 可设为全局或按仓库生效,可以自定义类型列表、emoji、标题长度限制等。配套命令 better-branch 用于按统一规则创建分支或 worktree,并支持创建前后执行钩子命令。
在自动化场景中,可以使用 --no-interactive 配合命令行参数跳过提示直接生成提交,适合脚本和编码类 AI 助手调用;--dry-run 则可在不实际提交的前提下校验生成的 git commit 命令。
核心功能
- 01通过引导式提示生成 Conventional Commits 格式的提交信息,提交前可预览
- 02从分支名中推断工单号、范围和提交类型
- 03支持全局或按仓库的 JSONC 配置文件
- 04通过 better-branch 统一命名规则创建分支或 worktree
- 05提供 --no-interactive 和命令行参数,便于脚本与编码助手调用
适用场景
- 团队统一遵循 Conventional Commits 规范,保持提交历史整洁
- 根据分支名(如 feature/TICKET-123-描述)自动填入工单号和范围
- 让 AI 编码助手无需交互即可生成规范的提交信息
- 为每个功能分支按统一规则创建 git worktree
快速上手
- 1
使用 npm 全局安装 CLI(需要 Node.js 20 或更新版本)
npm install -g better-commits - 2
在仓库中运行 CLI 创建提交
better-commits
使用前须知
- 需要 Node.js 20 或更新版本。
标签
常见问题
- better-commits 是什么?
- 一个 TypeScript 命令行工具,通过交互式提示生成符合 Conventional Commits 规范的提交信息。 better-commits 是一个命令行工具,用于按照 Conventional Commits 规范生成 git 提交信息。你不需要手写格式,只需依次回答提示,填写类型、范围、工单号、标题、正文和页脚,确认预览后再完成提交。
- better-commits 可以免费使用吗?用的什么许可证?
- better-commits 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- better-commits 还在维护吗?
- 半年内有更新。better-commits 最近一次提交是在 2026年8月26日。
- better-commits 适合用来做什么?
- 团队统一遵循 Conventional Commits 规范,保持提交历史整洁 根据分支名(如 feature/TICKET-123-描述)自动填入工单号和范围 让 AI 编码助手无需交互即可生成规范的提交信息 为每个功能分支按统一规则创建 git worktree
- better-commits 怎么安装和运行?
- 使用 npm 全局安装 CLI(需要 Node.js 20 或更新版本): npm install -g better-commits 在仓库中运行 CLI 创建提交: better-commits
- 在哪里获取 better-commits?
- 源代码和安装说明在 GitHub 上:https://github.com/Everduin94/better-commits
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个命令行工具,在本地启动类 GitHub 风格的网页界面,用于查看和评审 Git 提交差异,评论可复制为 AI 提示词。
为 Claude Code CLI 提供可高度定制的状态栏,显示模型、Git 分支、Token 用量等信息。
一个用 Rust 编写的 Git worktree 管理 CLI,可按分支名切换和管理工作树,适合并行运行多个 AI 编程代理。
用 Rust 编写的 Claude Code 极简状态栏,在终端中显示模型、Git 状态、工作目录和上下文用量。