diff --git a/CLAUDE.md b/CLAUDE.md index ce9967e..01818f2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -397,3 +397,131 @@ php artisan config:clear | `npm-release-manager` | NPM 패키지 배포 자동화 | **사용 방법**: `/skill-name` 형식으로 호출 (예: `/code-quality-checker`) + +--- + +## 문서 작성 규칙 (개발팀 협약 - 필수 준수) + +> **경고: 개발자들이 `sam/docs`의 문서 작성 기법을 준용하기로 협약했습니다. 모든 문서 작성 시 반드시 따르세요!** + +### 참조 경로 + +- **인덱스**: `/home/aweso/sam/docs/INDEX.md` (전체 문서 목록 및 폴더 구조) +- **작업 전 확인**: 작업 유형에 맞는 문서를 `INDEX.md`에서 찾아 먼저 읽고 시작 + +### 폴더 선택 기준 (의미 기반 분류) + +| 폴더 | 질문 | 설명 | +|------|------|------| +| `plans/` | "무슨 작업을 할 것인가?" | 임시 개발 계획 (완료 후 삭제) | +| `standards/` | "어떻게 코드를 작성할 것인가?" | 코딩 컨벤션, 스타일 가이드 | +| `architecture/` | "왜 이렇게 설계하는가?" | 시스템 설계, 아키텍처 결정 | +| `rules/` | "무엇이 유효한 데이터인가?" | 비즈니스 규칙, 검증 규칙 | +| `specs/` | "무엇을 구현할 것인가?" | 기술 스펙, DB 스키마 | +| `guides/` | "어떻게 구현할 것인가?" | 단계별 구현 매뉴얼 | +| `features/` | 기능별 상세 | 기능 단위 심층 문서 | +| `changes/` | "무엇이 변경되었는가?" | 완료된 변경 이력 | + +### 파일명 규칙 + +- **일반 문서**: `kebab-case.md` (소문자 + 하이픈) 예: `api-rules.md`, `item-policy.md` +- **변경 이력**: `YYYYMMDD_short_description.md` 예: `20260109_handover_report_api.md` +- **폴더 인덱스**: `README.md` (대문자) +- **크기 목표**: 10KB 이하 +- **새 문서 작성 시**: 반드시 `docs/INDEX.md`에 추가 + +### 문서 구조 템플릿 + +#### 정책/규칙 문서 (`rules/`, `standards/`) + +```markdown +# 제목 + +> **작성일**: YYYY-MM-DD +> **상태**: 설계 확정 + +--- + +## 1. 개요 +### 1.1 목적 +### 1.2 핵심 원칙 + +--- + +## 2. 테이블 구조 (해당 시) +### 2.1 ERD 개요 + +--- + +## N. 비즈니스 규칙 +### N.1 검증 규칙 + +--- + +## N. API 엔드포인트 + +--- + +## 관련 문서 + +--- + +**최종 업데이트**: YYYY-MM-DD +``` + +#### 변경 이력 문서 (`changes/`) + +```markdown +# 변경 내용 요약 + +**날짜:** YYYY-MM-DD +**작업자:** Claude Code + +## 변경 개요 + +## 수정된 파일 +| 파일 | 변경 내용 | +|------|----------| + +## 상세 변경 사항 + +## 테스트 체크리스트 +- [x] 완료 항목 +- [ ] 미완료 항목 + +## 관련 문서 +``` + +### 작성 스타일 규칙 + +| 항목 | 규칙 | +|------|------| +| **언어** | 한글 기본, 코드/경로/기술 식별자만 영어 | +| **어조** | 서술형 ("X를 해야 한다" 아닌 "X 한다") | +| **경고** | `> **경고: ...**` 블록인용 형식 | +| **금지/필수** | `❌` 금지, `✅` 필수 접두사 | +| **우선순위** | `🔴 필수`, `🟡 중요`, `🟢 권장` | +| **섹션 번호** | `## 1.`, `### 1.1` 번호 매기기 | +| **규칙 번호** | R1, R2, R3... 순차 라벨 | +| **코드 블록** | 반드시 언어 지정 (```php, ```bash, ```json, ```sql) | +| **인라인 코드** | 파일 경로, 메서드명, 변수명, 컬럼명에 백틱 | +| **다이어그램** | `┌─┐│└─┘` 박스 문자, `→` 화살표 사용 | +| **구분선** | `---` 주요 섹션 사이마다 | +| **테이블** | API: `| Method | Path | 설명 |`, 필드: `| 필드 | 타입 | 설명 |` | + +### plans/ 워크플로우 + +1. 개발 계획 문서를 `plans/`에 작성 +2. 작업 진행 +3. 완료 후 결과물을 해당 폴더(`features/`, `changes/` 등)에 정리 +4. plan 문서 삭제 + +### 체크리스트 (문서 작성 시) + +- [ ] 적절한 폴더에 배치 (위 폴더 선택 기준 참고) +- [ ] `kebab-case.md` 파일명 사용 +- [ ] 문서 구조 템플릿 준수 +- [ ] 한글 기본, 기술 용어만 영어 +- [ ] 코드 블록에 언어 지정 +- [ ] `docs/INDEX.md`에 새 문서 등록 +- [ ] 10KB 이하 크기 유지