Skip to Content
예시프로젝트 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도 업데이트하세요.

Last updated on