kdysetting - 프로젝트 개발 체계 셋팅
00-general-pro-web 폴더의 개발 규칙 템플릿을 현재 프로젝트에 적용하여 체계적인 개발 환경을 구축합니다.
기본 경로
GENERAL_PRO 결정 순서:
1. 환경변수 GENERAL_PRO_PATH
2. CWD가 00-general-pro* 내부이면 해당 루트
3. ~/{develop,dev}/00-general-pro-web 존재 탐색
4. 실패 시 AskUserQuestion: "00-general-pro-web 경로를 입력해주세요"
GENERAL_PRO = {결정된 경로}
소스 위치
$GENERAL_PRO/01-dev-rules-system/
├── 02-project-template/ → 기본 프로젝트 구조 (필수)
├── 03-dev-templates/ → 코드 템플릿 (선택)
├── 04-dev-stages/ → 개발 단계 가이드 (선택)
├── 05-code-quality/ → 코드 품질 규칙 (선택)
├── 06-tech-rd/ → 기술 R&D 구조 (선택: R&D 프로젝트)
└── 07-parallel-dev/ → 병렬 개발 셋업 (선택: 다중 터미널)
실행 단계
Phase 1: 현재 프로젝트 분석
# 프로젝트 루트 확인
pwd
# 기존 CLAUDE.md 존재 여부
ls -la CLAUDE.md 2>/dev/null
# 기존 docs 구조 확인
ls -la docs/ 2>/dev/null
# 프로젝트 타입 감지
ls -la package.json pyproject.toml requirements.txt Cargo.toml go.mod 2>/dev/null
Phase 2: 사용자 확인
기존 파일이 있으면 덮어쓸지 확인:
## 프로젝트 셋팅 확인
**현재 프로젝트:** [프로젝트 경로]
**프로젝트 타입:** [Next.js / Python / etc.]
### 복사될 내용:
1. ✅ CLAUDE.md + .mcp.json
2. ✅ .claude/ 구조
- hooks-template.json + hooks/ (3개 스크립트)
- skills/ (manage-skills, verify-implementation)
3. ✅ docs/ 구조
- commands, guides, handover (전체), locks, logs, references, rules, status
### 선택 옵션:
- [ ] 코드 템플릿 (03-dev-templates/)
- [ ] 개발 단계 가이드 (04-dev-stages/)
- [ ] 코드 품질 규칙 (05-code-quality/)
- [ ] 기술 R&D 구조 (06-tech-rd/) — spikes/, poc/ 폴더 + R&D 가이드
- [ ] 병렬 개발 셋업 (07-parallel-dev/) — contracts/, 터미널별 프롬프트
- [ ] MCP 프리셋 (03-dev-templates/mcp/presets/) — MCP 서버 사전 설정
진행하시겠습니까?
Phase 3: 기본 구조 복사
# 소스 경로
SRC="$GENERAL_PRO/01-dev-rules-system/02-project-template"
# 3-1. CLAUDE.md + .mcp.json 복사
cp "$SRC/CLAUDE.md" ./CLAUDE.md
cp "$SRC/.mcp.json" ./.mcp.json 2>/dev/null || true
# 3-2. .claude/ 구조 복사 (hooks, 프로젝트 스킬)
mkdir -p .claude/hooks .claude/skills/manage-skills .claude/skills/verify-implementation
cp "$SRC/.claude/hooks-template.json" .claude/hooks-template.json 2>/dev/null || true
cp "$SRC/.claude/hooks/"* .claude/hooks/ 2>/dev/null || true
cp "$SRC/.claude/skills/manage-skills/SKILL.md" .claude/skills/manage-skills/ 2>/dev/null || true
cp "$SRC/.claude/skills/verify-implementation/SKILL.md" .claude/skills/verify-implementation/ 2>/dev/null || true
# 3-3. docs 구조 복사 (기존 내용 보존하며 병합)
mkdir -p docs/commands docs/guides docs/handover/archive docs/locks docs/logs docs/references docs/rules docs/status/history
# commands (전체)
cp "$SRC/docs/commands/"* docs/commands/ 2>/dev/null || true
# guides
cp "$SRC/docs/guides/"* docs/guides/ 2>/dev/null || true
# handover (README + _index + next-dev-prompt 전부)
cp "$SRC/docs/handover/"*.md docs/handover/ 2>/dev/null || true
# locks
cp "$SRC/docs/locks/README.md" docs/locks/ 2>/dev/null || true
# logs
cp "$SRC/docs/logs/"* docs/logs/ 2>/dev/null || true
# references (_index + _NAVIGATION_MAP + _TEMPLATE_REFERENCE)
cp "$SRC/docs/references/"* docs/references/ 2>/dev/null || true
# rules (coding-stacks 제외 — Phase 3.5에서 처리)
cp "$SRC/docs/rules/"*.md docs/rules/ 2>/dev/null || true
# status
cp "$SRC/docs/status/current.md" docs/status/ 2>/dev/null || true
Hooks 활성화:
.claude/hooks-template.json은 참고 템플릿입니다. Hooks를 활성화하려면.claude/settings.local.json의 hooks 필드에 병합하세요.
Phase 3.5: 스택별 코딩 규칙 필터링
Phase 1에서 감지한 프로젝트 타입에 따라 해당 스택의 coding-stacks 규칙만 복사합니다. 불필요한 스택 규칙은 Claude 컨텍스트 윈도우를 낭비하므로 복사하지 않습니다.
# coding-stacks 디렉토리 생성
mkdir -p docs/rules/coding-stacks
# _index.md는 항상 복사
cp "$SRC/docs/rules/coding-stacks/_index.md" docs/rules/coding-stacks/ 2>/dev/null || true
스택 매핑 테이블:
| 감지 파일 | 스택 | 복사 대상 |
|---|---|---|
package.json + (tsconfig.json 또는 .ts/.tsx 파일) | TypeScript/React | typescript-react.md |
pyproject.toml 또는 requirements.txt | Python | python.md (존재 시) |
pom.xml 또는 build.gradle | Java/Spring | java-spring.md |
go.mod | Go | go.md (존재 시) |
Cargo.toml | Rust | rust.md (존재 시) |
# 예시: TypeScript/React 프로젝트인 경우
if [ -f "package.json" ] && ([ -f "tsconfig.json" ] || ls src/**/*.tsx 2>/dev/null); then
cp "$SRC/docs/rules/coding-stacks/typescript-react.md" docs/rules/coding-stacks/ 2>/dev/null || true
fi
# 예시: Java/Spring 프로젝트인 경우
if [ -f "pom.xml" ] || [ -f "build.gradle" ]; then
cp "$SRC/docs/rules/coding-stacks/java-spring.md" docs/rules/coding-stacks/ 2>/dev/null || true
fi
멀티 스택 프로젝트: 두 개 이상의 스택이 감지되면 모두 복사합니다. 감지되지 않는 스택 규칙이 필요하면 Phase 2 사용자 확인 시 수동 선택 가능합니다.
복사 후 _index.md의 스택 목록 테이블을 실제 복사된 파일만 반영하도록 갱신합니다.
Phase 4: 프로젝트별 커스터마이징
4.1 CLAUDE.md 수정
프로젝트 특성에 맞게 CLAUDE.md 수정:
# CLAUDE.md 관리 규칙 (이 섹션 삭제 금지)
이 파일: 최대 30줄 유지. 초과 시 docs/rules/로 분리.
## 필수 참조
- 상세 규칙 → docs/rules/_index.md
- 현재 상태 → docs/status/current.md (작업 시작 전 필수 확인)
- 인수인계서 → docs/handover/ (최신 파일 확인)
- 작업 로그 → docs/logs/
- 외부 리소스 요청 → docs/rules/resource-requests.md
- 이미지 파일 관리 → docs/rules/image-files.md
- **명령어 모음 → docs/commands/_index.md (복사해서 사용)**
## 핵심 원칙
- .env, .env.local, nul 파일 커밋 금지
- 주석/커밋 메시지 한국어
- 상황 기록은 docs/status/current.md에만 (다른 위치 저장 금지)
- 이미지/API키 등 외부 리소스 필요 시 정해진 형식으로 요청
## 세션 시작/종료
- 시작: status/current.md + 최신 handover 파일 확인
- 종료: current.md 업데이트 + handover 파일 작성
4.2 프로젝트 정보 추가
CLAUDE.md에 프로젝트 특화 정보 추가:
## 프로젝트 정보
- 프로젝트명: [프로젝트명]
- 스택: [Next.js + TypeScript / Python + FastAPI / etc.]
- 시작일: [YYYY-MM-DD]
4.3 Git 설정 확인
# Git 사용 여부 확인
if [ -d ".git" ]; then
echo "Git 저장소 감지됨"
else
echo "Git 미사용 프로젝트"
# CLAUDE.md에 Git 금지 규칙 추가
fi
Phase 5: 선택적 템플릿 복사
사용자가 선택한 경우에만 복사:
5.1 코드 템플릿
SRC="$GENERAL_PRO/01-dev-rules-system/03-dev-templates"
# _init 템플릿 (.env.example, .gitignore)
cp "$SRC/_init/.env.example" ./ 2>/dev/null || true
cp "$SRC/_init/.gitignore" ./ 2>/dev/null || true
# API 템플릿 (Next.js 프로젝트)
mkdir -p src/lib
cp "$SRC/api/fetcher.ts" src/lib/ 2>/dev/null || true
# Auth 템플릿 (Supabase 사용 시)
mkdir -p src/lib/supabase src/components/auth
cp "$SRC/auth/supabase/"* src/lib/supabase/ 2>/dev/null || true
cp "$SRC/auth/components/"* src/components/auth/ 2>/dev/null || true
# UI 템플릿
mkdir -p src/components/ui
cp "$SRC/ui/"* src/components/ui/ 2>/dev/null || true
5.2 개발 단계 가이드
SRC="$GENERAL_PRO/01-dev-rules-system/04-dev-stages"
mkdir -p docs/guides
cp "$SRC/"*.md docs/guides/ 2>/dev/null || true
5.3 코드 품질 규칙
SRC="$GENERAL_PRO/01-dev-rules-system/05-code-quality"
mkdir -p docs/quality
cp -r "$SRC/"* docs/quality/ 2>/dev/null || true
5.4 기술 R&D 구조
SRC="$GENERAL_PRO/01-dev-rules-system/06-tech-rd"
mkdir -p spikes poc docs/research
cp "$SRC/templates/"* docs/research/ 2>/dev/null || true
5.5 병렬 개발 셋업
SRC="$GENERAL_PRO/01-dev-rules-system/07-parallel-dev"
mkdir -p src/contracts scripts
cp "$SRC/templates/"*.md docs/ 2>/dev/null || true
cp "$SRC/templates/scripts/"*.sh scripts/ 2>/dev/null || true
Phase 6: 초기 상태 설정
6.1 docs/status/current.md 초기화
# 현재 상태
> 마지막 업데이트: [오늘 날짜] (프로젝트 초기화)
## 진행 중
- 프로젝트 초기 설정
## 방금 완료 (이 터미널)
- kdysetting으로 개발 체계 구축
## 다음 작업
- [ ] 프로젝트 요구사항 정리
- [ ] 기본 구조 설계
6.2 docs/logs/[월].md 생성
# [YYYY-MM] 작업 로그
## [오늘 날짜]
### 세션 1
- 프로젝트 초기화
- kdysetting으로 개발 체계 구축
출력 결과
# 프로젝트 셋팅 완료
## 생성된 구조
[프로젝트 루트]/ ├── CLAUDE.md ✅ 프로젝트 규칙 ├── .mcp.json ✅ MCP 스캐폴딩 ├── .claude/ │ ├── hooks-template.json ✅ Hooks 참고 템플릿 │ ├── hooks/ │ │ ├── auto-format.sh │ │ ├── load-context.sh │ │ └── prevent-env-commit.sh │ └── skills/ │ ├── manage-skills/SKILL.md ✅ 스킬 드리프트 탐지 │ └── verify-implementation/SKILL.md ✅ 통합 검증 └── docs/ ├── commands/ │ ├── _index.md ✅ 명령어 모음 │ └── 01~99 ... (14개 파일) ├── guides/ │ └── README.md ✅ 가이드 인덱스 ├── handover/ │ ├── README.md ✅ 인수인계 가이드 │ ├── _index.md ✅ 인수인계 인덱스 │ ├── next-dev-prompt.md ✅ 다음 개발 프롬프트 │ └── archive/ ├── locks/ │ └── README.md ✅ 잠금 파일 가이드 ├── logs/ │ ├── _index.md ✅ 로그 인덱스 │ └── [YYYY-MM].md ✅ 작업 로그 ├── references/ │ ├── _index.md ✅ 레퍼런스 인덱스 │ ├── _NAVIGATION_MAP.md ✅ 네비게이션 맵 │ └── _TEMPLATE_REFERENCE.md ✅ 템플릿 참조 ├── rules/ │ ├── _index.md ✅ 규칙 인덱스 │ ├── coding.md + coding-stacks/ (스택별) │ ├── file-management.md │ ├── git.md │ ├── image-files.md │ ├── resource-requests.md │ └── ... (15개 파일) └── status/ ├── current.md ✅ 현재 상태 └── history/
## 다음 단계
1. CLAUDE.md에서 프로젝트 정보 수정
2. docs/status/current.md 확인
3. 다음 스킬 실행:
- MCP 설정: `/kdymcp template` (MCP 프리셋 선택/적용)
- 웹 프로젝트: `/kdyweb --init` (페이지 구조 초기화)
- 코드 필요: `/kdypick` (재사용 코드 가져오기)
- 코드 리뷰: `code-reviewer` 에이전트
사용 예시
# 기본 셋팅 (필수 구조만)
/kdysetting
# 전체 템플릿 포함
/kdysetting --full
# 특정 템플릿만
/kdysetting --with-auth --with-ui
# Next.js + Supabase 스택
/kdysetting --stack nextjs-supabase
주의사항
- 기존 파일 보존 - 이미 있는 파일은 덮어쓰기 전 확인
- Git 확인 - .git 폴더 유무에 따라 Git 규칙 조정
- 프로젝트 타입 - package.json, pyproject.toml 등으로 자동 감지
- 경로 주의 - Windows 경로와 Unix 경로 호환성 고려
소스 업데이트
템플릿 소스 위치가 변경되면 이 skill의 소스 경로 수정 필요:
현재 소스: $GENERAL_PRO/01-dev-rules-system/
Superpowers 연계
이 스킬 실행 중 아래 superpowers 원칙을 적용한다.
| 원칙 | 적용 시점 | 적용 방법 |
|---|---|---|
verification-before-completion | 프로젝트 셋업 후 | 생성 파일 존재 확인, CLAUDE.md 참조 유효성, docs/ 구조 정합성 |
관련 스킬/에이전트
| 도구 | 역할 | 관계 |
|---|---|---|
/kdygenesis | 메타 오케스트레이션 | Trigger (kdygenesis → kdysetting 자동 호출) |
/kdyextract | 범용 코드 추출 | Recommend |
/kdypick | 재사용 코드 적용 | Recommend (셋팅 후 실행 권장) |
/kdymcp | MCP 서버 설정 | Recommend (셋팅 후 MCP 프리셋 적용) |
/kdyweb | 웹 페이지 구조 초기화 | Recommend (셋팅 후 실행 권장) |
code-reviewer | 코드 품질 점검 | Recommend |