install
source · Clone the upstream repo
git clone https://github.com/popup-studio-ai/bkit-starter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/popup-studio-ai/bkit-starter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/setup-claude-code" ~/.claude/skills/popup-studio-ai-bkit-starter-setup-claude-code && rm -rf "$T"
manifest:
skills/setup-claude-code/SKILL.mdsource content
Claude Code 프로젝트 설정 생성
어떤 프로젝트, 어떤 언어에서든 Claude Code 설정을 자동으로 생성합니다.
지원 언어: TypeScript, JavaScript, Python, Go, Rust, Java, C#, Ruby, PHP 등
사용법
/setup-claude-code [옵션]
옵션:
: 최소 설정 (CLAUDE.md + 훅)minimal
: 표준 설정 (+ Commands, Agents)standard
: 전체 설정 (+ Skills, MCP, GitHub Action)full- 생략 시: 프로젝트 분석 후 자동 결정
왜 이 커맨드가 필요한가?
문제: Claude Code 설정이 없거나 부족한 프로젝트에서 처음부터 수동 설정은 번거로움 해결: 프로젝트 분석 → 언어/구조에 맞는 초기 설정 자동 생성 결과: CLAUDE.md, .claude/, hooks, permissions 등 한 번에 설정
수행 작업
1단계: 마스터 가이드 참조
반드시 다음 문서를 먼저 읽습니다:
.claude/docs/CLAUDE-CODE-MASTERY.md # 목차 및 핵심 개념 .claude/docs/mastery/01-settings-guide.md # 설정 요소별 상세 가이드 .claude/docs/mastery/02-language-templates.md # 언어별 설정 템플릿 .claude/docs/mastery/03-project-structures.md # 프로젝트 구조별 가이드
필요한 내용에 따라 해당 파일을 참조합니다.
2단계: 프로젝트 분석
# 분석 대상 1. package.json → 패키지 매니저, 스크립트 확인 2. 폴더 구조 → 모노레포 여부, 모듈 구조 3. 기존 .claude/ → 이미 설정된 항목 확인 4. tsconfig.json → TypeScript 설정 5. .eslintrc / biome.json → 린트 설정 6. .prettierrc → 포맷터 설정
3단계: 기술 스택 파악
| 항목 | 확인 방법 |
|---|---|
| 패키지 매니저 | lockfile 확인 (pnpm-lock.yaml, package-lock.json, bun.lockb) |
| 언어 | tsconfig.json 유무, 파일 확장자 |
| 프레임워크 | package.json dependencies |
| 모노레포 | pnpm-workspace.yaml, turbo.json, lerna.json |
| 테스트 도구 | vitest, jest, mocha 등 |
4단계: 설정 규모 결정
## 규모 결정 기준 ### Minimal (소규모, 1-3명) - 단일 패키지 - 간단한 프로젝트 ### Standard (중규모, 4-10명) - 모노레포 또는 복잡한 단일 패키지 - 여러 개발자 협업 ### Full (대규모, 10명+) - 대규모 모노레포 - 여러 도메인 - 외부 시스템 연동 필요
5단계: 파일 생성
5.1 CLAUDE.md 생성 (항상)
# Development Workflow ## 패키지 관리 - **항상 `{detected_package_manager}` 사용** ## 개발 순서 1. 변경 사항 작성 2. 타입체크: `{typecheck_command}` 3. 테스트: `{test_command}` 4. 린트: `{lint_command}` 5. 빌드: `{build_command}` ## 코딩 컨벤션 - `type` 선호, `interface` 자제 - **`enum` 절대 금지** → 문자열 리터럴 유니온 사용 - Zod 스키마로 타입 정의 ## 프로젝트 구조 {detected_structure} ## 금지 사항 - ❌ console.log 대신 logger 사용 - ❌ any 타입 사용 금지
5.2 settings.local.json 생성 (항상)
{ "hooks": { "PostToolUse": [ { "matcher": "Write|Edit", "hooks": [ { "type": "command", "command": "{format_command} || true" } ] } ] }, "permissions": { "allow": [ "Bash({package_manager} run:*)", "Bash({package_manager} build:*)", "Bash({package_manager} test:*)", "Bash({package_manager} lint:*)", "Bash({package_manager} typecheck:*)" ], "deny": [], "ask": [] } }
5.3 Commands 생성 (Standard, Full)
.claude/commands/ 폴더에 다음 파일 생성:
- 커밋 → 푸시 → PRcommit-push-pr.md
- 전체 타입체크typecheck-all.md
- 모듈별 테스트test-module.md
- 린트 자동 수정lint-fix.md
- 전체 빌드build-all.md
5.4 Agents 생성 (Standard, Full)
.claude/agents/ 폴더에 다음 파일 생성:
- 빌드 검증build-validator.md
- 코드 리뷰code-reviewer.md
- 테스트 실행 분석test-runner.md
- API 문서 생성api-doc-generator.md
5.5 Skills 생성 (Standard, Full) - 하이브리드 방식
.claude/skills/ 폴더에 3단계로 스킬을 생성합니다.
1단계: 공통 스킬 (항상 생성)
| 스킬 | 용도 |
|---|---|
| 전체 아키텍처, 폴더 구조, 의존성 방향 |
| 테스트 패턴, 단위/통합 테스트, 실행 방법 |
2단계: 프로젝트 유형 감지
# 프로젝트 구조 분석 if modules/ or domains/ exist → Hexagonal/DDD if packages/ or apps/ exist → Monorepo if components/ or pages/ exist → Frontend if controllers/ or routes/ exist → MVC Backend if services/ exist → Microservices if src/ only → Library/Simple
3단계: 유형별 스킬 제안 (사용자 확인)
Hexagonal/DDD 프로젝트:
| 감지 | 제안 스킬 |
|---|---|
| (도메인별) |
| MongoDB 사용 | |
| Fastify/Express | |
| Zod 사용 | |
모노레포:
| 감지 | 제안 스킬 |
|---|---|
| (패키지별) |
| |
| 공통 설정 | |
프론트엔드:
| 감지 | 제안 스킬 |
|---|---|
| |
or | |
| |
or | |
MVC 백엔드:
| 감지 | 제안 스킬 |
|---|---|
| |
| |
| |
| |
마이크로서비스:
| 감지 | 제안 스킬 |
|---|---|
| (서비스별) |
| Docker 사용 | |
| 메시지 큐 | |
라이브러리:
| 감지 | 제안 스킬 |
|---|---|
| |
| |
사용자 확인 (AskUserQuestion)
프로젝트 유형: Hexagonal/DDD (modules/ 감지) 다음 스킬을 생성할까요? 공통 스킬 (자동 생성): ✅ {project}-architecture ✅ {project}-testing 프로젝트별 스킬 (선택): [x] {project}-auth (modules/auth/) [x] {project}-user (modules/user/) [x] {project}-transaction (modules/transaction/) [ ] {project}-marketing (선택 해제 가능) [x] {project}-database (MongoDB 감지) [x] {project}-api-conventions (Fastify 감지)
스킬 템플릿
--- name: {project}-{name} description: {name} 관련 작업 시 적용. Use when working with {keywords}. --- # {Name} Skill ## 개요 [자동 분석된 설명] ## 핵심 파일 [해당 영역의 주요 파일 경로] ## 핵심 규칙 [코드베이스에서 추출한 패턴] ## 자주 사용하는 명령어 [관련 테스트/빌드 명령어]
5.6 MCP 서버 연결 (Standard, Full) - 선택적
중요: MCP 서버는 보안상 사용자가 명시적으로 선택해야 합니다.
"Use third party MCP servers at your own risk" - Anthropic
의존성 분석 후 추천
프로젝트 의존성(package.json, requirements.txt 등)을 분석하여 관련 MCP 서버를 추천합니다.
| 감지된 의존성 | 추천 MCP 서버 |
|---|---|
| mongoose, mongodb | MongoDB MCP |
| pg, postgres | PostgreSQL MCP |
| stripe | Stripe MCP |
| @sentry/* | Sentry MCP |
| redis, ioredis | Redis MCP |
상세 추천 전략:
.claude/docs/mastery/01-settings-guide.md 참조
사용자 선택 (AskUserQuestion)
MCP 서버 연결 여부를 사용자에게 질문합니다:
프로젝트 분석 결과, 다음 MCP 서버를 추천합니다: 협업 도구 (선택): [ ] GitHub - PR/이슈 관리 [ ] Linear - 이슈 트래킹 [ ] Jira - 프로젝트 관리 의존성 감지 (선택): [x] MongoDB (mongoose 감지됨) [ ] Redis (ioredis 감지됨) 기타: [ ] 건너뛰기 - MCP 연결 안 함
.mcp.json 생성 (선택한 서버만)
사용자가 선택한 서버만 포함합니다:
{ "mcpServers": { "mongodb": { "type": "stdio", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-mongodb"], "env": { "MONGODB_URI": "${MONGODB_URI}" } } } }
MCP 서버 CLI 명령어
# CLI로 직접 추가 claude mcp add github # 상태 확인 claude /mcp
5.7 GitHub Action 생성 (Full만)
.github/workflows/claude-docs-update.yml 생성
6단계: 기존 설정과 병합
- 이미 존재하는 파일은 덮어쓰지 않음
- 새로운 항목만 추가하거나 사용자에게 확인 요청
결과 출력
✅ Claude Code 설정 완료! 📁 생성된 파일: - CLAUDE.md ✅ - .claude/settings.local.json ✅ - .claude/commands/ (5개) ✅ - .claude/agents/ (4개) ✅ - .claude/skills/ (4개) ✅ - .mcp.json (선택 시) - .github/workflows/claude-docs-update.yml ✅ 📊 설정 규모: {minimal|standard|full} 🔧 기술 스택: {detected_stack} 🎯 다음 단계: 1. CLAUDE.md 내용 확인 및 수정 2. /learn-claude-code 로 사용법 학습 3. /upgrade-claude-code 로 최신 트렌드 확인
주의사항
- 기존 파일이 있으면 백업 후 병합을 시도합니다
- package.json이 없으면 기본 npm 설정으로 생성합니다
- 커스텀 설정이 필요하면 생성 후 수동으로 수정하세요
에러 처리
마스터 가이드를 찾을 수 없는 경우
⚠️ 마스터 가이드 문서를 찾을 수 없습니다. 해결 방법: 1. bkit-starter 저장소에서 .claude/docs/ 폴더를 복사하세요 2. 최소 설정으로 진행하려면: /setup-claude-code minimal
프로젝트 유형 감지 실패 시
⚠️ 프로젝트 유형을 감지할 수 없습니다. 확인할 사항: - package.json, tsconfig.json 등 설정 파일이 있는지 확인 - 프로젝트 루트 디렉토리에서 실행했는지 확인 수동 지정하려면: → /setup-claude-code minimal (최소 설정) → /setup-claude-code standard (표준 설정) → /setup-claude-code full (전체 설정)
파일 생성 실패 시
⚠️ 파일 생성에 실패했습니다: {파일명} 확인할 사항: - 쓰기 권한이 있는지 확인 - 디스크 공간이 충분한지 확인 수동 생성하려면: → 01-settings-guide.md의 해당 섹션 참조하여 직접 생성
참고 문서
- .claude/docs/CLAUDE-CODE-MASTERY.md
- .claude/docs/mastery/01-settings-guide.md (MCP 추천 전략 포함)