문제는 Claude Code 의 기본 명령 /init 이 프로젝트를 겉만 보고 설정을 만든다는 점이었습니다. 패키지 설정 파일과 안내 문서만 읽고, 어디에나 맞는 뻔한 견본(제네릭 템플릿)을 채워 넣습니다. 그래서 프로젝트의 소스 코드 전체(코드베이스)를 9단계로 깊이 읽어, 그 프로젝트만의 코딩 습관을 Claude에게 학습시키는 도구를 따로 만들었습니다. Claude Code 에서는 이런 도구를 스킬(특정 작업의 절차를 가르치는 지시문 묶음)이라고 부릅니다. 결과물은 실제로 이 프로젝트에서 쓰는 코딩 방식을 뽑아 담은 설정 파일들입니다.
"프로젝트가 뭔지" 수준
CLAUDE.mdpackage.json · READMECLAUDE.md"어떻게 코딩하는지" 수준
P1| 감지 파일 | 식별 스택 |
|---|---|
package.json | Node.js / NPM 생태계 (자바스크립트 실행 환경과 그 패키지 관리자) |
pom.xml / build.gradle | Java / Kotlin (Spring Boot) |
pubspec.yaml | Flutter / Dart |
requirements.txt / pyproject.toml | Python / FastAPI |
go.mod | Go |
Cargo.toml | Rust |
*.csproj | .NET / C# |
Dockerfile / docker-compose.yml | 컨테이너 환경 (앱을 격리된 상자에 담아 어디서나 같은 방식으로 실행) |
P2P3CLAUDE.md 생성P4backend-patterns.mdP5frontend-patterns.mdSWR)
스타일링 방식 (Tailwind, CSS Modules 등)
라우팅 구조
폼 처리 방식
P6qa-strategy.mdP7auto-issue.mdP8qa-scenarios.mdP9settings.jsonCLAUDE.md
—
프로젝트 전체 맥락(컨텍스트). 기술 스택, 빌드 명령, 구조 설명
auto-issue.md
—
자동 이슈 생성 규칙 및 분류 기준
backend-patterns.md
—
API 레이어, 네이밍, 에러 처리 패턴 (7개 항목)
frontend-patterns.md
—
컴포넌트 구조, 상태 관리, 스타일링 패턴 (6개 항목)
qa-strategy.md
—
테스트 전략, 커버리지 목표, 모킹 방식
qa-scenarios.md
—
프로젝트 고유 QA(품질 검사) 시나리오와 엣지 케이스
settings.json
—
Claude Code 동작 설정 (명령 허용/금지, 권한 스코프)
mvn clean package
실행:
mvn spring-boot:run
테스트:
mvn test
# 일반 가이드라인
- RESTful API 설계 원칙 준수
- 단위 테스트 작성 권장
- 코드 리뷰 필수JPA
레이어 구조:
Controller → Service → Repository
네이밍:
- camelCase (변수, 메서드)
- Entity 접미사 (UserEntity)
- Dto 접미사 (CreateUserDto)
테스트:
mvn test -pl module-name
배포:
./gradlew bootJar → Docker build실제 소스 코드를 읽지 않고 만든 패턴은 의미가 없습니다. 모든 항목은 실제 파일에서 뽑아낸 증거에 근거해야 합니다.
문서에 적은 빌드 명령은 실제로 실행해 검증합니다. 예를 들어 테스트 명령 mvn test가 실패하면 올바른 명령을 찾아 고친 뒤에 기록합니다.
이미 설정해 둔 스킬과 패턴을 덮어쓰지 않습니다. 새로운 분석 결과는 기존 설정 뒤에 덧붙이거나 섹션별로 합칩니다.
"Spring Boot 사용" 한 줄로 끝내지 않습니다. "Kotlin 1.9.25 + Spring Boot 3.5.5 + QueryDSL 7.0, Controller → Service → Repository 레이어"처럼 버전과 구조까지 적습니다.