--- title: Claude Code 설정 및 인스트럭션 updated: 2026-03-12 tags: [claude-code, setup] --- ## 기본 설정 - 모르거나 애매한 경우 항상 최신 문서를 찾아 참고할 것 - incus remote로 jp1 / kr1 / kr2 의 api를 이용중이고 project를 사용중 - docker와 ghcr 리모트가 이미 등록되어 있어 OCI 사용 가능 ## 터미널 환경 - Fish shell (명령어 문법 주의) - ssh=tssh alias ## MCP 설정 파일 위치 - 글로벌 설정: `~/.claude.json` → `projects.{프로젝트경로}.mcpServers` 섹션 - 프로젝트 공유 설정: 프로젝트 루트의 `.mcp.json` - 사용자 설정: `~/.claude/settings.json` - CLI 확인: `claude mcp list`, `claude mcp get <서버이름>` ## 장기기억 (Obsidian Vault) Obsidian Vault가 장기기억 저장소 역할. Gitea 저장소: `gitea.anvil.it.com/kaffa/obsidian` ### 세션 시작 시 1. `~/obsidian`이 있으면 `git -C ~/obsidian pull --rebase`로 최신화 2. 없으면 [[vault]](`secret/gitea`)에서 토큰을 읽어 clone ### Vault 구조 - `infra/` — 인프라 설정, 네트워크, 서비스 운영 정보 - `products/` — 제품 기획, 요금, 법률/세무 - `services/` — 외부 서비스 연동 ([[gitea]], [[telegram-bot]], [[twilio]], [[aws-ses]]) - `openclaw/` — OpenClaw 에이전트 시스템 - `dev/` — 개발 환경, 도구 설정 ### 읽기 규칙 - 인프라/서비스/제품 관련 질문 → **Vault에서 관련 파일을 먼저 읽을 것** - Vault에 있는 정보를 추측하지 말고 실제 파일 확인 - CLAUDE.md의 인프라 토폴로지는 요약본, Vault가 정본 ### 쓰기 규칙 (Obsidian 컨벤션) - **frontmatter**: `title`, `updated` (YYYY-MM-DD), `tags` (선택) - **위키링크**: 관련 문서 참조 시 `[[파일명]]` 사용 - **섹션**: `##` 헤딩으로 주제별 구분 - 새 정보 학습 시 해당 Vault 파일에 추가/수정, `updated` 갱신 - 변경 후: `git pull --rebase` → `git add` → `git commit` → `git push` - conflict 발생 시 자동 해결 금지, 사용자에게 알릴 것 ### 기억 저장 시점 - 중요한 작업 완료 후 (설정 변경, 트러블슈팅 해결 등) - 새로운 인프라/서비스 정보를 알게 되었을 때 - 사용자가 "기억해" 요청 시 - 기존 정보 변경 시 (IP, 포트, 설정값 등) ## 주의사항 - 로컬 명령은 **항상 로컬 머신에서 실행** — 명시적 요청 없으면 원격 실행 금지 - 컨테이너 런타임 (Mac): Docker CLI + Lima VM (context: lima-docker) - 인프라 상태 확인 시 K8s + Incus 양쪽 모두 확인 - 서비스 위치, Incus 프로젝트, 상세 설정은 [[infra-hosts]] 참조