프로젝트 유형별(Web, API, CLI, Library)로 서로 다른 CLAUDE.md를 작성하는 방법
요약
프로젝트 유형(Web, API, CLI, Library)에 따라 최적화된 CLAUDE.md 작성 프레임워크를 제안합니다. 단일 템플릿 대신 프로젝트의 특성에 맞춰 우선순위 섹션을 구성함으로써 AI의 작업 효율을 높이는 방법을 다룹니다.
핵심 포인트
- 프로젝트 유형별로 서로 다른 지침과 우선순위 설정 필요
- Web App은 UI 및 상태 관리, API는 엔드포인트 및 타입 정의에 집중
- CLI 도구는 입출력 분리와 인자 파싱 규칙이 핵심
- 라이브러리는 공개 API의 안정성을 최우선으로 고려
당신은 하나의 CLAUDE.md 템플릿을 가지고 있습니다. 그리고 그것을 모든 새로운 프로젝트에 복사해서 넣습니다. 하지만 당신의 CLI 도구는 UI 컴포넌트 규칙이 필요하지 않고, API 서버는 라우팅 컨벤션(routing conventions)이 필요하지 않으며, npm 라이브러리는 데이터베이스 액세스 패턴(database access patterns)에 관심이 없습니다.
단일 템플릿은 모든 것을 다룰 수 없습니다. 서로 다른 프로젝트 유형에는 서로 다른 지침이 필요합니다.
저희의 AI Autonomous Revenue Project에서 20개 이상의 프로젝트에 걸쳐 CLAUDE.md를 설정한 후, 저희는 명확한 프레임워크를 개발했습니다: 프로젝트 유형을 식별한 다음, 그에 따라 우선순위를 정하는 것입니다.
모든 CLAUDE.md에 필요한 3가지 (유형에 관계없이)
프로젝트 유형별로 나누기 전에, 모든 CLAUDE.md는 다음과 같은 골격을 공유합니다:
# Stack
- [Language] + [Primary framework/library]
- [Package manager]
...
이것은 당신의 보편적인 토대입니다. 아래의 모든 내용은 이것을 기반으로 구축됩니다.
Type A: Web Application (Frontend + Backend)
차이점
- 과도한 UI 컴포넌트 생성
- 많은 구조적 결정 (라우팅 (routing), 상태 관리 (state management), 인증 (auth))
- 파일 배치 규칙이 매우 중요함
우선순위 섹션
# Architecture
- Rendering: 기본적으로 Server Components 사용, 필요한 경우에만 "use client" 사용
- Data fetching: 데이터 변경(mutations)에는 Server Actions, 쿼리(queries)에는 fetch() 사용
...
제외할 항목
- 배포 설정 (npm publish가 필요 없음)
- SemVer 규칙 (앱은 일반적으로 이런 방식으로 버전을 관리하지 않음)
Type B: API Server (No Frontend)
차이점
- 엔드포인트(Endpoint) 설계가 핵심 활동임
- 요청/응답(Request/response) 타입 정의가 가장 중요함
- 모든 경로(route)에서 에러 핸들링(Error handling)이 일관되어야 함
우선순위 섹션
# API Design
- Response format: { data: T | null, error: { code, message } | null }
- Status codes: 200 (ok), 400 (validation), 401 (auth), 404 (missing), 500 (server)
...
제외할 항목
- UI 규칙, 컴포넌트 구조, 스타일링
- 상세한 라우팅 컨벤션 (프레임워크가 이를 처리함)
Type C: CLI Tool
차이점
- stdin/stdout/stderr 분리가 중요함
- 인자 파싱 (Argument parsing) 및 도움말 메시지의 일관성
- 에러 메시지는 개발자가 아닌 사용자를 대상으로 함
우선순위 섹션 (Priority Sections)
# CLI 컨벤션 (CLI Conventions)
- 진입점 (Entry point): src/cli.ts
- 인자 파싱 (Argument parsing): commander/yargs 사용 — 수동 process.argv 방식 금지
...
제외할 항목 (Skip These)
- 데이터베이스 규칙
- 인증/세션 관리 (Auth/session management)
- UI/스타일링
Type D: Library / Package (라이브러리 / 패키지)
차이점
- 공개 API (Public API) 안정성이 최우선 사항임
- 하위 호환성 (Backward compatibility) 및 유의적 버전 (SemVer)은 타협 불가능한 요소임
- 문서화 (JSDoc/docstrings)는 선택이 아닌 필수임
우선순위 섹션 (Priority Sections)
# 공개 API 규칙 (Public API Rules)
- 모든 export는 src/index.ts (배럴 파일, barrel file)를 통해 이루어짐. 딥 임포트 (Deep imports) 금지
- 모든 공개 함수: @param, @returns, @example을 포함한 JSDoc 작성
...
제외할 항목 (Skip These)
- 배포 절차 (CI/CD가 이를 처리함)
- 프레임워크 라우팅/미들웨어
- 데이터베이스 액세스
빠른 결정 차트 (Quick Decision Chart)
프로젝트에 UI가 있는가?
├─ 예 → Type A (Web App)
└─ 아니오
...
하이브리드 프로젝트 (CLI + API, 모노레포)의 경우, 각 서브 패키지에 적절한 유형을 독립적으로 적용하세요.
요약 표 (Summary Table)
| 유형 | 집중할 사항 | 제외해도 안전한 사항 |
|---|---|---|
| A: Web App | 파일 배치, UI 규칙, 라우팅 | 배포 (Publishing), SemVer |
| ... |
템플릿으로 시작하기
처음부터 설정을 시작하는 과정을 건너뛰고 싶다면:
🎁 Claude Code Config Starter Pack (무료) — Type A, B, D를 아우르는 3가지 템플릿 (Next.js, TypeScript Library, Python FastAPI).
🛠️ Claude Code Config Pack — 20개 템플릿 ($5) — Go, Rust, Flutter, Terraform, Django 등을 포함하여 4가지 유형 모두를 다루는 20가지 프로젝트 구성.
📘 The AI Coding Prompt Toolkit ($5) — 프로젝트 설정, 구현, 테스트 및 리팩터링을 위한 52개의 프롬프트.
어떤 프로젝트 유형에서 CLAUDE.md를 사용하시나요? 제가 다루지 않은 프로젝트 유형 — 데이터 파이프라인 (data pipelines), 모바일 앱 (mobile apps), 임베디드 시스템 (embedded systems) 등에 대한 설정 방식이 있다면 꼭 듣고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기