Skip to content

micsama/aicommit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aicommit

一个基于 AI 的 Git 提交信息生成 CLI。它会读取已暂存的 diff(或 amend 模式下的对比差异),调用远程模型生成符合 Conventional Commits 的中文提交信息,并支持一键复制与确认提交。

主要功能

  • 从暂存区生成提交信息,避免无关改动污染。
  • 交互式选择普通提交或 --amend
  • diff 过大时自动截断并提示。
  • 可选自动 git add 支持的源码文件类型。
  • 生成结果自动复制到剪贴板。

安装与构建

cargo build

使用方法

  1. 暂存变更:
git add .
  1. 设置环境变量(示例):
export TOOL_BASE_URL="https://your-api-host/v1/chat/completions"
export TOOL_MODEL_NAME="your-model"
export TOOL_API_KEY="your-key"
  1. 运行:
cargo run
  1. 按提示选择提交方式并确认(双击 Enter 触发提交)。

运行时说明

  • 只读取暂存区文件;若暂存区为空,会提示并可选择自动 git add 已支持的文件类型。
  • amend 模式下会基于上一次提交生成对比(若无历史提交则使用 --root)。
  • 生成的提交信息符合 Conventional Commits,主题为中文动词开头,必要时包含简短正文列表。

支持的文件类型

默认支持:.py, .rs, .js, .ts, .go, .cpp, .c, toml, lua, nu。可在 src/config.rs 中调整。

常见问题

  • 如果 AI 无返回或请求失败,请检查 TOOL_BASE_URL 是否为可用的 SSE 接口,以及网络/密钥配置。
  • 若 diff 太大导致截断,请考虑拆分提交或减少暂存文件。

许可

根据项目需要补充(当前未声明)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages