aic AI 駆動の git コミット
v0.6.1
auth.ts package.json
+12 −1
3 - const session = getStoredSession()
4 + const session = await refreshToken(stored)
6 + export async function refreshToken(t: string) {
7 + const res = await fetch({
8 + url: '/api/refresh',
9 + method: 'POST',
10 + body: JSON.stringify ({ t }),
11 + })
12 + return res.json()
13 + }
15 + if (session.expired) {
16 + return redirect( '/login?reason=expired')
17 + }
package.json
19 + "next": "^14.2.0"
feat auth
add token refresh endpoint
a4f2c81 1 file
fix ui
redirect on session expiry
b7e9d03 1 file
chore deps
bump next to 14.2.0
c3a1f57 package.json
$ aic commit --all ▋
✓ 3 commits created in 4.2s — view on GitHub →
scroll to decompose ↓

02 — 仕組み

一度インストール → aic と入力 → クリーンなコミット。

  1. 01
    インストール brew install aic
  2. 02
    セットアップ provider · key · model — またはローカルエージェント
  3. 03
    実行 type: aic
  4. 04
    読み取り diff を読む
  5. 05
    起草 メッセージを書く
  6. 06
    コミット 完了 ✓
aic
$ aic
⟢ agent starting
config .aic.yml
model gpt-4o-mini · fast
ready ✓ 0.8s
analyzing repository
⟢ analyzing 12 changed files
auth/refresh.ts ┐ token rotation
auth/verify.ts ┘
Redirect.tsx session expiry fix
package.json ┐ dependency bump
lock.json ┘
3 commit groups identified
━━ proposed plan ━━
1 feat(auth): refresh token rotation
2 fix(ui): redirect on session expiry
3 chore: bump dependencies
→ aic commit --all
✓ abc1234 chore: bump dependencies
✓ def5678 fix(ui): redirect on expiry
✓ ghi9012 feat(auth): refresh token rotation
12 files → 3 commits in 4.2s
▋

03 — 自動バッチ処理

ファイル境界のさらに下へ

1つのファイル、複数のコミット

他のコミットツールはファイル境界で止まります — 1ファイル、1メッセージ。aic は hunk レベルで diff を読むので、3つの関心事に触れる1つのファイルが3つの焦点を絞った conventional コミットになります。ステージなし、コマンド1つ、本当にクリーンに読み返せる履歴。

hunk ごとのバッチ処理 ✦

v0.3.5 で搭載 選択制 Batch Review — v0.5.8 で搭載

ベスト AI コミットツールの中の aic を見る →

17 種類のコミット · WCAG セーフな色

feat improvement fix perf hotfix revert docs deps style ci refactor chore build release security test wip

04 — コンフリクト解決

マージコンフリクトを解決。

マージ途中でコマンド一本。aic は衝突した各ファイルを読み、マーカーのない解決案を提示し、書き込む前に統合 diff を示します。各ファイルは個別の y/n です — 信頼できるものを承認し、残りを拒否し、マージを完了します。

aic がコンフリクトを解決する流れ →

05 — あなたのエージェントを連携

キーではなく、エージェントを連携。

Claude Code、Codex、Cursor、Gemini を既に使っていますか?aic をヘッドレスモードであなたのエージェントに向けます — diff を渡し、エージェントがメッセージを書き、aic がコミットします。API キーもデフォルトモデルも不要:エージェント自身の認証を再利用します。

エージェントバックエンドを見る →

06 — プロバイダとプライバシー

あなたのキー · あなたのモデル

プロバイダを自分で。aic は LLM と直接通信 — 中間業者なし、コミットごとの課金なし、プロキシなし。API キーはあなたのマシンから出ません。

  • OpenAI
  • Anthropic
  • Gemini
  • DeepSeek
  • Groq
  • Ollama
  • xAI
  • Mistral
  • OpenRouter
  • Perplexity
  • Together
  • OpenAI-compatible
OpenAI
gpt-5-mini
Anthropic
claude-haiku-4-5
Gemini
gemini-2.5-flash
DeepSeek
deepseek-v4-flash
Groq
llama-3.3-70b-versatile
Ollama
llama3.3
xAI
grok-4.3
Mistral
mistral-small-latest
OpenRouter
(あなたのモデル)
Perplexity
sonar
Together
meta-llama/Llama-3.3-70B-Instruct-Turbo
OpenAI-compatible
(あなたのモデル)

中間業者なし · コミットごとの課金なし · 呼び出しはあなたのマシンから直接

シークレット・リダクション・ゲート — diff にキーらしい文字列があると送信前に実行を止めます

プロファイルを保存 · aic use で切り替え

07 — フルコントロール

操る · 審査する · 元に戻す

ドラフトを書くのはモデル、主導権はあなた。一回限りのヒントでグルーピングを操り、選択制のバッチ審査で起草前に各プランを承認・却下し、aic undo で実行全体をリセット — コミットは消え、変更はすべて未ステージに戻ります。

  1. 操る aic --hint "keep the parser rewrite separate"
  2. 審査 batch plan: merge · undo-merge · abort
  3. 元に戻す aic undo ✓ run reset, changes unstaged

v0.5.8 で搭載

aic の比較

aicommits や OpenCommit などと比べて aic はどう違う?各比較は相手が勝る点を率直に認めつつ、aic が前に出る箇所を正確に示します。

全ツールの一覧を見る →

08 — インストール

1行で aic をインストール。

  • 無料 & MIT
  • Node.js 不要
  • 12プロバイダー
  • pre-commit フックと共存
  • キーはマシンから出ない
  • 送信前にシークレットをブロック
brew install CaicoLeung/aic/aic

`brew upgrade aic` で更新。Homebrew インストールは自動検出されるので、`aic update` は brew へ誘導します。

そして aic setup を実行してプロバイダ、キー、モデルを選択。