claude-agent-viz

agent
Security Audit
Warn
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 47 GitHub stars
Code Warn
  • network request — Outbound network request in public/js/api.js
  • network request — Outbound network request in public/js/events.js
  • network request — Outbound network request in public/js/history.js
  • network request — Outbound network request in public/js/main.js
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool provides a local, real-time dashboard for visualizing Claude Code agent activity, utilizing pixel-art characters and space-themed visual effects. It allows users to manage agents, edit configuration files, and track session histories directly from a web interface.

Security Assessment
The overall risk is rated as Medium. The server component (`server.js`) contains several significant capabilities that require caution. It actively uses `child_process` to execute shell commands and features `fs.rmSync` for destructive file operations. While these are likely used for its agent and session file management features, they still present a local attack surface if manipulated. Additionally, the application accesses environment variables, reads and writes to the file system, and makes outbound network requests (via `public/js/history.js`). Fortunately, there are no hardcoded secrets detected, and it requests no inherently dangerous broad permissions.

Quality Assessment
The project appears to be actively maintained, with its most recent push occurring today. It uses the permissive and standard MIT license, making it safe for integration. However, it currently has a low community trust footprint with only 37 GitHub stars, meaning it has not been broadly vetted by a large audience yet.

Verdict
Use with caution — while the tool is useful and actively maintained, developers should review its shell execution and file deletion logic before running it locally.
SUMMARY

Claude Code 에이전트 활동을 실시간으로 시각화하는 로컬 대시보드. 픽셀아트 캐릭터 + 계절/날씨 효과.

README.md

Claude Agent Orchestrator

Claude Code의 에이전트 활동을 실시간으로 시각화하는 로컬 대시보드입니다.
픽셀아트 캐릭터들이 에이전트의 상태를 표현하고, 워크스페이스에서 자율적으로 활동합니다.

💡 설치가 귀찮다면? 이 README를 Claude Code에게 보여주고 "설치해줘"라고 하면 됩니다.

https://github.com/user-attachments/assets/30cf8a5c-3e5a-4264-904e-31a7310a8cb2

메인 대시보드 — 에이전트 working + 계보선

주요 기능

  • 실시간 에이전트 모니터링 — SSE 기반으로 에이전트 시작/완료/도구 사용을 실시간 추적
  • 픽셀아트 캐릭터 — 에이전트별 고유 캐릭터가 워크스페이스에서 배회, 수면, 작업
  • CLAUDE.md 편집 — 전역/프로젝트별 CLAUDE.md를 대시보드에서 직접 편집
  • 에이전트 관리~/.claude/agents/*.md 파일 생성/편집/삭제, 드래그앤드롭 순서 변경 (order 필드로 .md 파일에 저장)
  • 프로젝트별 에이전트 토글 — 프로젝트마다 사용할 에이전트를 on/off 설정
  • MCP 서버 목록 — 연결된 MCP 서버 현황 표시
  • Hooks 현황 — 설정된 훅 핸들러 목록 표시
  • 타임라인 — 에이전트 실행 시간 바 차트 (Master 진행 상태는 액티비티 패널에서 확인)
  • 세션 관리 — 멀티 세션 탭, 이름 변경(더블클릭), 드래그앤드롭 순서 변경(브라우저에 저장), 상태 추적
  • /rename 자동 동기화 — Claude Code에서 /rename 명령 실행 시 탭 이름 실시간 갱신
  • 세션 히스토리 — 종료된 세션의 질문 프롬프트 원문 + 응답 요약 자동 저장, 에이전트/도구/파일 통계 포함 (7일·10MB·세션당 100질문 가드)
  • 히스토리 검색 — 프롬프트/파일명/세션명 키워드 검색 + 날짜/에이전트 필터, 매칭 하이라이트
  • 히스토리 사용 안 함 토글 — ON 시 이후 종료되는 세션은 디스크에 저장하지 않음 (메모리/실시간 UI는 계속 동작)
  • 히스토리 삭제 — 모달 헤더의 "전체 삭제" 버튼 + 행 단위 ✕ 버튼 (inline 2단계 confirm)
  • 민감정보 자동 마스킹sk-*, ghp_*, AKIA*, JWT, Bearer 토큰 등 자동 치환
  • 브라우저 알림 — 탭 비활성 시 에이전트 완료, 응답 완료 알림 (on/off 토글)
  • 일일 통계 — 오늘의 질문 수, 에이전트별/도구별 사용 횟수, 주간/누적 통계, 🔄 전체 초기화 지원
  • 🌱 활동 잔디 — GitHub contribution graph 스타일. 년도별 1월~12월 전체 표시 + 년도 탭 전환. 데이터 무제한 보관
  • 😄 캐릭터 감정 이모지 — working(💦🔥⚡), done(✨🎉❤️), ESC 중단(❗😵) 시 캐릭터 위에 팝업
  • 💬 캐릭터 간 대화 — 2명 이상 동시 working 시 랜덤 대화 교환 ("도와줄까?" → "괜찮아 거의 끝나")
  • ⏱️ 세션 타이머 — 헤더에 현재 세션 경과 시간 표시
  • ⌨️ ESC 단축키 — 열려있는 모달을 ESC 키로 닫기
세션 히스토리 활동 잔디
  • 마을(우주) 모드 — 우주 배경 + 별/은하수/nebula/별똥별/별자리. 워크스페이스 폭에 따라 캐릭터 크기 자동 조정 (Tier 1/2/3). 항상 활성 (이전 환경 효과 토글은 제거됨)
  • 💭 Thinking 말풍선 — Master가 생각 중일 때 구름 모양 말풍선 + ··· 바운스 애니메이션 (일반 작업 말풍선과 시각적 구분)
  • 🖱️ 캐릭터 드래그 재배치 — 워크스페이스에서 캐릭터를 마우스/터치로 자유롭게 이동 (grab 커서, 글로우 효과, 안전 경계 clamp)
  • 📐 계보선 — Master가 에이전트를 spawn하면 대시 연결선이 실시간으로 표시, 캐릭터 이동에 따라 15fps 업데이트
  • 🏆 포인트 히스토리 & 성취 — 일별 포인트 획득/사용 추이 + 성취 배지 (마스터/에이전트/수집/이벤트 카테고리). 🏆 버튼으로 모달 열기

성취 모달   우주 상점

  • 🎮 게임화 — 우주 꾸미기 (Phase 2) — 완전 검정 우주에서 시작, 활동하며 포인트를 모아 아이템으로 꾸며가는 Cookie Clicker 스타일. 66개 아이템 (해금 5 / 별 5 / 큰별 4 / 푸른별·주황별 각 3 / 반짝이는별 5 / 은하수 7 / 성운 5 / 별똥별 8 / 천체 5 / 별자리 1 / 캐릭터 4 / 이벤트 7 / 메타 1 / Legendary 3) + 14 카테고리 탭. 신규 사용자 환영 보너스 200P + 이벤트 훅 자동 포인트 획득(질문 +3, 도구 +0.5, 에이전트 완료 +10, 응답 +1) → ⭐ 포인트 배지 클릭 시 🛒 상점 모달 → 구매 즉시 우주에 반영 (SSE). 천체 5종(달/행성/펄사/쌍성/우주정거장) + 캐릭터 효과 4종(후광/잔상/점프/팡파르) + 연속 스트릭 배지. 가격 일괄 ×2, 삭제 아이템 DEPRECATED_ITEMS fallback 환불. 프리뷰 모드 지원(?preview=empty/mid/full).
  • 🎮 미니게임 — 응답 대기 중 즐기는 미니게임 3종 (🐍 Snake, 🔢 2048, 🐦 Flappy Bird). 최고점수 저장, Snake/2048 이어하기 지원. 🎮 버튼으로 모달 열기
  • 성능 최적화 — 탭 비활성 시 애니메이션 자동 정지, renderAll 디바운스, 이벤트 마스터 틱 single-interval, DOM 파티클 상한 가드

요구사항

  • macOS / Windows (Linux 미테스트)
  • Node.js 16+ (node --version으로 확인)
  • Claude Code CLI

설치

1. 파일 배치

# ~/.claude/agent-viz/ 에 프로젝트 파일 배치
git clone https://github.com/oy-snowwwww/claude-agent-viz.git ~/.claude/agent-viz

2. 에이전트 디렉토리 생성

에이전트 .md 파일을 넣을 디렉토리가 없다면 생성합니다 (이미 있으면 건너뛰세요):

mkdir -p ~/.claude/agents

3. 실행 권한 부여

chmod +x ~/.claude/agent-viz/start.sh
chmod +x ~/.claude/agent-viz/hook-handler.sh

4. CLI 별칭 설정 (선택)

# ~/.zshrc 또는 ~/.bashrc에 추가
alias claude-agents="bash ~/.claude/agent-viz/start.sh"

5. Claude Code 훅 설정

~/.claude/settings.json을 열고 hooks 키 안에 아래 이벤트들을 추가합니다.

이미 다른 hooks가 있다면? 기존 이벤트 배열에 항목을 추가하세요. 예를 들어 SessionStart에 이미 훅이 있으면, 해당 배열에 아래 항목을 병합합니다. 처음 설정하는 경우 아래 전체를 그대로 붙여넣으면 됩니다.

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/start.sh auto"
          },
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/hook-handler.sh session_start"
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/hook-handler.sh thinking_start"
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/hook-handler.sh thinking_end"
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/hook-handler.sh session_end"
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Agent",
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/hook-handler.sh agent_start"
          }
        ]
      },
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/hook-handler.sh tool_use"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Agent",
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/agent-viz/hook-handler.sh agent_done"
          }
        ]
      }
    ]
  }
}

설정 후 Claude Code를 재시작하거나 새 세션을 시작해야 훅이 반영됩니다.

사용법

서버 관리

claude-agents          # 서버 시작 + 브라우저 열기
claude-agents stop     # 서버 종료
claude-agents status   # 현재 상태 확인
claude-agents on       # 세션 시작 시 자동 실행 ON
claude-agents off      # 세션 시작 시 자동 실행 OFF

대시보드 UI

영역 설명
좌측 패널 Master(CLAUDE.md), Agents(관리/토글), MCP 서버, Hooks
워크스페이스 픽셀아트 캐릭터 + 우주 배경 (별/은하수/nebula/별똥별/별자리). 드래그 재배치, Thinking 말풍선, 계보선. Tier 1/2/3 자동 크기
액티비티 Master + 에이전트별 프로그레스 바 + 상태
타임라인 에이전트 실행 시간 시각화 (Master는 액티비티 패널)
로그 실시간 이벤트 로그
히스토리 🕐 버튼으로 열기 — 종료 세션의 프롬프트/응답 요약, 작업 폴더 칩(parent/basename, hover 시 전체 경로, 클릭 시 클립보드 복사), 키워드 검색, 날짜/에이전트 필터, 🔒 사용 안 함 토글, 🗑 전체 삭제 버튼, 행 단위 ✕ 삭제 (2단계 confirm)

헤더 버튼

버튼 기능
⭐ 포인트 배지 현재 잔고 + 누적 표시. 클릭 시 🛒 상점 모달 열기
🏆 포인트 히스토리 & 성취 모달 (일별 추이 + 성취 배지)
🌱 활동 잔디 모달 (GitHub 스타일, 년도별)
🎮 미니게임 (Snake, 2048, Flappy Bird)
🔔 브라우저 알림 on/off
🕐 세션 히스토리
? 도움말
서버 재시작
서버 종료
🌙/☀️ 테마 전환 (Dark/Light)

에이전트 토글

각 에이전트 카드의 토글 스위치로 프로젝트별 에이전트 활성화를 제어합니다.

OFF하면? 프로젝트 CLAUDE.md 끝에 아래 마커가 자동 삽입됩니다:

<!-- agent-viz:agents coder, qa -->
<!-- 이 프로젝트에서는 위 에이전트만 사용한다 -->

Claude는 이 주석을 읽고 해당 에이전트만 사용합니다. 기존 CLAUDE.md 내용은 건드리지 않습니다.

  • Master 작업 중이거나 해당 에이전트가 실행 중일 때 토글 변경 불가 (잠금)
  • 전체 ON 시 제한 해제 (마커 제거)
  • 전체 OFF 시 에이전트 미사용 (none)

세션 히스토리

종료된 세션을 자동으로 저장하고 나중에 검색/조회할 수 있습니다. 🕐 버튼으로 히스토리 모달 열기.

자동 저장 내용

  • 질문 프롬프트 원문 (최대 500자, 민감정보 자동 마스킹)
  • 질문별 응답 요약 (Claude Code transcript JSONL 파싱으로 추출)
  • 에이전트 사용 통계 (타입별 실행 수, 평균 시간)
  • 도구 사용 카운트 + 파일 접근 횟수 (Top 10)
  • 응답 시간 (평균, 최대)

검색/필터

  • 키워드 검색 — 프롬프트, 응답 요약, 파일명, 세션명 전역 매칭 + 하이라이트
  • 날짜 필터 — 전체 / 오늘 / 최근 3일 / 최근 7일
  • 에이전트 필터 — 특정 에이전트를 호출한 세션만 표시

용량 가드

  • 7일 이상 오래된 파일 자동 삭제
  • history/ 디렉토리 10MB 초과 시 오래된 순으로 추가 삭제
  • 세션당 최대 100개 질문까지만 개별 저장 (그 이후는 통계만 누적)
  • 1시간 주기로 cleanHistory 자동 실행

사용 안 함 토글 (🔒) — 이후 종료되는 세션을 디스크에 저장하지 않음

  • ON: saveSessionHistory()가 skip되어 history/ 에 새 파일이 생기지 않음 (실시간 UI는 메모리 기반이라 정상 동작)
  • OFF: 이후 세션부터 다시 정상 저장
  • ~/.claude/agent-viz/privacy 파일로 상태 관리 (서버 재시작 후에도 유지)
  • 토글은 "기록 여부"만 제어 — 이미 저장된 히스토리 정리는 별도의 🗑 전체 삭제 버튼 또는 행 단위 ✕ 삭제 사용

민감정보 자동 마스킹

  • OpenAI/Anthropic 키 (sk-*)
  • GitHub 토큰 (ghp_*, ghs_*, gho_*, ghu_*, github_pat_*)
  • Slack 토큰 (xoxb-* 등)
  • AWS Access Key (AKIA*)
  • JWT (3 segment base64url)
  • Bearer 토큰 헤더

/rename 자동 동기화

Claude Code 세션에서 /rename <이름> 명령을 실행하면 대시보드 탭 이름이 자동으로 갱신됩니다.

동작

  1. /rename 명령은 Claude Code transcript(<sessionId>.jsonl)에 기록됨
  2. 다음 thinking_start 시 서버가 transcript 끝에서 가장 최근 /rename 명령 추출
  3. 현재 세션 이름과 다르면 업데이트 + SSE로 브라우저에 즉시 반영
  4. _renamedFromTranscript 플래그로 이후 훅 이벤트의 cwd basename 덮어쓰기 방지

문제 해결

증상 확인
서버가 뜨지 않음 포트 충돌 — lsof -i :54321AGENT_VIZ_PORT=다른포트 환경변수로 변경
훅이 동작 안 함 ~/.claude/settings.json의 hooks 설정 확인 + Claude Code 세션 재시작
훅 에러 디버깅 bash ~/.claude/agent-viz/hook-handler.sh session_start 수동 실행해서 에러 확인
탭/UI가 이상함 브라우저 새로고침 (F5) 또는 서버 재시작 (↻ 버튼)
히스토리가 저장 안 됨 /exit로 세션 종료했는지 + 히스토리 모달의 🔒 사용 안 함 토글 해제 확인
탭 이름이 /rename과 다름 브라우저 새로고침 — SSE가 일시적으로 끊겼을 수 있음
에이전트가 워크스페이스에 안 보임 좌측 에이전트 토글 확인 + ~/.claude/agents/*.md 파일 존재 확인

주의사항

CLAUDE.md는 git에 올리지 마세요

에이전트 토글 기능이 프로젝트 CLAUDE.md에 마커를 씁니다. 프로젝트의 .gitignore에 아래 항목을 추가하세요:

CLAUDE.md
.claude/
.mcp.json

설정

환경변수

변수 기본값 설명
AGENT_VIZ_PORT 54321 서버 포트

파일 구조

~/.claude/agent-viz/
├── public/                    # 클라이언트 정적 파일 (브라우저에 서빙)
│   ├── index.html             # UI 마크업 + <script> 태그만 (인라인 JS 없음)
│   ├── css/
│   │   └── styles.css         # 전체 스타일
│   └── js/                    # JS 모듈 (20개, <script> 순서 로딩)
│       ├── constants.js       # 상수 (색상, 도구 목록, 픽셀맵, Village Tier, 게임화 ITEMS 카탈로그)
│       ├── state.js           # 전역 상태 (sessions, liveInstances, currentVillageTier 등)
│       ├── utils.js           # 순수 헬퍼 (esc, shade, buildPix) + Village Tier 감지 + 글로벌 툴팁
│       ├── village.js         # 마을(우주) 모드 — 별/은하수/nebula/별똥별 (게임 버프 적용)
│       ├── creature.js        # 픽셀 캐릭터 자율 행동 (roam/sleep/blink)
│       ├── history.js         # 세션 히스토리 UI (검색·필터·삭제·cwd 칩)
│       ├── notifications.js   # 브라우저 알림
│       ├── animations.js      # 시각 이펙트 (sparks/flyDot/celebrate)
│       ├── event-ticks.js     # 게임화 이벤트 마스터 틱 (10종 주기 이벤트 + Twin Moons 상시 오버레이)
│       ├── points.js          # 게임화 포인트 — 배지 렌더 + SSE 수신 + 버프 동기화 (프리뷰 모드 격리)
│       ├── shop.js            # 🛒 상점 모달 — 12 카테고리 탭, 구매 (Epic/Legendary 2단계 확인), 환불 초기화
│       ├── games.js           # 🎮 미니게임 — Snake, 2048, Flappy Bird (localStorage 저장, 이어하기)
│       ├── api.js             # 서버 API 호출 래퍼 (fetch/save/delete)
│       ├── log.js             # 로그 패널 (addLog, renderLogs, fmtTime)
│       ├── sessions.js        # 세션/탭 관리 (register/switch/rename/reorder + 상태 헬퍼)
│       ├── workspace.js       # 워크스페이스 + 에이전트 목록 + Master 카드 렌더 (Ambient 버프 적용)
│       ├── panels.js          # Activity + Timeline 패널 렌더
│       ├── stats.js           # Daily Stats 드롭다운 + SSE 실시간 업데이트
│       ├── mcp-hooks.js       # MCP 서버 + Hooks 사이드바 렌더
│       ├── modal.js           # 에이전트/마스터 설정 모달
│       ├── server-control.js  # 재시작/종료/도움말/토스트
│       ├── events.js          # SSE 연결 + 이벤트 타입별 핸들러 (handleLiveEvent)
│       └── main.js            # 부트스트랩 — Theme, renderAll, Logo, init, Page Visibility, 게임 버프 초기화 + 프리뷰 모드
├── server.js                  # Node.js HTTP 서버
├── hook-handler.sh            # Claude Code 훅 → 서버 이벤트 브릿지
├── start.sh                   # 서버 시작/종료/상태 CLI
├── enabled                    # 자동 실행 플래그 (파일 존재 여부)
├── privacy                    # Privacy 모드 플래그 (파일 존재 여부)
├── sessions/                  # 활성 세션 PID 파일
├── history/                   # 세션 히스토리 JSON (7일·10MB 가드, 1시간 주기 정리)
├── agent-stats.json           # 일일/주간/누적 통계
└── points.json                # 게임화 포인트 (잔고·누적·인벤토리, 런타임 — .gitignore 처리)

화면에 뭐가 어디서 오는가

대시보드에 보이는 각 영역이 어떤 파일을 읽는지 매핑입니다.

대시보드 영역 데이터 소스 설명
MASTER (좌측) ~/CLAUDE.md + <프로젝트>/CLAUDE.md 클릭하면 편집 가능
AGENTS (좌측) ~/.claude/agents/*.md 에이전트 카드 + 토글
에이전트 토글 on/off <프로젝트>/CLAUDE.md에 마커 저장 프로젝트별 에이전트 제한
MCP SERVERS (좌측) ~/.mcp.json 연결된 MCP 서버 목록
HOOKS (좌측) ~/.claude/settings.json → hooks 훅 핸들러 현황
워크스페이스 캐릭터 ~/.claude/agents/*.md + 실시간 이벤트 에이전트 상태 시각화
액티비티/타임라인/로그 Claude Code 훅 이벤트 (실시간) SSE로 수신
세션 히스토리 ~/.claude/agent-viz/history/*.json 세션 종료 시 자동 저장, /api/history?q=&days=&agent=로 검색
히스토리 삭제 DELETE /api/history (전체) / DELETE /api/history/:filename (개별) 모달 헤더의 "전체 삭제" 버튼 + 행 단위 ✕ 버튼
통계 초기화 POST /api/stats/reset 헤더 📊 드롭다운 하단 "🔄 통계 초기화" 버튼 (today + history + total 모두 비움)
질문별 응답 요약 ~/.claude/projects/<프로젝트>/<sessionId>.jsonl Claude Code transcript 파싱으로 자동 추출
/rename 탭 동기화 같은 transcript의 <command-name>/rename</command-name> 추출 thinking_start 시 최신 rename 감지 → 탭 이름 자동 갱신
사용 안 함 토글 ~/.claude/agent-viz/privacy (파일 존재 여부) /api/privacy 토글 — ON 시 saveSessionHistory() 스킵, 다음 세션부터 디스크에 기록 안 함 (디스크 정리는 별도 "전체 삭제" 액션)
민감정보 마스킹 server.jsmaskSecrets() sk-*/ghp_*/AKIA*/JWT/Bearer 자동 치환
⭐ 포인트 배지 points.jsonGET /api/points + SSE points_updated 잔고/누적/인벤토리/buffs. 이벤트 훅에서 POINTS_RULES에 따라 자동 획득 (질문 +3, 도구 +0.5, 에이전트 완료 +10, 응답 +1)
🛒 상점 모달 constants.js ITEMS 카탈로그 + pointsData.inventory 14 카테고리 탭 · POST /api/points/purchase로 구매 (화이트리스트/Origin/1KB DoS 가드) · POST /api/points/reset mode:refund로 환불
🏆 성취 모달 GET /api/points/achievements → 성취 정의 + 달성 상태 10개 카테고리 × 51개 성취, 이모지 탭 전환, 달성 시 포인트 보상
📐 계보선 실시간 이벤트 (Master working + 에이전트 working) updateLineage() — Master→working 에이전트 SVG 대시선, 15fps 업데이트
🌱 활동 잔디 GET /api/stats/activityagent-stats.json history 년도별 1월~12월 격자, 데이터 무제한 보관
우주 버프 반영 computeBuffs(inventory)window.gameBuffsvillage.js / workspace.js / event-ticks.js 구매 즉시 renderVillage() 재호출로 레이어 재생성 + Aurora 상시 오버레이 재부착

파일을 만들면 → 대시보드에 자동 반영

~/.claude/agents/my-agent.md 생성  →  좌측 AGENTS에 카드 표시 + 워크스페이스에 캐릭터 등장
~/.mcp.json에 서버 추가            →  좌측 MCP SERVERS에 표시
~/CLAUDE.md 수정                   →  MASTER에서 편집/확인 가능

Claude Code 설정 구조 안내

이 도구는 Claude Code의 설정 파일들과 연동됩니다. 처음이라면 아래 구조를 참고하세요.

~/
├── CLAUDE.md                      # 전역 설정 (모든 프로젝트에 적용)
└── .claude/
    ├── settings.json              # Claude Code 설정 (hooks, permissions 등)
    ├── settings.local.json        # 로컬 설정 (gitignore 대상)
    ├── agents/                    # 에이전트 정의 (.md 파일)
    │   ├── coder.md
    │   ├── reviewer.md
    │   └── ...
    └── agent-viz/                 # ← 이 프로젝트

에이전트 파일 예시 (~/.claude/agents/coder.md)

---
name: coder
description: 백엔드 코드 구현
tools: ["Read", "Write", "Edit", "Glob", "Grep", "Bash"]
model: sonnet
---

당신은 백엔드 개발자입니다.
코드를 구현하고 테스트를 작성합니다.

프로젝트 CLAUDE.md 예시 (<프로젝트>/CLAUDE.md)

# 프로젝트 설정

## 기본 규칙
- Kotlin/Spring Boot 프로젝트
- 테스트는 JUnit5 사용

## 빌드
- ./gradlew build

MCP 서버 설정 (~/.mcp.json)

{
  "mcpServers": {
    "github-mcp": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    }
  }
}

기술 스택

  • 의존성 없음 — npm 패키지, 외부 CDN 없이 Node.js 내장 모듈만 사용
  • 정적 파일 서빙public/ 하위에 클라이언트 자산 (HTML/CSS/JS) 분리, 서버가 직접 서빙
  • SSE (Server-Sent Events) — 실시간 이벤트 스트리밍
  • Vanilla JavaScript — 프레임워크 없는 순수 JS, 빌드 시스템 없음 (ES 모듈 대신 <script> 순서 로딩으로 8개 파일 분리)
  • 단위/통합 테스트 — Node 18+ 내장 node:test (의존성 0). 124 tests — 서버 단위 81개 + HTTP 통합 18개(child 서버 spawn + 실제 API) + 클라이언트 순수 함수 25개(constants/utils). 실행: bash test/run.sh [unit|integration|all]

라이선스

MIT

Reviews (0)

No results found