用途:ce-commit 用于从当前工作区改动创建一次精心编写的 git 提交,通常在用户说“commit”“commit this”“save my changes”“create a commit”或类似意思时触发。
主要能力:它会收集 git status、工作区 diff(git diff HEAD)、当前分支、最近提交(git log --oneline -10)以及远程默认分支等上下文;判断应采用的提交信息规范,优先级为仓库既有约定、最近提交历史中的模式、默认 conventional commits(type(scope): description)。它还会扫描改动文件,识别可拆分的逻辑关注点(仅按文件分组),必要时创建多个提交,但建议控制在两到三个。
使用方式:在 Claude Code 中可直接使用预填充的上下文,不必重跑命令;其他平台执行资料提供的单条 printf 命令一次性收集全部上下文。确定默认分支时,从 origin/main 形式中剥离 origin/ 前缀,若返回 DEFAULT_BRANCH_UNRESOLVED 或裸 HEAD,则尝试 gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name',都失败则回退到 main。工作树干净时报告无可提交并停止;处于 detached HEAD 时会通过平台的阻塞式提问工具询问是否创建分支,用户同意则用 git checkout -b <branch-name> 创建。若当前分支为 main、master 或默认分支,会在提交前自动创建功能分支。暂存时优先按文件名指定文件,避免 git add -A 或 git add . 误含敏感文件,并使用 heredoc 保留提交信息格式:git add file1 file2 file3 && git commit -m "$(cat <<'EOF' ... EOF)"。提交后运行 git status 确认并报告提交哈希与主题行。
限制:资料未提供收费、价格或平台支持范围等信息;分组仅限文件级别,不使用 git add -p 拆分同一文件内的 hunk。