JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 26
  • Score
    100M100P100Q58154F
  • License ISC

AI git commit message generator (OpenAI / Claude)

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (smart-msg) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    smart-msg

    AI 기반 Git 커밋 메시지 자동 생성 도구

    staged 된 git diff 를 분석하여 Conventional Commit 형식의 메시지를 자동으로 생성합니다.
    Google Gemini, OpenAI, Anthropic Claude 를 지원하며, 한국어와 영어 출력을 모두 제공합니다.


    version license node Gemini OpenAI Claude



    목차



    시작하기

    단 두 단계로 모든 설정이 완료됩니다.

    1. 설치

    npm install -g smart-msg

    [!NOTE] Node.js 18 이상이 필요합니다. nvm 사용자라면 nvm use 24 권장.

    2. 로그인

    sm login

    다음 항목을 차례로 선택합니다.

    단계 항목 선택지
    1 AI provider Google Gemini (무료, 기본) / OpenAI / Anthropic Claude
    2 모델 provider 별 권장 모델 목록
    3 출력 언어 한국어 / 영어
    4 메시지 강도 simple / middle / hard
    5 API 키 자동으로 열린 발급 페이지에서 발급 후 입력
    6 글로벌 hook 설치 여부 Yes 권장 (모든 git 저장소에서 자동)

    설정은 ~/.smart-msg/config.json 에 저장되며, 모든 프로젝트에서 동일하게 사용됩니다.

    [!TIP] 6 단계의 글로벌 hook 을 설치하면 별도의 추가 작업 없이 모든 git 저장소에서 자동 메시지 생성이 동작합니다. 프로젝트마다 따로 설정할 필요가 없습니다.



    Provider 선택 가이드

    Provider 비용 키 발급 추천 대상
    Google Gemini 무료 티어 제공 Google AI Studio (카드 등록 불필요) 대부분의 사용자 — 개인 커밋 용도로 한도가 매우 넉넉합니다
    OpenAI (GPT) 사용량만큼 과금 (유료) OpenAI Platform (카드 등록 필수) OpenAI 생태계를 이미 사용 중인 경우
    Anthropic Claude 사용량만큼 과금 (유료) Anthropic Console (카드 등록 필수) Claude 의 메시지 품질을 선호하는 경우

    [!IMPORTANT] ChatGPT Plus / Claude Max 등 구독 결제로는 API 호출이 동작하지 않습니다. 구독 상품과 개발자 API 는 결제 시스템이 분리되어 있으며, OpenAI / Claude 를 사용하시려면 콘솔에서 별도로 카드 등록 또는 크레딧 충전이 필요합니다. 무료로 사용하시려면 Google Gemini 를 선택하시기 바랍니다.



    사용 방법

    설치와 로그인이 완료되었다면, 이후의 사용은 평소 git 사용과 동일합니다.

    git add .
    git commit

    git commit 명령을 실행하면 AI 가 staged 된 변경분을 분석하여 메시지를 자동으로 채워줍니다. 에디터(또는 IDE 커밋 창)에서 메시지를 검토한 뒤 그대로 commit 하거나 수정하여 commit 합니다.

    동작 예시

    $ git add .
    $ git commit
    
    # 에디터(또는 IDE 커밋 창)에 다음 메시지가 자동 입력됩니다.
    feat(auth): add OAuth login flow

    명령줄에서 직접 호출하는 방식 (선택)

    IDE 커밋 창 대신 터미널에서 즉시 메시지를 생성하고 commit 까지 한 번에 진행하려면 다음을 사용합니다.

    git add .
    sm c
    $ sm c
    
    생성된 커밋 메시지:
    feat(auth): add OAuth login flow
    
    ? 이 메시지로 커밋을 진행하시겠습니까? › (Y/n)


    명령어

    명령 설명
    sm login 최초 설정 (provider, 모델, 언어, 강도, 키, 글로벌 hook)
    sm c (= sm commit) staged diff 로 메시지를 생성하고 즉시 commit
    sm config 언어, 강도, 모델 변경
    sm status 현재 저장된 설정 출력
    sm logout 저장된 API 키 제거
    sm uninstall 모든 설정 및 hook 제거
    sm completion <shell> 셸 자동완성 등록 스크립트 출력 (bash/zsh/powershell/clink)


    옵션

    Provider 별 권장 모델

    Provider 권장 모델
    Gemini gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.0-flash
    OpenAI gpt-4.1-nano, gpt-4o-mini, gpt-4.1-mini
    Claude claude-haiku-4-5, claude-3-5-haiku-latest

    Language

    출력 언어
    ko 한국어 (feat, fix 등 type 키워드는 영어 유지)
    en 영어

    Strength

    메시지의 길이와 상세도를 결정합니다.

    simple  —  한 줄 (Conventional Commit 형식)
    feat(auth): add OAuth login flow
    middle  —  첫 줄 + 본문 2~5줄
    feat(auth): add OAuth login flow
    
    - PKCE 기반 OAuth 콜백 처리 추가
    - 로컬 콜백 서버를 임시로 생성
    - 발급된 토큰을 ~/.smart-msg/config.json 에 저장
    hard  —  첫 줄 + README 수준 본문
    feat(auth): add OAuth login flow
    
    기존 API 키 입력 방식은 매번 발급 페이지로 이동하여 복사 및 붙여넣기를
    수행하는 부담이 있었습니다. 표준 OAuth 흐름을 도입하여 이를 해소합니다.
    
    - PKCE flow 로 토큰을 안전하게 획득
    - 로컬 8765 포트에 임시 콜백 서버 운영
    - 토큰은 OS keychain 에 보관
    - 토큰 만료 시 자동 갱신
    
    영향: 기존 API 키 사용자의 동작은 변경되지 않습니다.

    설정 변경

    sm config

    메뉴에서 언어, 강도, 모델 중 하나를 선택하여 변경합니다. provider 자체를 바꾸려면 sm login 을 다시 실행합니다 (다른 provider 의 키는 보존됩니다).



    업데이트

    기존에 설치된 smart-msg 를 최신 버전으로 갱신합니다.

    npm install -g smart-msg@latest

    설치된 버전 확인:

    sm --version
    npm list -g smart-msg

    [!NOTE] 업데이트 후에도 기존 ~/.smart-msg/config.json 의 설정과 API 키는 그대로 유지됩니다. 다시 로그인할 필요가 없습니다.

    새로 추가된 provider (예: Gemini) 를 사용하려면 sm login 을 다시 실행하여 추가 키를 등록할 수 있습니다. 기존 키는 덮어쓰여지지 않습니다.



    자동완성

    sm <TAB> 입력 시 서브커맨드(login, logout, commit 등) 가 자동으로 완성되도록 셸별 등록 스크립트를 제공합니다.

    bash

    echo 'eval "$(sm completion bash)"' >> ~/.bashrc
    source ~/.bashrc

    zsh

    echo 'eval "$(sm completion zsh)"' >> ~/.zshrc
    source ~/.zshrc

    PowerShell

    sm completion powershell | Out-String | Invoke-Expression

    영구 적용을 원하시는 경우 위 줄을 $PROFILE 파일에 추가합니다. (notepad $PROFILE)

    cmd.exe 자체는 사용자 정의 자동완성을 지원하지 않습니다. clink 를 설치하시면 cmd 위에서도 자동완성이 동작합니다.

    sm completion clink > %LOCALAPPDATA%\clink\sm.lua

    새 cmd 창부터 자동완성이 적용됩니다.

    [!NOTE] 순수 cmd.exe 는 자동완성을 지원하지 않습니다. PowerShell 또는 clink 를 사용하시기 바랍니다.



    지원 환경

    smart-msg 는 git 명령이 동작하는 모든 환경에서 동일하게 사용할 수 있습니다.

    터미널

    Git Bash, PowerShell, Windows CMD, macOS Terminal, iTerm2, Linux Bash / Zsh 모두 별도 설정 없이 동작합니다.

    [!NOTE] PowerShell 에서 sm 실행이 차단되는 경우 다음 명령으로 정책을 완화합니다.

    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

    IDE

    IDE 사용 방법
    IntelliJ IDEA / WebStorm / PyCharm Ctrl + K 로 커밋 창을 열면 메시지가 자동으로 채워집니다
    VS Code, Cursor Ctrl + Shift + G 로 Source Control 패널을 열고 commit 시 메시지가 자동으로 채워집니다
    그 외 IDE 내장 터미널이 있는 모든 IDE 에서 동일하게 동작합니다

    [!TIP] IDE 커밋 창 통합은 sm login 의 마지막 단계에서 글로벌 hook 을 설치한 경우에만 동작합니다. 설치하지 않은 경우 sm login 을 다시 실행하여 활성화할 수 있습니다.

    비 Node.js 프로젝트

    smart-msg 는 글로벌 CLI 이므로 프로젝트 언어와 무관하게 동작합니다. Java, Python, Go 등 어떤 언어 프로젝트에서도 동일하게 사용할 수 있으며, node_modules 폴더가 프로젝트에 생성되지 않습니다.



    제거

    sm uninstall
    npm uninstall -g smart-msg

    sm uninstall 이 다음 항목을 모두 정리합니다.

    • 설정 디렉토리 (~/.smart-msg/)
    • 글로벌 git hook 설정 (이전 값이 있다면 복원)
    • 프로젝트별 설치된 hook (있는 경우)

    이후 npm uninstall -g smart-msg 로 패키지 본체를 제거하면 완전히 정리됩니다.

    [!WARNING] npm 은 글로벌 패키지 uninstall 시 lifecycle script 의 실행을 차단합니다. sm uninstall 을 먼저 실행하지 않으면 ~/.smart-msg/ 가 그대로 남아 API 키도 보존됩니다.



    License

    ISC


    Built with TypeScript  ·  Powered by Google Gemini, OpenAI & Anthropic Claude