모든 코드 변경에 항상 적용되는 프로젝트 규칙. 프로젝트 구조, API 규칙, 컨벤션 준수 필수.
수강신청 계획 웹 애플리케이션. Spring Boot MSA + Next.js.
app/backend/ # Spring Boot MSA (Java 21)
├── api-gateway/ # :8080 - JWT 인증, 라우팅
├── user-service/ # :8081 - 사용자 인증
├── catalog-service/# :8083 - 강의 검색
└── planner-service/# :8082 - 시간표, 시나리오, 수강신청
app/frontend/ # Next.js (TypeScript)
└── React Query + shadcn/ui + Tailwind
tests/integration/ # pytest Integration 테스트
scripts/ # 크롤러/유틸리티 (Python, uv)
/api/v1/* → Gateway가 /api/v1 제거 후 내부 서비스로 전달/api/v1/timetables/1 → planner-service /timetables/1excludedCourseIds (Long 배열)excludedCourses (courseId 포함 객체 배열)Authorization: Bearer {token}X-User-Id, X-User-Email 헤더 추가/api/v1/auth/**, /api/v1/universities/**universityId).env, 비밀번호, JWT 시크릿 커밋 금지.agent/skills/를 확인하여 해당 경로/작업과 관련된 Skill 존재 여부를 파악해야 함.dev)에서 npm run build 사용을 엄격히 금지함. (환경 설정 파일 오염 방지)npm run types:check (tsc --noEmit)를 사용하여 부작용 없이 검증 수행.# 백엔드
cd app/backend && ./gradlew clean build
./gradlew :api-gateway:bootRun
./gradlew :planner-service:bootRun
# 프론트엔드
cd app/frontend && npm install && npm run dev
# Integration 테스트 (테스트용 컨테이너 필수)
cp .env.example .env # 최초 1회: 프로젝트 루트 .env 설정
docker compose -f docker-compose.yml -f docker-compose.test.yml up -d --build
sleep 20
cd tests/integration && uv sync && uv run pytest -v
docker compose -f docker-compose.yml -f docker-compose.test.yml down
# Docker (백엔드)
cp .env.example .env # 최초 1회: 프로젝트 루트 .env 설정
docker compose up --build # 개발용 (API: :8080)
docker compose -f docker-compose.yml -f docker-compose.test.yml up # 테스트용 (API: :8080, tmpfs DB)
docs/architecture.md - API Gateway, 엔티티 설계docs/features.md - 기능별 사용자 시나리오docs/guides.md - 개발 가이드, 코딩 컨벤션