|
| 1 | +# Claude Manifest |
| 2 | + |
| 3 | +이 문서는 AI 코딩 에이전트가 `kusitms-admin`에서 작업하기 전에 어떤 지침을 읽어야 하는지 정의합니다. |
| 4 | + |
| 5 | +## 부트 순서 |
| 6 | + |
| 7 | +1. `CLAUDE.md` 또는 `AGENTS.md`에서 프로젝트 개요를 읽습니다. |
| 8 | +2. 이 manifest를 읽습니다. |
| 9 | +3. 코드 변경 작업에서는 Tier 1 규칙을 로드합니다. |
| 10 | +4. Tier 2 규칙과 admin API/domain reference는 작업에 필요한 경우에만 로드합니다. |
| 11 | + |
| 12 | +## Tier 1: 기본 로드 |
| 13 | + |
| 14 | +| 파일 | 목적 | |
| 15 | +| --- | --- | |
| 16 | +| `.claude/rules/code-quality.md` | 코드 품질 원칙 | |
| 17 | +| `.claude/rules/project-constraints.md` | 프로젝트 금지/제약 조건 | |
| 18 | +| `.claude/rules/workflow.md` | 기본 inspect-edit-verify 작업 흐름 | |
| 19 | +| `.claude/rules/verification.md` | 검증 명령 선택 기준 | |
| 20 | + |
| 21 | +Tier 1은 코드 변경, 리뷰, 리팩터링처럼 실제 작업이 시작될 때만 로드합니다. 단순 질문이나 설명 요청에서는 `CLAUDE.md`와 이 manifest만으로 답합니다. |
| 22 | + |
| 23 | +## Tier 2: 필요 시 로드 |
| 24 | + |
| 25 | +| 작업 | 로드할 문서 | |
| 26 | +| --- | --- | |
| 27 | +| 파일 배치, import, 구조 판단 | `.claude/rules/architecture.md` | |
| 28 | +| TypeScript, React, 네이밍, 스타일 판단 | `.claude/rules/code-style.md` | |
| 29 | +| 재사용 UI 생성 또는 수정 | `.claude/rules/component-guide.md`, `.claude/references/component-patterns.md` | |
| 30 | +| 서버 상태, API client, form 작업 | `.claude/rules/data-fetching.md` | |
| 31 | +| 테스트 추가 또는 수정 | `.claude/rules/testing.md` | |
| 32 | +| SVG 아이콘 또는 barrel index 생성물 작업 | `.claude/rules/generated-workflows.md` | |
| 33 | +| 어드민 API 연동 추가 | `.claude/references/api/admin.md`와 관련 admin API/domain 문서 | |
| 34 | +| 폼 또는 검증 로직 추가 | `.claude/rules/data-fetching.md`와 관련 domain 문서 | |
| 35 | +| PR/커밋 문구 작성 | `.claude/rules/workflow.md`, `.claude/rules/commit-convention.md` | |
| 36 | +| 구조, 라이브러리, 규칙 변경 결정 | `.claude/decisions/README.md` | |
| 37 | + |
| 38 | +## Skills |
| 39 | + |
| 40 | +| Skill | 용도 | |
| 41 | +| --- | --- | |
| 42 | +| `/scaffold-api` | Swagger 기반 API 함수와 TanStack Query hook 생성 | |
| 43 | +| `/gen-test` | Vitest + Testing Library 테스트 생성 | |
| 44 | +| `/code-review` | 변경 코드 리뷰 | |
| 45 | +| `/commit-kr` | 한국어 커밋 메시지 제안 | |
| 46 | +| `/create-pr` | PR 제목과 본문 초안 작성 | |
| 47 | +| `/figma-to-component` | Figma 디자인을 프로젝트 컴포넌트로 구현 | |
| 48 | +| `/refactor` | 동작 변경 없는 리팩터링 후보 분석과 적용 | |
| 49 | + |
| 50 | +## Hooks |
| 51 | + |
| 52 | +Claude Code 환경에서는 `.claude/settings.json`이 아래 hook을 사용합니다. |
| 53 | + |
| 54 | +- `guard-rules.ps1`: `console.log`, 명시적 `any`, `npm`/`yarn`, Tailwind v3 설정 생성을 차단합니다. |
| 55 | +- `lint-check.ps1`: TypeScript 파일 수정 후 가능한 경우 `pnpm exec eslint --quiet <file>`을 실행합니다. |
| 56 | +- `skill-suggest.ps1`: 사용자 프롬프트 키워드에 맞는 local skill을 제안합니다. |
| 57 | + |
| 58 | +## API Reference |
| 59 | + |
| 60 | +관련 admin 파일만 로드합니다. 엔드포인트가 아직 문서화되지 않았다면 Swagger에서 admin 관련 endpoint만 확인하고 reference를 업데이트한 뒤 구현합니다. |
| 61 | + |
| 62 | +| 영역 | 파일 | 트리거 키워드 | |
| 63 | +| --- | --- | --- | |
| 64 | +| 어드민 API 개요 | `.claude/references/api/admin.md` | admin, swagger, API client, axios, fetch | |
| 65 | +| 어드민 인증 | `.claude/references/api/admin-auth.md` | auth, login, token, session | |
| 66 | +| 어드민 멤버 승인 | `.claude/references/api/admin-members.md` | member, pending, approve, reject | |
| 67 | +| 어드민 프로젝트 | `.claude/references/api/admin-projects.md` | project, meetup, corporate | |
| 68 | +| 어드민 학회원 후기 | `.claude/references/api/admin-reviews.md` | review, member review | |
| 69 | +| 어드민 블로그 후기 | `.claude/references/api/admin-blog-reviews.md` | blog review, blog | |
| 70 | +| 어드민 학회 소개 | `.claude/references/api/admin-introductions.md` | introduction, intro, banner | |
| 71 | + |
| 72 | +## Domain Reference |
| 73 | + |
| 74 | +| 도메인 | 파일 | 트리거 키워드 | |
| 75 | +| --- | --- | --- | |
| 76 | +| 멤버 승인 | `.claude/references/domain/members.md` | pending member, approve, reject | |
| 77 | +| 프로젝트 관리 | `.claude/references/domain/projects.md` | project, meetup, corporate | |
| 78 | +| 학회원 후기 관리 | `.claude/references/domain/reviews.md` | review, member review | |
| 79 | +| 블로그 후기 관리 | `.claude/references/domain/blog-reviews.md` | blog review | |
| 80 | +| 학회 소개 관리 | `.claude/references/domain/introductions.md` | introduction, intro, banner | |
| 81 | + |
| 82 | +## Decision History |
| 83 | + |
| 84 | +프로젝트 구조, 라이브러리, API 처리 방식, 공통 규칙처럼 나중에 반복 논쟁이 생길 수 있는 결정은 `.claude/decisions/`에 기록합니다. |
| 85 | + |
| 86 | +- 단순 구현, 오타 수정, 일회성 UI 조정은 기록하지 않습니다. |
| 87 | +- 새 decision을 만들기 전 `.claude/decisions/README.md`를 먼저 확인합니다. |
| 88 | +- 파일명은 `NNN-short-title.md` 형식을 사용합니다. |
| 89 | + |
| 90 | +## 금지 패턴 |
| 91 | + |
| 92 | +- 모든 reference 파일을 기본으로 로드하지 않습니다. |
| 93 | +- Swagger 전체를 일반 API 기준으로 해석하지 않고, admin 기능에 필요한 endpoint만 사용합니다. |
| 94 | +- 엔드포인트 경로, request body, response shape를 추측해서 만들지 않습니다. |
| 95 | +- `src/services` 또는 `src/views`를 만들지 않고 기존 구조를 사용합니다. |
| 96 | +- 새 UI 라이브러리나 패키지 매니저를 도입하지 않습니다. |
| 97 | +- Tailwind v4 프로젝트에 Tailwind v3 설정을 추가하지 않습니다. |
0 commit comments