@ckpack/ai-commit
v1.2.0
Published
根据 git diff 信息 生成符合 Conventional Commits 的提交信息.
Readme
ai-commit
使用 Codex 或 Gemini CLI 根据 git diff 生成符合 Conventional Commits 的提交信息。
功能
- 读取暂存区或工作区 diff(优先暂存区)
- 自动忽略常见锁文件与日志文件
- 生成单行 commit message,长度不超过 50 个字符
- 支持
codex(默认)与gemini子命令 - AI 执行失败时自动回退为本地摘要
- 支持 debug 模式输出关键诊断信息(输出到 stderr)
安装
pnpm add -D @ckpack/ai-commit或全局安装:
pnpm add -g @ckpack/ai-commit使用
在包含变更的 git 仓库中运行:
ai-commitai-commit 默认等同于 ai-commit codex,你也可以显式指定:
ai-commit codex
ai-commit gemini调试模式:
ai-commit --debug
ai-commit codex --debug
ai-commit gemini --debug输出示例:
feat: add commit message generator你也可以直接调用源码(开发时):
pnpm dev -- codex
pnpm dev -- gemini环境变量
CODEX_BIN:Codex 可执行文件名,默认codexCODEX_ARGS:传给 Codex 的参数,默认execGEMINI_BIN:Gemini 可执行文件名,默认geminiGEMINI_ARGS:传给 Gemini 的参数,默认-pAI_COMMIT_DEBUG:开启调试日志(1/true/on开启,0/false/off/no关闭)
示例:
CODEX_BIN=codex CODEX_ARGS="exec" ai-commit codex
GEMINI_BIN=gemini GEMINI_ARGS="-p" ai-commit gemini
AI_COMMIT_DEBUG=1 ai-commit codex生成逻辑
- 优先读取
git diff --staged,为空则读取git diff - 默认忽略:
**/*.log、**/pnpm-lock.yaml、**/package-lock.json、**/yarn.lock - 生成的消息需匹配 Conventional Commits:
type(scope?): description,描述不超过 50 个字符 - Codex / Gemini 返回异常或不符合规范时,回退为
chore: update <files>
开发
pnpm dev # 运行源码
pnpm build # 构建 dist
pnpm typecheck # TS 类型检查
pnpm lint # 修复 lint许可
MIT
