본문으로 건너뛰기

Mac (MacBook M3) 셋업 할일

역할: 지휘부 — Claude Code Agent Teams 실행, MCP 서버, 스케줄링, 원격 제어 전제: macOS + Apple Silicon (M3)


Phase 0-A: 기본 도구 설치

  • Claude Code CLI 설치

    brew install claude-code
    claude --version # v2.1.32+ 확인
  • Node.js 설치 (MCP 서버용)

    brew install node
    node --version
  • Godot 4.x 설치

    brew install --cask godot
  • Git LFS 설치

    brew install git-lfs
    git lfs install
  • ImageMagick 설치 (팔레트 리매핑용)

    brew install imagemagick
  • FFmpeg 설치 (오디오 변환용)

    brew install ffmpeg
  • Aseprite (소스 빌드 — 무료)

    • ~/dev/aseprite/build/bin/aseprite.app/Contents/MacOS/aseprite -b (CLI batch 모드)
    • 심볼릭 링크: ~/bin/aseprite
  • wakeonlan 설치 (Win PC 원격 기상용)

    brew install wakeonlan

Phase 0-B: 계정 및 API 키

  • Claude Max 구독 ($200/월, 5x) — OAuth 자동 인증

    claude  # 최초 실행 시 로그인
  • Slack 워크스페이스 생성 — "The Hon Joseon"

    • 채널 13개 생성:
      #general, #dashboard
      #agent-planner, #agent-artist, #agent-coder, #agent-composer, #agent-tester-pm
      #output-art, #output-audio, #output-build, #output-docs
      #alerts, #review-queue
    • Slack App (Bot) 생성 → api.slack.com/apps
      • Bot Token Scopes: channels:read, channels:history, chat:write, chat:write.public, files:write, files:read
    • SLACK_BOT_TOKEN 복사
    • Incoming Webhook (#alerts) → SLACK_WEBHOOK_URL 복사
  • GitHub 리포지토리

    • GITHUB_TOKEN (Personal Access Token) 생성

Phase 0-C: 환경 변수 설정

  • ~/.zshrc 또는 프로젝트 .env에 추가:
    export SLACK_BOT_TOKEN=xoxb-...
    export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
    export GITHUB_TOKEN=ghp_...
    export WIN_PC_IP=100.x.x.x # Tailscale IP (Win PC 셋업 후)
    export WIN_PC_MAC=AA:BB:CC:DD:EE:FF # WoL용 MAC 주소
    export WIN_PC_USER=username
    export COMFYUI_URL=http://100.x.x.x:8188
    export ACESTEP_URL=http://100.x.x.x:8189

Phase 0-D: Tailscale 네트워크

  • Tailscale 설치 및 로그인

    brew install tailscale
    tailscale up
  • Win PC 연결 확인 (Win PC 셋업 완료 후)

    tailscale status
    ping <WIN_PC_IP>
    ssh <WIN_PC_USER>@<WIN_PC_IP>

Phase 0-E: GitHub 리포지토리 셋업

  • 리포 생성 및 초기화

    gh repo create the-hon-joseon --private
    cd the-hon-joseon
    git init
  • Git LFS 트래킹

    git lfs track "*.png"
    git lfs track "*.ogg"
    git lfs track "*.wav"
    git lfs track "*.mp3"
    git lfs track "*.tres"
    git lfs track "*.tscn"
    git add .gitattributes
    git commit -m "chore: configure git lfs for assets"
  • 브랜치 전략

    git checkout -b dev
    git push -u origin dev
  • 디렉토리 구조 생성

    mkdir -p src/{player,enemies,weapons,souls,equipment,systems,ui,hub}
    mkdir -p res/{sprites/{characters,enemies,bosses,weapons,effects,ui,npcs},audio/{bgm,sfx},data,tilesets}
    mkdir -p test
    mkdir -p .claude/{agents,agent-memory/{planner,artist,coder,composer,tester-pm}}
    mkdir -p scripts

Phase 0-F: MCP 서버 설정

  • .mcp.json 생성 (프로젝트 루트)

    • Slack MCP (@modelcontextprotocol/server-slack)
    • GitHub MCP (@modelcontextprotocol/server-github)
    • ComfyUI HTTP MCP (Win PC 경유)
    • ACE-Step HTTP MCP (Win PC 경유)
  • MCP 연결 확인

    • Slack, GitHub → .mcp.json에 설정 완료
    • ComfyUI, ACE-Step → MCP 불필요, 에이전트가 curl로 직접 호출
    cd the-hon-joseon
    claude
    # /mcp 명령으로 2개 서버 상태 확인 (Slack, GitHub)

Phase 0-G: Claude Code 에이전트 설정

  • .claude/CLAUDE.md 작성 (프로젝트 컨텍스트, 20줄 이내)
  • .claude/agents/planner.md 작성 (Opus)
  • .claude/agents/artist.md 작성 (Sonnet)
  • .claude/agents/coder.md 작성 (Opus)
  • .claude/agents/composer.md 작성 (Sonnet)
  • .claude/agents/tester-pm.md 작성 (Sonnet, 리더)
  • .claude/settings.json 작성 (Hooks + Agent Teams 활성화)
  • 폴더별 CLAUDE.md 작성:
    • src/weapons/CLAUDE.md
    • res/sprites/CLAUDE.md

Phase 0-H: Hook 스크립트

  • scripts/gdscript-lint.sh
  • scripts/validate-art-output.sh
  • scripts/validate-test-result.sh
  • scripts/log-agent-start.sh
  • scripts/log-agent-stop.sh
  • scripts/check-remaining-tasks.sh
  • scripts/validate-task-output.sh

Phase 0-I: WoL 스크립트

  • Win PC 기상 스크립트 작성
    cat > ~/bin/wake-win-pc.sh << 'EOF'
    #!/bin/bash
    wakeonlan -i $WIN_PC_WOL_IP -p ${WIN_PC_WOL_PORT:-9999} $WIN_PC_MAC
    echo "WoL 패킷 전송. 부팅 대기 중..."
    for i in {1..12}; do
    sleep 10
    if ssh -o ConnectTimeout=5 $WIN_PC_USER@$WIN_PC_IP "echo ok" 2>/dev/null; then
    echo "Win PC 기상 완료"
    exit 0
    fi
    done
    echo "Win PC 기상 실패"
    exit 1
    EOF
    chmod +x ~/bin/wake-win-pc.sh

Phase 0-J: 스케줄 태스크 등록

나머지 스케줄(매시간 갱신, 빌드/에셋/BGM 배치)은 실시간 대시보드(dashboard/)가 대체하거나, 실제 코드 생성 후 등록


Phase 1 시작

  • 대시보드 + Agent Team 실행 (2026-03-29 업데이트)

    # 1. 대시보드 + tester-pm 시작
    ./scripts/start-agents.sh
    # → 브라우저에 http://localhost:3333 대시보드 자동 오픈
    # → tester-pm 포그라운드 실행 (대시보드는 백그라운드)

    # 2. 명령 입력 (택 1)
    # a) 대시보드 UI 명령 입력바
    # b) Slack #general 메시지
    # c) tester-pm 터미널에 직접 입력

    # 3. 정지
    ./scripts/stop-agents.sh
  • 대시보드에서 5개 에이전트 카드 실시간 확인 (대시보드 HTTP/API/WS 정상)

  • Coder가 Godot 스캐폴딩 생성 확인 (Phase 1 실행 시)

  • Git에 첫 커밋 확인 (a05e79f 이후 다수 커밋 존재)


Phase 0 완료. Phase 1 시작 가능. (2026-03-29 검증)