用途:这是一个用于 Java 项目的 Git 提交信息生成技能,帮助按 Conventional Commits 格式生成规范、信息量足够的提交信息。触发场景包括完成代码修改后、用户说“commit”“commit changes”“create commit”,以及创建 PR 之前。
格式与类型:提交信息采用 <type>(<scope>): <subject> 结构,可附 body 与 footer。Java 语境常用类型有 feat(新功能/新 API)、fix(缺陷修复)、refactor(重构,无功能变化)、test(新增或更新测试)、docs(仅文档)、perf(性能优化)、build(Maven/Gradle 变更)、chore(依赖更新等维护)。scope 可写模块名(core、api、plugin-loader)、组件(PluginManager、ExtensionFactory)或领域(lifecycle、dependencies、security)。
规则:subject 用祈使句(“Add support”而非“Added support”),句末不加句号,最长 50 字符,类型后小写。body 说明 WHAT 与 WHY 而非 HOW,建议每行 72 字符内,并可用 “Fixes #123”“Relates to #456” 引用 issue。破坏性变更使用 BREAKING CHANGE footer,或在类型后加感叹号。
工作流:用 git diff --staged 分析暂存改动,从修改文件推断 scope,依据改动性质确定类型,生成信息后执行 git commit -m "message"。为节省 token,建议只读取一次暂存改动(git diff --staged --stat 加针对性文件 diff),不必读整份文件,正文控制在 2-3 行,并将多个小改动合并为逻辑提交。
适用场景与限制:适合 Java 项目中需要规范提交历史的日常开发、提交 PR 前整理信息。应避免 “fix stuff”“update code”“changes”“WIP” 这类无意义信息,也不要把不相关改动混在一个提交里,或写入过于细碎的技术实现细节。提交后可按资料建议提示推送改动、为对应 issue 创建 PR 或继续下一任务。资料未提供安装命令、运行环境要求与更具体的平台限制。