# CLAUDE.md 이 파일은 AI 코딩 에이전트가 bibimbap 프로젝트에서 작업할 때 따를 프로젝트 지침이다. ## 프로젝트 개요 - Java 21, Spring Boot, JSP, MyBatis 기반 WAR 애플리케이션이다. - 화면은 `/WEB-INF/views/*.jsp`를 사용한다. - DB 접근은 annotation 기반 MyBatis mapper를 사용한다. - 업로드된 프로필 이미지는 `/profile/**`, 게임 WebGL asset은 `/game/{gameUuid}/**`로 제공된다. ## 작업 원칙 - 사용자 변경을 보호한다. 작업 전후로 `git status --short`를 확인한다. - 검색은 우선 `rg`를 사용한다. - 문서-only 분석 요청에서는 `src/`와 `pom.xml`을 수정하지 않는다. - 보안 발견 사항은 `docs/analysis/`에 `file:line` 근거와 함께 기록한다. - 보안 개선 작업은 `docs/security/security-remediation-checklist.md`의 완료 조건을 기준으로 분리한다. ## 보안 원칙 - 상태 변경 요청은 CSRF 검증을 적용한다. - MyBatis SQL은 `#{}` 바인딩을 사용하고 `${}` 동적 치환을 피한다. - 업로드 파일은 크기, 타입, normalize된 저장 경로 boundary를 모두 검증한다. - JSP 출력은 `HtmlUtils.htmlEscape` 또는 JSTL escape를 사용한다. - 클라이언트 렌더링은 가능한 `textContent`를 사용한다. - 세션 관련 변경은 세션 고정 방어와 쿠키 하드닝을 함께 확인한다. ## 문서 위치 - 문서 인덱스: `docs/index.md` - 최신 프로젝트 분석: `docs/analysis/2026-06-16-project-analysis.md` - 보안 개선 체크리스트: `docs/security/security-remediation-checklist.md` ## 문서화 정책 (docs-first) 작업 시작 전 `docs/index.md` → 카테고리 `index.md` → 구체 문서 순으로 읽는다. ## 에이전트 팀 운영 `/atp:task [요청]` 으로 Orchestrator+Advisor+Worker 팀 모드 진입(명시 호출 전용). 위임 토폴로지는 호스트 capability 자가판정(Tier A/A-flat/B)을 따른다 — 번들 `docs/development/platform-adapters.md`. 권위 레퍼런스: atp 플러그인 번들 `docs/development/agent-team-protocol.md`.