用途:Smart Commit 用于把工作区中未提交的改动整理成一组内聚的提交。它先分析改动内容,按相关性分组,再为每组生成与项目既有风格一致的提交信息,默认只输出 git 命令供人工执行,传入 --execute 时可直接执行提交。
主要能力:检测权限与运行模式;从近期提交中学习提交格式、类型词表、主题约定与语言;进行身份与签名诊断;执行 pre-commit 预检;收集改动并排除敏感文件;按高内聚分组;展示包含作者、签名与 AI 守卫信息的提交计划供确认或调整;逐组读取 diff 生成提交信息并做 AI trailer 清理;执行后做验证与提交后泄露检测。
使用方式:默认 manual 模式,仅输出命令;--execute 模式会通过 AskUserQuestion 展示完整提交计划并取得明确批准后再执行。技能通过脚本 smart-commit-inspect.sh 与 smart-commit-execute.sh 工作,若脚本缺失会提示运行 /install-scripts。所有 git 命令会剥离继承的 GIT_* 变量并携带 -C "$REPO_ROOT",以固定仓库、索引与配置。
适用场景:需要把杂乱改动拆成多个语义清晰提交的仓库;希望提交信息自动贴合项目历史风格;新仓库首次提交(无历史时回退到默认 <type>: <subject> 约定)。
限制:直接执行必须显式传入 --execute;身份诊断在无法解析作者或提交者、地址为空、身份来自 $EMAIL 或系统猜测等情况下会中止;在消费方项目中通过 runner 委派 git-profile.sh 可能无法解析,此时走回退路径。具体安装命令与更多细节资料未完整提供。