간편하게 프로젝트 커밋 규칙을 준수하는 커밋을 생성하세요.
커밋할 범위를 지정할 수 있으며 범위를 지정하지 않으면 변경 사항 전체를 대상으로 커밋을 합니다.
프로젝트의 커밋 규칙이 없는 경우, 각 커밋은 하나의 논리적 변경만 담도록 구성하고 Conventional Commits 1.0.0 메시지 형식을 사용합니다.
- 범위 인식: 변경 사항 전체 또는 지정한 파일/폴더만 커밋할 수 있습니다.
- 안전한 커밋: 현재 커밋에 속하지 않는 변경과 staging 상태를 그대로 보존합니다.
- 프로젝트 규칙 준수: 프로젝트 자체 커밋 규칙을 먼저 따르고 부족한 부분에만 내장 지침을 적용합니다.
- 기본 커밋 원칙: 프로젝트에 커밋 단위에 대한 별도 규칙이 없다면, 각 커밋에는 하나의 논리적 변경만 담고 서로 독립적인 변경은 별도 커밋으로 나눕니다.
- 민감 정보 보호: API 키, token, 로그인 정보, private key와 같은 민감한 정보의 커밋을 방지합니다.
- 커밋 제외 설정: 제외 경로를 설정하면 스킬 자체에서 해당 경로의 커밋을 방지할 수 있습니다.
- Git hook 실행: 일반
git commit을 사용하므로 설정된 Git hook이 그대로 실행됩니다. - 커밋 외 동작 제한: 커밋 생성에 필요한 확인과 Git 작업만 수행합니다. 테스트, lint, build, whitespace 검사 등의 프로젝트 명령을 실행하거나 push, branch 생성·전환, tag 생성, pull request 생성을 하지 않습니다.
현재 프로젝트에서 사용하려면 다음 명령어를 실행하세요.
npx skills add audok/git-commit모든 프로젝트에서 사용하려면 -g 옵션을 추가하세요.
npx skills add audok/git-commit -g수동 스킬 호출 또는 커밋을 요청하세요. 범위를 지정하지 않으면 현재 변경 사항 전체를 커밋합니다.
커밋해줘.
특정 파일이나 폴더만 커밋하거나, 이미 커밋 대상으로 선택해 둔(staging된) 변경 사항만 커밋하도록 범위를 지정할 수도 있습니다.
src/auth.py의 변경 사항만 커밋해줘.
git-commit 스킬을 사용해서 staging된 변경 사항만 커밋해줘.
프로젝트에 커밋 규칙이 있다면 해당 규칙을 가장 먼저 따릅니다. 커밋을 나누는 기준이나 메시지 형식이 정해져 있지 않은 경우에만 기본 규칙 references/guidelines.md를 적용합니다.
커밋 메시지는 Conventional Commits 1.0.0 형식을 사용합니다.
API 키, token, 로그인 정보, private key와 같은 민감한 정보는 커밋하지 않습니다.
스킬이 절대 커밋하면 안 되는 파일이나 폴더는 설치된 스킬의 references/exclusions.md에 지정하세요. 이 파일은 기본적으로 비어 있습니다.
작성 방법은 .gitignore와 같습니다. 각 규칙은 프로젝트의 최상위 폴더를 기준으로 위에서 아래 순서대로 적용됩니다.
.env*
local-scratch/*
!local-scratch/example.env위 예시는 이름이 .env로 시작하는 파일과 local-scratch 폴더의 파일을 제외하되, local-scratch/example.env만 다시 허용합니다.
제외 규칙은 파일이 staging되어 있거나 사용자가 직접 커밋을 요청한 경우에도 항상 적용됩니다.
| 이런 경우 | 이렇게 동작합니다 |
|---|---|
| 커밋할 수 있는 변경 사항이 없음 | 빈 커밋을 만들지 않고 종료합니다 |
| merge, rebase, cherry-pick, revert가 진행 중이거나 충돌이 해결되지 않음 | 커밋을 중단하고 현재 프로젝트 상태를 알려줍니다 |
| 요청한 범위 밖의 파일이나 폴더가 있음 | 변경 내용과 staging 상태를 그대로 둡니다 |
| 제외 규칙에 해당하는 파일이나 폴더가 있음 | staging되어 있거나 직접 요청했어도 커밋하지 않습니다 |
| 민감한 정보를 발견함 | 민감한 정보가 포함된 변경을 커밋하지 않습니다 |
| Git hook이 커밋을 거부함 | 다시 시도하거나 검사를 건너뛰지 않고 중단하며, 앞서 만든 커밋은 그대로 둡니다 |
--no-verify로 검사를 건너뛰거나 --amend로 기존 커밋을 수정하지 않으며, Git 설정도 변경하지 않습니다.
이 스킬은 현재 프로젝트에 로컬 커밋만 생성합니다. 다음 작업은 자동으로 하지 않습니다.
- 테스트, lint, build, whitespace 검사 등의 프로젝트 명령 실행
- 커밋을 원격 저장소에 올리는 push
- branch 생성 또는 전환
- tag 또는 pull request 생성
원격 저장소에 변경 사항을 반영하려면 커밋이 완료된 뒤 push를 별도로 진행해야 합니다.
커밋이 완료되면 각 커밋의 짧은 ID와 메시지를 한 줄씩 보여줍니다.
커밋 완료했습니다.
- `1ed8644` feat: add git commit skill
- `0bdfd1d` test: add git commit evaluation harness
남은 미커밋 변경은 없습니다.
커밋하지 않은 변경 사항이 있다면 그 이유도 함께 알려줍니다. 커밋에 실패하면 어느 단계에서 왜 실패했는지 알려줍니다.
SKILL.mdreferences/guidelines.md는 프로젝트에 별도 규칙이 없을 때 사용할 기본 커밋 규칙을 담습니다.references/exclusions.md는 커밋에서 제외할 파일과 폴더를 지정하는 파일입니다.
모든 스킬 파일은 아래의 한국어 파일을 원본으로 합니다. 영어로 작성된 파일은 해당 한국어 원본을 AI로 번역한 것이며, 내용 및 해석에 관한 모든 기준은 한국어 원본을 따릅니다.
docs/SKILL.ko.md는 한국어로 작성되었으며,SKILL.md의 원본입니다.docs/guidelines.ko.md는 한국어로 작성되었으며,references/guidelines.md의 원본입니다.