Skip to content

seyun31/commitHelper

Repository files navigation

👾 Commit Helper

CI npm

AI 기반 Git commit message 자동 생성 CLI 도구


🎯 문제 정의

  • 어떤 커밋 타입을 사용해야 할지 판단하기 위해 코드를 일일이 확인해야 하는 번거로움
  • 팀에서 모두가 일관된 형식의 커밋 메시지를 작성하여 사용하기 어려움
  • "파일명 수정" 같은 모호한 커밋 메시지 대신 구체적인 변경 내용이 필요함
  • github, commit이 익숙하지 않은 개발자들이 쉽게 사용할 수 있도록 도와줌

➡️ CommitHelperAI를 활용하여 git diff를 분석하고, 구체적이고 기술적인 커밋 메시지를 자동으로 생성합니다!


🚀 설치

# 전역 설치
npm install -g @seyun31/commithelper

# npx 사용 (권장)
npx @seyun31/commithelper

# 로컬 설치
npm install @seyun31/commithelper

💡 기본 사용법

  1. 코드를 자유롭게 수정하고 추가합니다.

  2. 변경 사항을 스테이지에 올립니다.

git add .
  1. commitHelper 명령을 실행합니다.
npx commitHelper
  1. AI가 분석한 구체적인 커밋 메시지를 확인하고 선택하거나, 직접 입력 후 최종 확인을 거쳐 커밋이 수행됩니다. 예시 1: AI 추천 메시지 선택
$ git add .
$ npx commitHelper

? ✨ 추천 commit message를 선택하세요: (Use arrow keys)
> refactor: 프롬프트 엔지니어링으로 commit 타입 분류 정확도 개선
  refactor: Groq API 연동 및 에러 처리 로직 추가
  ✏️ 직접 입력

# 사용자가 화살표로 첫 항목 선택 후 Enter
✔ ✨ 추천 commit message를 선택하세요: refactor: 프롬프트 엔지니어링으로 commit 타입 분류 정확도 개선

? ✅ 최종 commit message로 "refactor: 프롬프트 엔지니어링으로 commit 타입 분류 정확도 개선" 을(를) 사용하시겠습니까? (Y/n) y

[main 123abcd] refactor: 프롬프트 엔지니어링으로 commit 타입 분류 정확도 개선
 2 files changed, 150 insertions(+), 30 deletions(-)

예시 2: 직접 입력

$ git add .
$ npx commitHelper

? ✨ 추천 commit message를 선택하세요: (Use arrow keys)
  feat: 사용자 인증 로직 추가
  fix: 로그인 오류 수정
> ✏️ 직접 입력

# 사용자가 직접 입력 옵션 선택 후 Enter
? ✏️ 직접 commit message를 입력하세요: docs: README에 API 설정 가이드 추가

? ✅ 최종 commit message로 "docs: README에 API 설정 가이드 추가" 을(를) 사용하시겠습니까? (Y/n) y

[main 456def0] docs: README에 API 설정 가이드 추가
 1 file changed, 25 insertions(+)

📖 커밋 타입 레퍼런스

AI가 분석하여 자동으로 분류하는 커밋 타입:

커밋 타입 설명 AI 분류 기준
test 테스트 파일 추가/수정 .test., .spec. 파일
style 코드 포맷팅, 세미콜론 등 로직 변경 없이 포맷만 변경
fix 버그 수정 오류 수정, 예외 처리 개선
refactor 코드 리팩터링 기능 변경 없이 코드 재구성
feat 새로운 기능 추가 완전히 새로운 기능 구현
remove 코드/파일 삭제 파일이나 기능 제거
etc 그 외 변경 문서, 설정 파일, 의존성 등

🛠️ 개발 & 품질 보증

  • 빌드 환경

    • TypeScript 기반으로 개발되었으며, npm run build1를 통해 dist/ 디렉토리에 JavaScript로 트랜스파일됩니다.
    • CLI 실행을 위한 bin설정이 되어 있으며, 실제 배포 시 실행 파일이 dist/bin/cli.js로 출력됩니다.
  • Lint & Format

npm run lint # ESLint 검사
npm run format # Prettier 자동 포맷
  • 테스트
npm test # Jest 유닛 테스트 실행
  • CI/CD

    1️⃣ npm ci 의존성 설치

    2️⃣ npm run lint 코드 스타일 검사

    3️⃣ npm run build TypeScript build

    4️⃣ npm test Jest 유닛 테스트

About

Git commit message를 자동으로 추천해주는 CLI 도구

Resources

Stars

Watchers

Forks

Packages

No packages published