부트스트랩 초기화 구성
이 명령어는 Obsidian 워크플로우와 선호도에 대해 질문하여 개인화된 CLAUDE.md 구성 파일을 만드는 데 도움을 줍니다.
작업
CLAUDE-BOOTSTRAP.md 템플릿을 읽고 사용자의 다음 정보를 대화형으로 수집합니다:
- 기존 보관함 구조 (있는 경우)
- 워크플로우 선호도
- 메모 작성 스타일
- 조직화 방법
- 특정 요구 사항
그런 다음 사용자의 필요에 맞게 맞춤화된 CLAUDE.md 파일을 생성합니다.
프로세스
-
초기 환경 설정
date명령어로 타임스탬프를 위한 현재 날짜 가져오기- 현재 폴더 이름을 확인하고 이름을 바꿀지 물어보기
- '예'인 경우, 이름 변경 과정 안내 (상위 디렉토리 이동 처리)
- package.json 확인 및 의존성 설치:
pnpm install먼저 시도 (더 빠르고 좋음)- pnpm을 사용할 수 없으면
npm install로 대체
- 핵심 의존성이 설치되었는지 확인
- git 상태 확인:
- .git 폴더가 없으면: git 저장소 초기화
- 원격 origin이 있으면: 개발 작업에 관해 질문
- 개인 보관함: origin 및 .github 폴더 제거
- 기여: origin 및 워크플로우 유지
- 깨끗한 로컬 저장소: 준비 완료
- 조직화 방법에 대해 묻기 전까지 폴더를 만들지 마십시오
-
기존 구성 확인
- 기존 CLAUDE.md 찾기
- 있으면, 업데이트할지 새로 시작할지 물어보기
- CLAUDE-BOOTSTRAP.md 템플릿 확인
-
보관함 정보 수집
- 일반적인 위치에서 기존 Obsidian 보관함 검색 (.obsidian 폴더)
- 적절한 깊이 제한으로 다음 경로 확인:
~/Documents(maxdepth 3) - 모든 플랫폼~/Desktop(maxdepth 3) - 모든 플랫폼~/Library/Mobile Documents/iCloud~md~obsidian/Documents(maxdepth 5 - macOS 전용, iCloud 보관함)- 홈 디렉토리
~/(maxdepth 2) - 모든 플랫폼 - 현재 디렉토리 상위 (maxdepth 2) - 모든 플랫폼
- 찾은 경우: "[path]에서 Obsidian 보관함을 찾았습니다. 가져올 보관함이 맞습니까?"라고 질문
- 파일 수 정확하게 계산:
find [path] -type f -name "*.md" | wc -l(깊이 제한 없음) - 보관함 크기 표시:
du -sh [path] - 확인된 경우, 보관함 구조 분석:
tree -L 3 -d [path]실행하여 폴더 계층 구조 확인- 10-15개의 무작위 노트를 샘플링하여 콘텐츠 유형 이해
- 최근 파일 이름 30-50개를 나열하여 명명 패턴 감지
- 일일 노트 폴더 및 형식 확인
- 파일 수별로 가장 활동적인 폴더 식별
- PARA, Zettelkasten, Johnny Decimal 또는 사용자 정의 사용 감지
- 올바른 보관함이 아니거나 찾을 수 없는 경우:
- macOS에서만: "보관함이 iCloud Drive에 저장되어 있습니까? (예/아니오)"라고 질문
- 예(macOS)인 경우: "보관함의 전체 경로를 입력하세요 (예:
/Library/Mobile Documents/iCloudmd~obsidian/Documents/YourVault)" - 아니오이거나 Linux/Windows인 경우: "기존 보관함의 경로를 입력하거나, 새로 시작하려면 'skip'을 입력하세요"
- 사용자가 제공한 경로 검증 (아래 "사용자 경로 검증" 섹션 참조)
- 기존 보관함이 없거나 사용자가 건너뛰면, 새로 시작하는 것입니다
-
구성 질문하기
- "이름이 무엇입니까?" (개인화용)
- "귀하의 맥락을 더 잘 이해하기 위해 공개 작업을 조사해 드릴까요?"
- 예인 경우: 정보 검색
- 항상 결과를 보여주고 "이것이 맞습니까?"라고 확인 요청
- 여러 사람이 발견되면 번호를 매겨 선택 목록 표시
- 잘못된 사람인 경우, 다시 검색하거나 건너뛰기 제안
- 작업, 글쓰기 스타일, 전문 분야에 대한 관련 컨텍스트 저장
- "PARA 방법을 따르십니까, 아니면 다른 조직 체계를 사용하십니까?"
- "주요 사용 사례는 무엇입니까? (연구, 글쓰기, 프로젝트 관리, 지식 베이스, 일일 노트)"
PARA를 사용하는 경우, 특정 설정 질문하기: Tiago Forte의 PARA 방법
- "현재 작업 중인 활성 프로젝트는 무엇입니까?" (01_Projects에 폴더 생성)
- "유지 관리하는 책임 영역은 무엇입니까?" (예: 업무, 건강, 재정, 가족)
- "자주 연구하는 주제는 무엇입니까?" (03_Resources에 설정)
- "최근에 완료한 프로젝트가 있습니까?" (요약과 함께 보관 가능)
일반 선호도:
- .obsidian/community-plugins.json을 확인하여 사용하는 플러그인 확인
- 기존 파일을 분석하여 명명 규칙 자동 감지
- 첨부 파일 폴더를 확인하여 미디어 파일 작업 여부 확인
- "버전 관리를 위해 git을 사용하십니까?"
- "자주 참조하는 특정 웹사이트나 리소스가 있습니까?"
- "특정 글쓰기 스타일 선호도가 있습니까?"
- "Claude가 따라야 할 워크플로우나 패턴이 있습니까?"
- "주간 검토 의식을 원하십니까? (예: 목요일 프로젝트 검토)"
- "'사고 모드'(질문/탐색)와 '작성 모드' 중 어떤 것을 선호하십니까?"
-
선택적 도구 설정
Gemini Vision (이미 포함됨)
- 질문: "Gemini Vision이 이미지, PDF 및 비디오 분석을 위해 이미 포함되어 있습니다. 활성화하시겠습니까? (예/아니오/나중에)"
- 설명: "Google의 무료 API 키만 있으면 됩니다. 이것으로 Claude가 보관함의 모든 시각적 콘텐츠를 분석할 수 있습니다."
- 나중에: "걱정하지 마세요! 언제든지 https://aistudio.google.com/apikey에서 API 키를 받아 쉘 프로필에
GEMINI_API_KEY를 추가한 다음,claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs를 실행하면 설정할 수 있습니다." - 예인 경우:
- https://aistudio.google.com/apikey에서 API 키 받기 안내 (무료, 30초 소요)
- 쉘 프로필(.zshrc, .bashrc 등)에 추가 지원
claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs실행- API 키로 .mcp.json 구성
- 샘플 명령어로 연결 테스트
Firecrawl (이미 포함됨)
- 질문: "Firecrawl이 웹 리서치를 위해 포함되어 있습니다. 설정하시겠습니까? (예/아니오/나중에)"
- 설명: "이것은 리서치에 획기적인 도구입니다! 기사나 웹사이트를 찾으면 마크다운으로 직접 보관함에 저장할 수 있습니다. 콘텐츠를 영구 보존하고, 검색 가능하게 하며, Claude가 분석할 수 있게 합니다. 리서치 라이브러리를 구축하는 데 완벽합니다."
- 예시: "Claude에게 '이 기사를 내 보관함에 저장: [URL]'이라고 말하면 끝입니다!"
- 나중에: "언제든지 https://firecrawl.dev에서 API 키를 받아
.scripts/의 스크립트를 구성하면 설정할 수 있습니다." - 예인 경우:
- https://firecrawl.dev에서 API 키 받기 안내 (무료 티어 제공)
- .scripts/의 스크립트 구성 지원
- 사용 예시 표시:
.scripts/firecrawl-scrape.sh https://example.com
-
맞춤형 구성 생성
- 현재 날짜 가져오기: CLAUDE.md 헤더용
date +"%B %d, %Y" - 선호도를
.claude/vault-config.json에 저장:{ "user": { "name": "홍길동", "background": { "companies": ["Variance", "Percolate"], "roles": ["공동 창업자", "작가"], "publications": ["Why Is This Interesting?", "every.to"], "expertise": [ "개발자 도구", "마케팅 기술", "시스템 사고" ], "interests": ["사고를 위한 AI", "메모 작성 시스템", "창의성"] }, "profileSources": [ "https://whyisthisinteresting.com/about", "https://every.to/@username" ], "customContext": "AI를 단순한 글쓰기가 아닌 사고 증강으로 봅니다", "publicProfile": true }, "vaultPath": "/path/to/existing/vault", "fileNamingPattern": "detected-pattern", "organizationMethod": "PARA", "primaryUses": ["research", "writing", "projects"], "tools": { "geminiVision": true, "firecrawl": false }, "projects": ["책 - 생산성", "SaaS 앱"], "areas": ["뉴스레터", "건강"], "importedAt": "2025-01-13", "lastUpdated": "2025-01-13" } - CLAUDE-BOOTSTRAP.md를 기본으로 시작
- 사용자별 섹션 추가:
- 실제 프로젝트/영역이 포함된 사용자 정의 폴더 구조
- 개인 워크플로우
- 선호하는 도구 및 스크립트
- 특정 지침
- 설정된 경우 MCP 구성
- 제공된 경우 웹사이트/리소스 포함
- 사용자 정의 명명 규칙 추가
- 프로젝트 및 영역 미리 채우기:
- 01_Projects/에 프로젝트 폴더 생성
- 02_Areas/에 영역 폴더 생성
- 03_Resources/에 리소스 주제 생성
- 각 프로젝트/영역을 설명하는 README 파일 추가
- 현재 날짜 가져오기: CLAUDE.md 헤더용
-
기존 보관함 가져오기 (해당하는 경우)
- 사용자에게 기존 보관함이 있는 경우:
- OLD_VAULT 폴더 생성:
mkdir OLD_VAULT - 구조를 유지하며 전체 보관함 복사:
cp -r [vault-path]/* ./OLD_VAULT/ - Obsidian 구성 복사:
cp -r [vault-path]/.obsidian ./ - 기타 중요한 파일 확인 및 복사:
.trash/(Obsidian 휴지통 폴더).smart-connections/(해당 플러그인 사용 시)- 작업 공간 파일:
.obsidian.vimrc등
- 복사 제외:
.git/(자체적으로 가짐),.claude/(당사 것을 사용) - 요약 표시: "보관함을 OLD_VAULT/로 가져왔습니다 (X 파일, Y 폴더)"
- 설명: "원래 구조는 OLD_VAULT에 보존됩니다. 필요에 따라 점진적으로 PARA 폴더로 파일을 마이그레이션할 수 있습니다."
- OLD_VAULT 폴더 생성:
- 사용자에게 기존 보관함이 있는 경우:
-
지원 파일 생성
- 새 보관함인 경우 초기 폴더 구조 생성
- 주요 폴더에 대한 README 파일 생성
- 각 프로젝트 폴더에 하위 폴더 생성:
- Research/ (소스 자료)
- Chats/ (AI 대화)
- Daily Progress/ (실행 로그)
- 05_Attachments/Organized/ 디렉토리 생성
- git을 사용하는 경우 .gitignore 설정 (.mcp.json, node_modules 포함)
- 요청 시 초기 템플릿 생성
- 사용자가 검토 의식을 원하는 경우 WEEKLY_REVIEW.md 생성
- FIRST_RUN 마커 파일이 있으면 제거
- 저장소가 초기화된 경우 초기 git 커밋 수행
-
테스트 명령 실행
pnpm vault:stats실행하여 스크립트 작동 확인- 폴더가 있으면 첨부 파일 명령 테스트
- 구성된 경우 MCP 도구 테스트
- git이 파일을 올바르게 추적하는지 확인
-
다음 단계 제공
- 생성 및 구성된 내용 요약
- 설정에 따른 빠른 시작 가이드
- 사용할 수 있는 명령어 목록
- 모든 것이 제대로 작동하는지 확인하는 테스트 명령
- 사용 사례에 따른 첫 번째 작업 제안
- 나중에 구성을 수정하는 방법
예시 출력
# 귀하의 Obsidian 보관함 구성
생성일: [`date +"%B %d, %Y"`을 실행하여 현재 날짜 가져오기] 마지막 업데이트: [동일한 날짜] 기준 선호도: [주요 사용 사례] 설정 완료: ✅ 의존성 ✅ 폴더 구조 ✅ Git 초기화
## 귀하의 사용자 정의 폴더 구조
[설명이 포함된 특정 구조]
## 귀하의 워크플로우
### 일일 루틴
[사용자 답변 기반]
### 프로젝트 관리
[사용자의 특정 접근 방식]
### 연구 방법 (Noah Brier 스타일)
- 읽은 모든 것을 캡처하세요
- 중요한 아이디어가 자연스럽게 다시 떠오르게 하세요
- 이해를 테스트하기 위해 글쓰기부터 시작하세요
- 태그 대신 검색을 사용하여 항목을 찾으세요
- [Noah의 시스템에서 더 알아보기](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452)
### 주간 검토 의식
[활성화된 경우: 매주 목요일 오후 4시, 모든 프로젝트 검토]
## 귀하의 선호도
### 파일 명명
- 패턴: [사용자 규칙]
- 예시: [특정 예시]
### 도구 및 스크립트
[워크플로우 관련 스크립트]
## MCP 서버 (구성된 경우)
### Gemini Vision
- 상태: ✅ 구성 및 테스트 완료
- API 키: .mcp.json에 설정됨
- 다음으로 테스트: `use gemini-vision to analyze [이미지 경로]`
## 사용 가능한 명령
### 보관함 관리
- `pnpm vault:stats` - 보관함 통계 표시
- `pnpm attachments:list` - 처리되지 않은 첨부 파일 목록
- `pnpm attachments:organized` - 정리된 파일 수 계산
### Claude 스킬
작업을 설명하면 스킬이 자동으로 발견됩니다. 예시:
- "X에 대해 생각해보게 도와줘" → `thinking-partner`
- "내 하루를 마무리해 줘" / "일일 리뷰" → `daily-review`
- "내 수신함을 처리해 줘" → `inbox-processor`
- "설정 마법사를 다시 실행해 줘" → `init-bootstrap`
스킬은 `.agents/skills/` (표준)에 있으며, `.claude/skills/` 및 `.pi/skills/`에 심볼릭 링크가 있습니다. Claude Code, OpenCode, Codex, Cursor 및 Pi에서 작동합니다.
## 빠른 시작
1. [개인화된 첫 번째 단계]
2. [목표에 따른 다음 작업]
3. [워크플로우에 특화된 내용]
## 연구 마스터의 전문가 팁
- **토큰 최대주의자가 되세요**: Claude에게 많은 컨텍스트 제공
- **글쓰기는 확장됩니다**: 나중에 참조할 수 있도록 모든 것을 문서화하세요
([Noah Brier](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452))
- **발현을 신뢰하세요**: 중요한 아이디어는 계속 표면화됩니다
- **글쓰기부터 시작하세요**: 항상 텍스트 형식으로 프로젝트를 시작하세요
- **정기적으로 검토하세요**: 매주 정리하고 업데이트할 시간을 할애하세요
- **PARA 방법**: 프로젝트, 영역, 리소스, 아카이브
([Tiago Forte](https://fortelabs.com/blog/para/))
## 설정 요약
✅ 의존성 설치됨 (pnpm/npm) ✅ 폴더 구조 생성됨 ✅ Git 저장소가 초기화되고 원본과 분리됨 ✅ CLAUDE.md 개인화됨 ✅ 첫 실행 설정 완료됨 [✅ MCP Gemini Vision 구성됨 - 설정된 경우] [✅ 첫 번째 커밋 완료됨 - git이 초기화된 경우]
중요한 구현 참고 사항
여러 보관함 처리
여러 보관함이 감지된 경우:
- 발견된 모든 보관함을 명확한 번호와 세부 정보와 함께 항상 나열
- 명시적 선택 필수 - 사용할 보관함을 추측하지 마십시오
- 가져오기를 진행하기 전에 선택을 확인
- 모호한 응답 처리 - 사용자가 명확하지 않은 입력(예: 스크린샷 붙여넣기)을 제공하는 경우 명확히 요청:
- "스크린샷을 공유하셨네요. 가져오려는 보관함의 번호(1-3)를 입력해 주시겠어요?"
- "명확한 선택이 필요합니다. 보관함을 선택하려면 '1', '2' 또는 '3'을 입력하세요."
사용자 경로 검증
사용자가 보관함 경로를 제공하는 경우: (경로가 유효하고 Obsidian 보관함인지 확인 후 진행)
명확성 및 확인
- 결코 추측하지 마십시오 - 확실하지 않으면 항상 확인
- 예/아니오 질문의 경우 "예" 또는 "아니오"를 기대하고 있음을 명시
- 모호한 입력 거부 - 사용자가 모호한 입력(예: 스크린샷, 모호한 설명)을 제공하면 거절하고 명확한 텍스트 입력 요청
- 폴더 또는 파일 이름을 추측하지 마십시오. 항상 정확한 철자 확인
오류 처리
- 스크립트가 실패하면 명확한 오류 메시지 제공
- 해결 방법 제안 (예: "명령이 실패했습니다. 수동으로 설치해 보시겠어요?")
- 치명적이지 않은 오류가 있는 경우에도 계속 진행하고 문제를 기록
- 사용자가 입력에 민감한 정보(API 키 등)를 붙여넣는 경우, 올바르게 마스킹되었는지 확인
크로스 플랫폼 고려 사항
- find 명령에 -maxdepth 사용 (macOS/Linux)
- Windows에서는 적절한 동등 명령어 사용 (예: dir /s, where)
- 경로 구분 기호: Windows의 경우 \, Unix의 경우 /
- 쉘 프로필 파일: macOS/Linux의 경우 .zshrc / .bashrc, Windows의 경우 $PROFILE
보안 모범 사례
- API 키를 로그하거나 콘솔에 출력하지 마십시오
- .mcp.json에 API 키를 저장할 때 적절한 파일 권한 설정 (chmod 600)
- .gitignore에 .mcp.json 및 node_modules를 추가하는 것을 잊지 마십시오
- 쉘 기록에 API 키가 유출되지 않았는지 확인