예시
프로젝트 CLAUDE.md

프로젝트 CLAUDE.md

프로젝트 루트에 위치하는 CLAUDE.md 파일의 예시입니다.

기본 구조

# 프로젝트: [프로젝트 이름]
 
## 개요
프로젝트에 대한 간단한 설명
 
## 기술 스택
- Frontend: Next.js, TypeScript, TailwindCSS
- Backend: FastAPI, Python
- Database: Supabase (PostgreSQL)
 
## 주요 규칙
1. 규칙 1
2. 규칙 2
3. 규칙 3
 
## 파일 구조
프로젝트의 주요 디렉토리 설명
 
## 코드 스타일
코딩 컨벤션 및 스타일 가이드

실제 예시: Next.js 프로젝트

# 프로젝트: My E-commerce Platform
 
## 개요
React + Next.js 기반 이커머스 플랫폼. 사용자 인증, 상품 관리, 결제 기능 포함.
 
## 기술 스택
- **Frontend**: Next.js 15 (App Router), TypeScript, TailwindCSS
- **Backend**: Next.js API Routes
- **Database**: Supabase (PostgreSQL)
- **결제**: Stripe
- **인증**: NextAuth.js
 
## 주요 규칙
 
### 코딩 규칙
1. 모든 컴포넌트는 함수형 컴포넌트 사용
2. TypeScript strict 모드 필수
3. 테스트 커버리지 80% 이상 유지
4. console.log 프로덕션 코드에서 금지
 
### Git 규칙
1. 커밋 메시지는 한글로 작성
2. 컨벤셔널 커밋 형식 사용
3. PR 생성 시 테스트 필수
 
### 보안 규칙
1. 하드코딩된 시크릿 금지
2. 모든 입력 검증 필수
3. SQL 인젝션 방지
 
## 파일 구조
 
\`\`\`
src/
├── app/                    # Next.js App Router
│   ├── api/               # API 라우트
│   ├── (auth)/           # 인증 관련 페이지
│   └── (shop)/           # 쇼핑 관련 페이지
├── components/            # React 컴포넌트
│   ├── ui/               # 기본 UI 컴포넌트
│   └── features/         # 기능별 컴포넌트
├── lib/                  # 유틸리티
└── types/                # TypeScript 타입
\`\`\`
 
## 코드 스타일
 
### 컴포넌트 구조
\`\`\`typescript
interface Props {
  // props 정의
}
 
export function ComponentName({ prop1, prop2 }: Props) {
  // 로직
  return (
    // JSX
  )
}
\`\`\`
 
### API 응답 형식
\`\`\`typescript
interface ApiResponse<T> {
  success: boolean
  data?: T
  error?: string
}
\`\`\`
 
## 실행 방법
 
\`\`\`bash
# 개발 서버
npm run dev
 
# 테스트
npm test
 
# 빌드
npm run build
\`\`\`
 
## 환경 변수
 
\`\`\`bash
# .env.local
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
STRIPE_SECRET_KEY=
NEXTAUTH_SECRET=
\`\`\`

실제 예시: Python 백엔드 프로젝트

# 프로젝트: API Server
 
## 개요
FastAPI 기반 RESTful API 서버. 마이크로서비스 아키텍처.
 
## 기술 스택
- **Framework**: FastAPI
- **ORM**: SQLAlchemy
- **Database**: PostgreSQL
- **Cache**: Redis
- **Queue**: Celery
 
## 주요 규칙
 
### 코딩 규칙
1. PEP 8 준수
2. Type hints 필수
3. Docstring 작성 (Google 스타일)
4. 테스트 커버리지 80% 이상
 
### API 규칙
1. RESTful 설계 원칙 준수
2. 버전 관리 (/api/v1/)
3. 일관된 응답 형식
4. 적절한 HTTP 상태 코드 사용
 
## 파일 구조
 
\`\`\`
app/
├── api/
│   └── v1/
│       ├── endpoints/    # API 엔드포인트
│       └── deps.py       # 의존성
├── core/
│   ├── config.py        # 설정
│   └── security.py      # 보안
├── models/              # SQLAlchemy 모델
├── schemas/             # Pydantic 스키마
├── services/            # 비즈니스 로직
└── tests/               # 테스트
\`\`\`
 
## 코드 스타일
 
### 엔드포인트 구조
\`\`\`python
@router.get("/{item_id}", response_model=ItemResponse)
async def get_item(
    item_id: int,
    db: Session = Depends(get_db),
    current_user: User = Depends(get_current_user),
) -> ItemResponse:
    """아이템 조회."""
    item = await item_service.get(db, item_id)
    if not item:
        raise HTTPException(status_code=404, detail="Item not found")
    return item
\`\`\`
 
## 실행 방법
 
\`\`\`bash
# 개발 서버
poetry run uvicorn app.main:app --reload
 
# 테스트
poetry run pytest
 
# 마이그레이션
poetry run alembic upgrade head
\`\`\`

CLAUDE.md 작성 팁

효과적인 CLAUDE.md 작성을 위한 팁

1. 간결하게 유지

  • 핵심 정보만 포함
  • 중복 피하기
  • 필요시 다른 문서 참조

2. 구체적인 규칙

# 좋음
- 함수는 50줄 미만으로 유지
- 테스트 커버리지 80% 이상
 
# 나쁨
- 코드를 깨끗하게 유지
- 테스트 작성

3. 예시 포함

규칙을 설명할 때 코드 예시를 포함하세요.

4. 정기적 업데이트

프로젝트가 발전함에 따라 CLAUDE.md도 업데이트하세요.