该工具是一个 git 提交辅助命令,主要用途是在 spaces/[project]/ 目录中创建符合约定式提交格式的 git 提交,同时执行质量检查。
用途
用于在具有元仓库与项目仓库两层结构的项目中保存开发进度,确保提交消息规范、提交前代码通过测试与 lint 检查。
主要能力
- 支持三种调用方式:交互式提交、直接指定提交消息、修正上一次提交。
- 可跳过钩子检查(--no-verify)。
- 自动检测变更所在仓库:仅项目目录变更时提交到项目仓库,仅元仓库目录变更时提交到元仓库,两者均有变更时询问用户选择。
- 默认运行质量检查(如 npm test、npm run lint 等)。
- 按约定式提交格式生成消息:type(scope): description,可选正文,并附带 Co-Authored-By 署名。
- 支持的类型包括:feat、fix、docs、refactor、test、chore。
- 根据变更内容自动推断提交类型,例如 src/ 下新增文件推断为 feat,仅测试文件推断为 test,仅文档推断为 docs。
- 支持关联 issue:在类似 feature/001-auth 的功能分支上,生成带编号的提交消息并附加 Refs 引用。
- 修正模式内置安全检查:确认未推送到远端、确认当前用户为作者。
- 按分支类型决定消息格式:feature/ 分支使用 feat(编号),bugfix/ 分支使用 fix(编号),main/develop 分支不引用 issue。
使用方式
命令格式示例: /commit yourbench /commit yourbench "feat: add auth" /commit coordinatr --amend /commit yourbench "fix: typo" --no-verify
执行流程:检测变更、运行质量检查、审查变更、生成提交消息、关联 issue、执行提交。
适用场景
适用于采用元仓库与项目仓库分离结构、需要规范化提交消息、希望在提交前自动运行测试与 lint 的开发工作流。
限制
项目必须存在于 spaces/[project]/ 目录,否则报错;若目标不是 git 仓库需先执行 git init;测试失败时需先修复才能提交;无变更时无法提交;已推送的提交无法使用修正模式,需创建新提交。其他未提供的信息暂未说明。