aicommits에서 전환
aicommits 대안: aic
aicommits는 확립된 기본값입니다 — 스테이징한 diff당 메시지 하나에 검증된 도구입니다. 진짜 문제가 스테이징하지 않은 작업이 쌓이고 히스토리가 흐려지는 것이라면, aic가 바로 그런 문제를 위해 만들어진 대안입니다: 변경 사항을 논리적 원자 커밋으로 나누고 파일별 승인으로 머지 충돌을 해결합니다.
aicommits에서 전환하는 이유
aicommits는 스테이징한 내용에 메시지 하나를 씁니다 — 하지만 어수선한 작업 트리를 논리 커밋으로 나누지 못하고, 머지를 풀어주지도 못합니다. 둘 다 관심사가 섞인 커밋과 수작업 충돌 해결을 남깁니다.
기능별 비교
| 기능 | aic | aicommits |
|---|---|---|
| 미스테이지 작업을 여러 커밋으로 자동 배치 | 예 — 미스테이지 변경을 논리적이고 원자적인 커밋으로 쪼갬 | 아니오 — 스테이지된 diff당 메시지 하나 |
| 한 파일을 여러 커밋으로 분할(hunk별) | 예 — 인텐트별로 각 hunk를 자체 커밋으로 라우팅 | 아니오 — 기껏해야 파일 단위 |
| 병합 충돌 해결 | 예 — `aic resolve`가 diff를 제안, 파일별로 확인 | 아니오 — 커밋 메시지만 |
| 일급 Anthropic · Gemini · DeepSeek | 예 — 네이티브 프로바이더 | OpenRouter / 커스텀 엔드포인트로만 |
| 런타임과 의존성 | Rust 바이너리 — Node.js 불필요 | Node.js v22+ — npm |
| 프로바이더 도달 범위 | 11개 일급 + OpenAI 호환 | 8 + OpenRouter/커스텀(모든 모델) |
| 커밋 메시지 형식 | Conventional Commits | 일반 · 컨벤셔널 · gitmoji |
| Git 훅 통합 | 아니오 | 예 — prepare-commit-msg 훅 |
| 여러 메시지 후보 | 아니오 | 예 — `--generate N` |
| 프롬프트와 로케일 제어 | 환경변수로 시스템 프롬프트 | `--prompt`, locale, max-length |
| 인기와 생태계 | 신규, 소규모 | 자리 잡은 선발 |
다음이라면 aic로:
…스테이징하지 않은 작업이 쌓여 깨끗하고 원자적인 conventional 커밋으로 만들고 싶다면(단일 파일 안에서도) — 또는 Node.js 설치 없이 AI로 해결된 머지 충돌을 원한다면.
다음이라면 aicommits에 유지:
…`prepare-commit-msg` 훅에 의존하고, gitmoji 또는 일반 형식을 원하고, 여러 메시지 후보가 필요하거나, 가장 큰 커뮤니티의 안정감을 원한다면.
전환 방법
- aic 설치:
brew install CaicoLeung/aic/aic - 한 번만 설정: `aic setup` 실행 — 프로바이더·키·모델을 하나의 마법사에서
- 커밋: 작업을 스테이징하고 `aic` 실행; aic가 스테이징하지 않은 작업을 자동으로 배칭합니다