Files
obsidian/dev/claude-code-setup.md

5.6 KiB

title, updated, tags
title updated tags
Claude Code 설정 및 인스트럭션 2026-03-25
claude-code
setup
memory
openmemory

기본 설정

  • 모르거나 애매한 경우 항상 최신 문서를 찾아 참고할 것
  • incus remote로 jp1 / kr1 / kr2 / hp2 의 api를 이용중이고 project를 사용중
  • docker와 ghcr 리모트가 이미 등록되어 있어 OCI 사용 가능

터미널 환경

  • Fish shell (명령어 문법 주의)
  • ssh=tssh alias
  • 플랫폼: Linux (Debian 13)

MCP 설정

설정 파일 위치

  • 글로벌 설정: ~/.claude.jsonprojects.{프로젝트경로}.mcpServers 섹션
  • 프로젝트 공유 설정: 프로젝트 루트의 .mcp.json
  • 사용자 설정: ~/.claude/settings.json
  • CLI 확인: claude mcp list, claude mcp get <서버이름>

등록된 MCP 서버 (2026-03-25 기준)

서버 타입 엔드포인트 용도
incus npx @ironclads/incus-mcp@latest Incus 인스턴스 관리
kubernetes npx mcp-server-kubernetes K8s 클러스터 관리
nocodb mcp-remote nocodb.inouter.com/mcp NocoDB 데이터베이스
bunnycdn HTTP bunnycdn-mcp.inouter.com/mcp BunnyCDN 관리
openmemory SSE K3s openmemory ns 장기기억 시멘틱 검색
aws-core uvx awslabs.core-mcp-server@latest AWS 리소스 관리
context7 npx @upstash/context7-mcp 라이브러리 문서 검색
Google Calendar claude.ai gcal.mcp.claude.com 구글 캘린더
Gmail claude.ai gmail.mcp.claude.com 지메일
Cloudflare claude.ai bindings.mcp.cloudflare.com Cloudflare 플랫폼

Vault MCP 상세

  • 위치: jp1 Incus default 프로젝트 vault 컨테이너
  • vault-mcp-server v0.2.0 (Go, systemd, port 8080)
  • 엔드포인트: http://10.253.101.58:8080/mcp
  • 마운트된 엔진: secret/ (KV), ssh-client-signer/ (SSH)
  • 주요 용도: 시크릿 관리, PKI 인증서 발급, SSH 서명

장기기억 (2계층 시스템)

Obsidian + openmemory를 조합한 2계층 장기기억 시스템.

계층 구조

┌─────────────────────────────────────────────┐
│              장기기억 시스템                   │
├──────────────────┬──────────────────────────┤
│   Obsidian       │    OpenMemory (Mem0)     │
│   ~/obsidian     │    K3s openmemory ns     │
├──────────────────┼──────────────────────────┤
│ 구조화된 지식 정본  │  시멘틱 검색용 인덱스       │
│ 마크다운 + git    │  벡터 DB (Qdrant)        │
│ 사람 + AI 소비    │  AI 전용 소비             │
│ 키워드/경로 검색   │  시멘틱 유사도 검색        │
│ Gitea 동기화      │  로컬 전용               │
└──────────────────┴──────────────────────────┘

Obsidian (1계층: 구조화된 지식)

Gitea 저장소: gitea.anvil.it.com/kaffa/obsidian

Vault 구조:

  • infra/ — 인프라 설정, 네트워크, 서비스 운영 정보
  • products/ — 제품 기획, 요금, 법률/세무
  • services/ — 외부 서비스 연동 (gitea, telegram-bot, twilio, aws-ses)
  • openclaw/ — OpenClaw 에이전트 시스템
  • dev/ — 개발 환경, 도구 설정

저장 대상: 인프라 변경, 서비스 설정, 운영 절차, 제품 기획, 트러블슈팅 솔루션

작성 규칙:

  • frontmatter: title, updated (YYYY-MM-DD), tags
  • 위키링크 [[파일명]], ## 섹션 헤더
  • git workflow: pull --rebaseaddcommitpush
  • conflict 시 자동 해결 금지

OpenMemory (2계층: 시멘틱 메모리)

K3s openmemory 네임스페이스 (MCP SSE)

용도: Obsidian 정본의 시멘틱 검색 인덱스. 키워드/개념을 벡터로 저장하여 관련 Obsidian 파일을 빠르게 찾는 역할.

저장 대상: 결정사항과 이유, 사용자 선호도, 시스템 quirks, 프로젝트 맥락, 패턴

작성 규칙:

  • 한 메모리 = 하나의 핵심 정보 (검색 정확도 향상)
  • 컨텍스트 포함: "X를 했다" → "Y 때문에 X를 했다"
  • 날짜 중요 시 절대 날짜 포함 (예: "2026-03-25 기준")
  • Obsidian 파일 경로 포함 (시멘틱 검색 → 정본 참조 흐름)
  • 저장 전 search_memory로 중복 확인

읽기 우선순위

  1. Obsidian — 인프라/서비스/제품 정보 (구조화된 정본)
  2. OpenMemory — 결정 맥락, 선호도, 과거 인사이트 (시멘틱 검색)
  3. HashiCorp Vault — 시크릿, 인증 정보

세션 시작 시

  1. ~/obsidian git pull --rebase로 최신화
  2. 없으면 [vault]에서 토큰 읽어 clone
  3. 현재 작업 관련 OpenMemory search_memory 조회

기억 저장 시점

  • 중요한 작업 완료 후 (설정 변경, 트러블슈팅 해결 등)
  • 새로운 인프라/서비스 정보를 알게 되었을 때
  • 사용자가 "기억해" 요청 시
  • 기존 정보 변경 시 (IP, 포트, 설정값 등)
  • 아키텍처 결정 시 → Obsidian에 상세 + OpenMemory에 요약

주의사항

  • 로컬 명령은 항상 로컬 머신에서 실행 — 명시적 요청 없으면 원격 실행 금지
  • 인프라 상태 확인 시 K8s + Incus 양쪽 모두 확인
  • 서비스 위치, Incus 프로젝트, 상세 설정은 infra-hosts 참조