用途:为 Go 项目提供结构化的 Git 提交信息规范,帮助生成范围明确、原子化的提交,使提交历史清晰可读。
主要能力:定义 Conventional Commits 格式 <type>(<scope>): <description>,并列出常用类型:feat、fix、refactor、perf、test、docs、chore、ci、style;作用域建议使用包名或模块区域,如 feat(auth)、fix(store/postgres)。支持破坏性变更标记(! 与 BREAKING CHANGE 页脚)、正文与页脚(Fixes #123、Co-authored-by 等)。
提交信息规则:主题行使用祈使语气、类型前缀后小写、结尾不加句号、不超过 72 字符,描述“改了什么”而非“怎么改”;正文与主题间空一行,说明原因与高层差异,按 72 字符换行。
原子提交:每个提交只做一件逻辑变更,能独立编译(go build ./...)、测试通过(go test ./...)、可独立回滚;大改动应拆分为多个提交。
提交前检查:运行 goimports -w .、golangci-lint run、go build ./...、go test -race ./...、go mod tidy,任一步失败先修复再提交。
提交流程:按文件暂存(git add 具体文件而非 git add .),用 git diff --staged 检查,再 git commit -m 或打开编辑器写长信息。交互式 rebase 需编辑器,代理无法驱动:可用 git commit --fixup <sha> 与 GIT_SEQUENCE_EDITOR=: git rebase -i --autosquash main 非交互整理,重排或改写提交信息应交由开发者自行执行 git rebase -i main。
不应提交:生成文件、IDE 配置、系统文件、二进制与构建产物、含密钥的 .env、vendor/(除非项目政策要求)。
限制:资料未提供该技能的安装方式、平台支持、收费与具体调用接口,暂未提供。