# KBX Quality Gates v4

## 자동 Architecture Gate

`node scripts/validate-kbx.mjs`

현재 검증:

1. 업무 모듈에서 `primevue/*` 직접 import 금지
2. 업무 모듈에서 `ag-grid-*` 직접 import 금지
3. Screen Definition Manifest 생성
4. Screen ID 중복 검사
5. Screen ID 명명 규칙 검사
6. 최소 version/type 누락 검사
7. Migration 파일 순서 검사

## Gitea Actions

`.gitea/workflows/kbx-quality-gate.yaml`

Gitea Actions가 GitHub Actions 호환 문법을 상당 부분 지원하므로 `actions/checkout@v4`와 일반 shell step을 사용한다.

Starter에는 실제 host repository의 lockfile과 `.sln/.slnx`가 없으므로 다음 검증은 조건부로 구성했다.

- `pnpm-lock.yaml`이 존재하면 install/typecheck/test/build
- `.sln` 또는 `.slnx`가 존재하면 restore/build/test

실제 제품 repository에 병합할 때는 lockfile을 반드시 commit하고 조건부 skip을 제거해 **필수 Gate**로 승격한다.

## Code Review Gate

자동검증으로 잡기 어려운 항목:

- 새 Screen Type이 정말 필요한가
- 기존 KBX Component로 해결할 수 없는가
- 업무 Rule이 UI에 들어가 있지 않은가
- 사용자 입력/클릭을 불필요하게 추가하지 않았는가
- Excel/Keyboard/예외 흐름이 필요한 화면인가

이 항목은 PR Template 체크리스트로 운영하는 것을 권장한다.
