Current collected state Current
Observed since 21 Oct, 10:14 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AI-powered Git commit message generator using Conventional Commits
使用 AI 自動生成符合 Conventional Commits 規範的 Git commit 訊息。
採用 gemini-3.1-flash-lite 模型,這是速度最快的 Flash 模型,經過最佳化調整,成本效益最高,輸送量也最大。
+/-),確保 AI 獲得完整的修改內容,避免分析不完整pip install aicommit-joy
uv tool install aicommit-joy
pipx install aicommit-joy
💡 提示:
- 使用
pip是最通用的安裝方式- 使用
uv速度最快(需先安裝 uv)- 使用
pipx會在獨立環境中安裝,避免套件衝突
前往 Google AI Studio 免費取得 API 金鑰。
在您的專案目錄建立 .env 檔案:
echo "GEMINI_API_KEY=your_gemini_api_key_here" > .env
注意: 請將
your_gemini_api_key_here替換為您的實際 API 金鑰。
# 1. 暫存您的變更
git add .
# 2. 執行 aicommit
aicommit
$ cd /path/to/your/project
$ git add .
$ aicommit
🤖 AI 正在分析程式碼變更,請稍候...
------------------------------------
📝 建議訊息: feat: 新增使用者登入功能
------------------------------------
請選擇操作 (y=使用/e=編輯/n=取消): e
======================================================================
✏️ 編輯 Commit 訊息
======================================================================
📋 AI 建議訊息(可複製下方文字進行編輯):
feat: 新增使用者登入功能
──────────────────────────────────────────────────────────────────────
💡 提示:
• 可以複製上面的建議訊息,修改後貼到下方輸入框
• 或直接輸入全新的 commit 訊息
• 快捷鍵: Ctrl+A=行首 | Ctrl+E=行尾 | Ctrl+U=清空
──────────────────────────────────────────────────────────────────────
請輸入 commit 訊息 > feat: 新增使用者登入與註冊功能
✅ 訊息格式正確!
📝 更新後的訊息: feat: 新增使用者登入與註冊功能
是否提交此訊息? (y/n): y
✅ 提交成功!可以使用 git push 上傳
執行 aicommit 後,您可以選擇:
y - 直接使用 AI 生成的訊息提交e - 編輯訊息後再提交
n - 取消提交在編輯 commit 訊息時,支援以下終端快捷鍵:
| 快捷鍵 | 功能 |
|---|---|
| Ctrl+A | 移動游標到行首 |
| Ctrl+E | 移動游標到行尾 |
| Ctrl+U | 清空目前輸入內容 |
| Ctrl+K | 刪除游標到行尾的內容 |
| ←/→ | 左右移動游標 |
aicommit 遵循 Conventional Commits 規範,支援以下 commit 類型:
| Type | 說明 | 範例 |
|---|---|---|
feat | 新增功能 | feat: 新增使用者登入功能 |
fix | 修復 bug | fix: 修復登入頁面顯示錯誤 |
docs | 文件修改 | docs: 更新 API 文件 |
style | 程式碼格式調整 | style: 調整程式碼縮排 |
refactor | 程式碼重構 | refactor: 重構資料處理邏輯 |
perf | 效能優化 | perf: 優化資料庫查詢效能 |
test | 測試相關 | test: 新增登入功能測試 |
build | 建置系統修改 | build: 更新依賴套件版本 |
ci | CI 設定修改 | ci: 新增 GitHub Actions 工作流程 |
chore | 其他雜項修改 | chore: 更新 .gitignore |
revert | 恢復先前提交 | revert: 恢復登入功能變更 |
<type>: <subject>
✅ 正確範例:
feat: 新增使用者登入功能fix: 修復登入頁面顯示錯誤docs: 更新 README 安裝說明❌ 錯誤範例:
feature: 新增功能 → type 錯誤,應為 featfeat 新增功能 → 缺少冒號feat: → subject 為空aicommit --version
aicommit --help
# 使用 pip
pip install --upgrade aicommit-joy
# 使用 uv
uv tool upgrade aicommit-joy
# 使用 pipx
pipx upgrade aicommit-joy
# 使用 pip
pip uninstall aicommit-joy
# 使用 uv
uv tool uninstall aicommit-joy
# 使用 pipx
pipx uninstall aicommit-joy
錯誤訊息:
❌ Error: 找不到 GEMINI_API_KEY
請在當前目錄建立 .env 檔案,內容:GEMINI_API_KEY=你的金鑰
解決方案:
.env 檔案.env 內容格式:GEMINI_API_KEY=your_key_here錯誤訊息:
⚠️ 沒有偵測到暫存的變更(Staged Changes),如有變更請先執行 git add
解決方案:
git add . # 暫存所有變更
git add file1.py file2.py # 暫存特定檔案
可能原因:
解決方案:
aicommit-joy/
├── aicommit_cli/ # 主要套件
│ ├── __init__.py # 套件初始化
│ ├── core.py # 核心功能(Git、AI、驗證)
│ └── cli.py # CLI 入口點
├── pyproject.toml # 專案配置
├── LICENSE # MIT 授權
└── README.md # 專案說明
# 建立測試專案
cd /tmp
mkdir test-repo && cd test-repo
git init
# 建立測試檔案
echo "# Test" > README.md
git add README.md
# 測試 aicommit
aicommit
本專案採用 MIT License 授權。
享受使用 aicommit 的樂趣! 🚀
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.9 | 13 Jul 2026 | 2 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 10:14 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:5e06d0e1fdbc463ccd13397611aa3bcd6328230be932206fa37a0e335d3be65d