코드 이해 추천도 ★★★★☆ 코드 대상

Understand-Anything

코드를 지식 지도로

낯설거나 거대한 코드베이스를 대화형 지식 그래프로 만들어 탐색·검색·질문할 수 있게 합니다. 구조 분석(tree-sitter)과 AI 의미 분석을 결합합니다.

🎯 이 장에서 배우는 것
코드베이스를 빠르게 파악하는 지식그래프의 원리·명령·설치.

한눈에

무엇인가

코드베이스를 탐색 가능한 지식 그래프로 만드는 플러그인

핵심 원리

tree-sitter 구조 파싱 + LLM 의미 추출 → knowledge-graph.json

설치 난이도

보통 (마켓 설치는 간단, 첫 분석은 토큰 큼)

사용자 추천도 (참고)

★★★★☆ — 크고 낯선 코드 온보딩에 강력

특징

아키텍처 레이어 색상화, 증분 업데이트, JSON 공유

출력 언어

영어·한국어 등 5~6개 지원

작동 원리 (자세히)

① 구조 분석 (tree-sitter)

import·함수·클래스·호출·의존관계 같은 결정적 사실을 추출. 매번 같은 입력엔 같은 결과 → 변경 감지·증분 업데이트의 기반.

② 의미 분석 (LLM)

파서가 못 하는 쉬운 말 요약·아키텍처 레이어·업무 도메인 매핑·학습 투어를 생성.

결과는 .understand-anything/knowledge-graph.json(노드=파일·함수·클래스, 엣지=관계)로 저장됩니다. JSON이라 팀이 git에 커밋해 공유하면, 동료는 무거운 분석을 다시 안 돌리고 그래프만 불러옵니다. 이후엔 바뀐 파일만 다시 분석(증분)합니다.

주요 명령

명령하는 일
/understand전체 분석 → 지식 그래프 생성/갱신
/understand-dashboard대화형 웹 시각화(확대·클릭·검색·투어)
/understand-chat [질문]코드에 대해 자연어로 질문
/understand-diff현재 변경의 영향(파급) 분석
/understand-explain [파일]특정 파일·함수 깊이 설명
/understand-onboard팀 온보딩 가이드 생성
/understand-domain업무 도메인·흐름 추출

보조: /understand --auto-update(커밋마다 증분), /understand [하위폴더](범위 좁히기), --language ko(한국어 출력).

설치

방법 A — Claude Code 마켓(권장·가장 깔끔)

Claude Code
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything

방법 B — 설치 스크립트 (Windows는 PowerShell)

PowerShell / bash
# Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.ps1 | iex
# macOS/Linux:
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash

전제: 코드 접근 + LLM API 토큰 예산(첫 분석은 큰 코드에서 토큰을 많이 씁니다).

사용 흐름 · 예시

Claude Code
> /understand                    (지식 그래프 생성)
> /understand-dashboard          (레이어·투어 시각 탐색)
> /understand-chat 결제 흐름이 어디서 처리돼?
> /understand-explain src/auth/session.ts

대표 시나리오: 낯선 20만 줄 저장소에 새로 투입 → /understand → 대시보드로 구조 파악 → /understand-onboard로 안내 문서 생성.

장점 · 단점

👍 장점

구조(결정적)+의미(LLM) 결합. 증분 분석으로 이후 토큰 절약. JSON 공유로 팀 온보딩. 레이어 색상·의미 검색·가이드 투어. 15+ 도구 지원.

👎 단점

첫 분석 토큰 비용 큼(대형 코드일수록). 그래프를 만들어야 탐색 가능. 의미 분석은 LLM 품질에 의존(오류 가능). 출력 언어 제한. 거대 모노레포는 그래프가 비대(범위 좁혀야). 코드 대상(런타임·동작 분석은 아님).

when

언제 쓰고, 언제 피하나

쓰기 좋을 때: 크거나 오래된·낯선 코드베이스 파악, 아키텍처 개요·의존 지도가 필요할 때, 팀이 공유 "지도"를 원할 때, 위험한 변경 전 영향 분석.
피할 때: 작아서 그냥 읽으면 되는 프로젝트, 로컬 모델 없이 토큰이 빡빡할 때, 코드가 아닌 런타임·성능 통찰이 필요할 때.