diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..3bcad04 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,65 @@ +# 프로젝트 개요 + +- **타입**: Java + Spring Boot + Maven +- **JDK**: 17 (`.sdkmanrc` 참조) +- **프레임워크**: Spring Boot +- **빌드 도구**: Maven (Maven Wrapper 사용) + +## 빌드 및 실행 + +```bash +# 빌드 +./mvnw clean compile + +# 패키징 +./mvnw clean package -DskipTests + +# 테스트 +./mvnw test + +# 특정 테스트 클래스 실행 +./mvnw test -Dtest=클래스명 + +# 로컬 실행 +./mvnw spring-boot:run + +# 린트 (Checkstyle 설정된 경우) +./mvnw checkstyle:check +``` + +## 프로젝트 구조 + +``` +src/ +├── main/ +│ ├── java/ +│ │ └── com/gcsc/{프로젝트}/ +│ │ ├── config/ # 설정 클래스 +│ │ ├── controller/ # REST 컨트롤러 +│ │ ├── service/ # 비즈니스 로직 +│ │ ├── repository/ # 데이터 접근 +│ │ ├── domain/ # 엔티티 +│ │ ├── dto/ # 데이터 전송 객체 +│ │ ├── exception/ # 예외 처리 +│ │ └── util/ # 유틸리티 +│ └── resources/ +│ ├── application.yml # 공통 설정 +│ ├── application-local.yml # 로컬 설정 (.gitignore) +│ └── application-prod.yml # 운영 설정 +└── test/ + └── java/ # 테스트 코드 +``` + +## 팀 규칙 + +- 코드 스타일: `.claude/rules/code-style.md` 참조 +- 네이밍 규칙: `.claude/rules/naming.md` 참조 +- 테스트 규칙: `.claude/rules/testing.md` 참조 +- Git 워크플로우: `.claude/rules/git-workflow.md` 참조 +- 팀 정책: `.claude/rules/team-policy.md` 참조 + +## 의존성 관리 + +- Nexus 프록시 레포지토리를 통해 의존성 관리 (`.mvn/settings.xml`) +- 새 의존성 추가 시 `pom.xml`에 버전 명시 +- Spring Boot BOM 범위 내 의존성은 버전 생략 가능