02-code 코드 아키텍처 규칙
Hard Bans (위반 시 auto-fail)
Hard Bans (위반 시 auto-fail)
스택별 규칙은 extensions로 분리되었다:
- React/Frontend:
extensions/frontend-react.md→ 프로파일에extensions: [frontend-react]- FastAPI/Backend:
extensions/backend-fastapi.md→ 프로파일에extensions: [backend-fastapi]아래는 모든 프로젝트에 적용되는 스택 중립 규칙만 포함한다.
공통 (스택 중립 — 모든 프로젝트 적용)
- 하드코딩 시크릿 금지 (API 키, 비밀번호 등) — guard-secrets.sh hook이 커밋 시 이중 탐지 (
tooling.secret_scan) - 프로덕션 로그에 PII(이메일, 토큰, user_id) 미출력
- 리포 전체 스캔 금지 — CLAUDE.md / INTENT.md / docs index에서 참조된 파일만 읽기
아키텍처 원칙
- 과도한 엔지니어링 금지 — 현재 요구사항에 필요한 최소 복잡도
- 비슷한 코드 3줄 이하는 추상화 금지
- 단일 사용 헬퍼/유틸리티 금지
- 미래 요구사항을 위한 설계 금지
새 환경변수 추가 시
.env.example업데이트 필수- 작업 완료 보고에 명시
검증 (커밋 전 필수)
lint-staged + pre-commit hook이 자동 실행 (tooling.lint_staged):
- TS 프로젝트:
eslint --fix(staged.ts/.tsx파일) - Python 프로젝트:
ruff check --fix+ruff format --check(staged.py파일) - Mixed 프로젝트: 위 두 가지 모두 적용
수동 검증이 필요할 때:
npx tsc --noEmit # Frontend 타입 체크
cd backend && ruff check . # Backend lint