pebkac-push은(는) 무엇을 하나요?
리베이스를 주택 담보 대출 상품으로 착각하는 사람들을 위한 엔터프라이즈급 Git 위생 도구
개요
PEBKAC 푸시는 Git 사용 시 발생하는 일반적인 실수를 방지하고 자동으로 수정하는 도구입니다. 특히 다음 사용자에게 적합합니다:
- Git 개념에 익숙하지 않은 주니어 개발자
- 일관된 커밋 히스토리를 유지하려는 팀
- 코드 리뷰 전 자동 검사가 필요한 프로젝트
주요 기능
- 자동 커밋 메시지 검사: 설정된 규칙에 따라 커밋 메시지 포맷 검증
- 브랜치 네이밍 규칙:
feature/,bugfix/,hotfix/등 표준 브랜치 이름 강제 - 민감 정보 누출 방지: 비밀번호, API 키 등이 실수로 커밋되는 것을 차단
- 푸시 전 자동 리베이스: 최신 브랜치로 자동 리베이스 후 충돌 확인
- 불필요한 파일 필터링:
node_modules,.env, 로그 파일 등이 커밋되지 않도록 방지
지원 플랫폼
- Claude Code
- Cursor
- Codex
- 모든 표준 Git 워크플로우
설치 및 설정
- 저장소에
pebkac-config.yml파일 생성 - 원하는 규칙 설정 (아래 예시 참조)
- Git 훅 설치:
npx pebkac-push install
설정 예시
rules:
commit-message:
enabled: true
pattern: "^(feat|fix|docs|chore|refactor|test): .{1,72}$"
branch-naming:
enabled: true
patterns:
- "^(feature|bugfix|hotfix|release)/[a-z0-9-]+$"
sensitive-data:
enabled: true
patterns:
- "(?i)(api[_-]?key|secret|password|token)"
auto-rebase:
enabled: false
사용 방법
CLI 명령어
# 현재 브랜치 검사
pebkac-push check
# 커밋 전 검사 (Git 훅)
pebkac-push pre-commit
# 푸시 전 전체 검사
pebkac-push pre-push
# 설정 파일 초기화
pebkac-push init
AI 에이전트 통합
AI 에이전트에서 다음과 같이 사용할 수 있습니다:
# Claude Code에서
claude "pebkac-push로 현재 브랜치 상태를 검사해줘"
# Cursor에서
@pebkac-push check
환경 변수
| 변수명 | 설명 | 기본값 |
|---|---|---|
PEBKAC_CONFIG | 설정 파일 경로 | ./pebkac-config.yml |
PEBKAC_STRICT | 엄격 모드 활성화 | false |
PEBKAC_AUTO_FIX | 자동 수정 활성화 | true |
PEBKAC_SKIP_PATTERNS | 검사 제외 패턴 (쉼표 구분) | "" |
라이선스
MIT