ID: key_26_22_05_25_18_01_00_00000 Created date: 5월 25 2026 월요일, 22주 18:00
연관 문서
개요
befw-app-server 레포에서 Claude Code가 개발을 진행하려면
레포 루트의 CLAUDE.md 파일에 아래 항목이 정의되어 있어야 한다.
프로젝트 파일 위치
befw-app-server/
├── CLAUDE.md ← ★ Claude Code가 읽는 핵심 파일
├── pom.xml
└── src/
└── main/
├── java/
│ └── com/tsh/starter/befw/
│ ├── controller/ ← API 엔드포인트
│ ├── service/ ← 비즈니스 로직
│ ├── repository/ ← DB 접근 (ORM 레이어)
│ ├── domain/ ← 엔티티 / VO
│ └── config/ ← Spring 설정 (Security, CORS 등)
└── resources/
├── application.yml ← 환경 설정
└── db/migration/ ← Flyway SQL 파일 위치 (V1__init.sql 등)
CLAUDE.md 정의 항목 및 예시
1. 기술 스택 요약
## Tech Stack
- Language: Java 21 (--enable-preview)
- Framework: Spring Boot 3.x
- Build: Maven
- ORM: JPA (Hibernate) / MyBatis ← 결정 후 하나만 기재
- DB: PostgreSQL 15
- Auth: JWT (Access Token + Refresh Token)
- Internal Framework: befw-lib-core (com.tsh.starter.befw)작성 필요: ORM 종류 확정 후 기재
2. befw-lib-core 제공 기능 목록
## befw-lib-core 제공 기능
- CommonResponse<T>: 공통 API 응답 래퍼
- GlobalExceptionHandler: 전역 예외 처리
- JwtUtil: 토큰 발급 / 검증 유틸
- BaseEntity: createdAt, updatedAt 공통 필드
- (추가 항목을 직접 기재)작성 필요: 실제
befw-lib-core소스를 열어 공개된 클래스/유틸 목록 기재
3. API 응답 포맷 (공통 JSON 구조)
## API Response Format
### 성공
{
"success": true,
"data": { ... },
"message": null
}
### 실패
{
"success": false,
"data": null,
"message": "에러 메시지",
"errorCode": "ISSUE_NOT_FOUND"
}작성 필요:
CommonResponse클래스의 실제 필드명 기준으로 수정
4. 에러 코드 체계
## Error Code Convention
- 포맷: {도메인}_{상태}
- 예시:
- AUTH_UNAUTHORIZED
- AUTH_TOKEN_EXPIRED
- ISSUE_NOT_FOUND
- ISSUE_INVALID_STATUS
- PROJECT_ACCESS_DENIED작성 필요: 실제 사용할 에러 코드 목록 정의
5. 패키지 구조 규칙
## Package Convention
com.tsh.starter.befw.{도메인명}
└── controller/ @RestController, @RequestMapping("/api/v1/{도메인}")
└── service/ @Service, 비즈니스 로직
└── repository/ @Repository, JPA/MyBatis
└── domain/ @Entity, @Table
└── dto/ Request/Response DTO (record 사용 권장)작성 필요: 실제 패키지 구조가 다르면 수정
6. 로컬 실행 방법
## Local Setup
1. PostgreSQL 실행 (포트 5432, DB명: custom_jira_dev)
2. application-local.yml 환경변수 설정
3. ./mvnw spring-boot:run -Dspring-boot.run.profiles=local작성 필요: 실제 실행 명령 및 DB 접속 정보 포맷 기재
7. 환경변수 목록
## Environment Variables (application.yml)
spring.datasource.url=jdbc:postgresql://localhost:5432/custom_jira_dev
spring.datasource.username=
spring.datasource.password=
jwt.secret=
jwt.access-token-expiry=3600
jwt.refresh-token-expiry=604800작성 필요: 실제 키 이름 확인 후 기재 (값은 빈칸으로)
연관 메일