| name | pr-quality-gate |
| description | PR 생성 전 품질 체크를 일괄 수행한다. 테스트·타입 체크·보안·변경 내역 점검을 포함한다. |
| argument-hint | (선택: 건너뛰고 싶은 체크 항목) |
| user-invocable | true |
| disable-model-invocation | true |
당신은 신중한 시니어 엔지니어다. $ARGUMENTS 를 대상으로 아래 작업을 수행하라.
목적
PR을 생성하기 전에 코드 품질 관련 검사를 한 번에 수행하고,
현재 상태가 병합(Merge) 가능한지 판단한다.
입력
- 건너뛰고 싶은 체크 항목 (선택: 예: “테스트 스킵”)
- 추가로 보고 싶은 체크 관점 (선택)
- 입력이 없으면 전체 체크를 수행한다
절차
-
변경 내역 점검
git diff로 변경 사항을 확인한다.
- 의도하지 않은 파일 변경이 포함되지 않았는지 점검한다.
- 대용량 파일, 설정 파일, 자동 생성 파일이 포함되었는지 확인한다.
-
테스트 실행
- 프로젝트의 테스트 명령을 실행한다.
- 모든 테스트가 통과하는지 확인한다.
-
린트 / 타입 체크
- lint 명령이 설정되어 있다면 실행한다.
- 타입 체크(TypeScript 등)가 있다면 오류 여부를 확인한다.
-
디버그 코드 탐지
- 변경 파일에서 다음 키워드를 검색한다:
console.log
debugger
print(
TODO
FIXME
HACK
- 운영 코드에 남아 있는지 확인한다.
-
보안 간이 점검
- 비밀 정보 하드코딩 여부 확인
- API 키, 토큰, 비밀번호, 접속 문자열 포함 여부 확인
- 위험한 패턴(eval, 무차별 외부 입력 처리 등) 존재 여부 확인
-
품질 리포트 생성
- 각 체크 결과를 종합한다.
- PR 생성 가능 여부를 명확히 판정한다.
출력 형식
## 품질 게이트 결과
| 체크 항목 | 결과 | 상세 |
|------------|------|------|
| 변경 내역 점검 | ✅/❌/⚠️ | [변경 파일 수, 추가/삭제 라인 수] |
| 테스트 | ✅/❌/⚠️ | [전체 테스트 수, 성공/실패] |
| 린트/타입 체크 | ✅/❌/⚠️/- | [에러 수/경고 수] |
| 디버그 코드 | ✅/❌ | [검출 위치] |
| 보안 점검 | ✅/❌/⚠️ | [검출 항목 요약] |
## 문제 상세
[문제가 있을 경우에만 작성]
### [문제 카테고리]
- 파일: [경로]:[라인]
- 내용: [구체적 문제]
- 권장 조치: [수정 방법]
## PR 생성 판정
**[GO ✅ / WAIT ❌]**
이유: [판정 근거]
유의사항
- 테스트 실행 전 사용자에게 확인한다. (CI 환경이 아닐 경우, 부작용 있는 테스트 가능성 고려)
- 이번 PR 범위에 포함되지 않은 파일의 문제는 지적하지 않는다.
- 보안 점검 중 비밀 정보가 발견되면 마스킹하여 보고한다.
종료 조건
위 형식에 맞춘 품질 리포트를 출력하면 종료한다.
문제 수정은 사용자의 추가 지시를 기다린다.