AI 코딩 어시스턴트 플러그인: 프로젝트 전체를 지식 그래프로 매핑하는 graphify
요약
graphify는 프로젝트의 코드, 문서, 미디어 등을 지식 그래프로 매핑하여 AI 코딩 어시스턴트가 프로젝트 전체를 이해하도록 돕는 도구입니다. 벡터 인덱스가 아닌 실제 탐색 가능한 그래프를 구축하여, 파일 검색 대신 질의응답과 경로 추적이 가능합니다.
핵심 포인트
- 코드, 문서, 이미지 등을 지식 그래프로 변환하여 프로젝트 맥락 파악 지원
- tree-sitter AST를 활용한 로컬 코드 파싱으로 보안 및 결정론적 매핑 보장
- 모든 연결(edge)에 추출(EXTRACTED) 또는 추론(INFERRED) 태그를 부여해 신뢰도 제공
- Claude Code, Cursor, GitHub Copilot 등 15개 이상의 플랫폼과 호환
다른 언어로 읽기
🇺🇸 English | 🇨🇳 简体中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇩🇪 Deutsch | 🇫🇷 Français | 🇪🇸 Español | 🇮🇳 हिन्दी | 🇧🇷 Português | 🇷🇺 Русский | 🇸🇦 العربية | 🇮🇷 فارسی | 🇮🇹 Italiano | 🇵🇱 Polski | 🇳🇱 Nederlands | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇻🇳 Tiếng Việt | 🇮🇩 Bahasa Indonesia | 🇸🇪 Svenska | 🇬🇷 Ελληνικά | 🇷🇴 Română | 🇨🇿 Čeština | 🇫🇮 Suomi | 🇩🇰 Dansk | 🇳🇴 Norsk | 🇭🇺 Magyar | 🇹🇭 ภาษาไทย | 🇺🇿 Oʻzbekcha | 🇹🇼 繁體中文 | 🇵🇭 Filipino | 🇮🇱 עברית
AI 코딩 어시스턴트에서 /graphify를 입력하면 프로젝트 전체(코드, 문서, PDF, 이미지, 비디오)가 **지식 그래프 (knowledge graph)**로 매핑되어 파일을 검색하는 대신 질의응답할 수 있습니다.
코드는 무료로, 완전히 로컬로 매핑됩니다. 코드는 tree-sitter AST로 파싱되므로 결정론적이며 LLM을 사용하지 않고, 아무것도 기기를 벗어나지 않습니다. (문서, PDF, 이미지 및 비디오는 어시스턴트의 모델 또는 구성된 API 키를 사용하여 의미론적 처리를 수행합니다.)모든 엣지는 설명됩니다. 각 연결은 EXTRACTED (소스에서 명시됨) 또는 INFERRED (graphify에 의해 해결됨)로 태그가 지정되어, 무엇이 직접 읽혔고 무엇이 추론되었는지 알 수 있습니다.벡터 인덱스가 아닙니다. 임베딩이나 벡터 스토어가 아닌, 실제로 탐색할 수 있는 그래프입니다. 질문을 하거나 두 가지 사물 사이의 경로를 추적하거나 하나의 개념을 설명할 수 있습니다.
graphify가 매핑한 FastAPI 코드베이스. 모든 노드는 개념이며, 색상은 감지된 커뮤니티이고, 전체 내용은 graph.html에서 클릭 가능합니다.
시작하기 (30초):
uv tool install graphifyy # CLI 설치 (또는: pipx install graphifyy)
graphify install # AI 어시스턴트에 스킬 등록
그런 다음, AI 어시스턴트에서:
/graphify .
끝입니다. 세 가지 파일을 얻게 됩니다:
graphify-out/
├── graph.html (모든 브라우저에서 열기) — 노드 클릭, 필터링, 검색
├── GRAPH_REPORT.md (주요 하이라이트: 핵심 개념, 놀라운 연결, 제안된 질문)
...
Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot 및 15개 이상의 플랫폼에서 작동합니다 — 원하는 플랫폼을 선택하세요.
그래프가 구축되면 파일을 직접 읽는 대신 그래프에 쿼리(query)를 보냅니다. 실제 출력 결과는 위에서 보여준 FastAPI 코드베이스에서 graphify를 실행했을 때 다음과 같습니다:
$ graphify explain "APIRouter"
Node: APIRouter
Source: routing.py L2210
...
모든 엣지(edge)는 신뢰도 태그 (confidence tag) (EXTRACTED = 소스에 명시됨, INFERRED = 추론을 통해 도출됨)를 포함하고 있어, 무엇이 직접 읽힌 것이고 무엇이 추론된 것인지 구분할 수 있습니다. graphify query "<질문>"은 일상 언어로 된 질문에 대해 범위가 지정된 서브그래프(subgraph)를 반환하며, graphify path A B는 두 대상이 어떻게 연결되는지 추적합니다.
기본 제공 기능:
| 기능 | 제공 내용 |
|---|---|
| God nodes | 가장 많이 연결된 개념들로, 모든 것이 무엇을 통해 흐르는지 확인할 수 있음 |
| Communities | LLM 없이 레이블링된, 서브시스템(Leiden 알고리즘)으로 분할된 그래프 |
| Cross-file links | tree-sitter AST를 통해 약 40개 언어에 걸쳐 해결된 calls / imports / inherits / mixes_in |
| Query, path, explain | graph.json을 바탕으로 질문하기, 두 대상 사이의 경로 추적하기, 또는 하나의 개념 설명하기 |
| Rationale + doc refs | # NOTE: / # WHY: 주석 및 ADR/RFC 인용구가 코드와 연결된 일급 객체(first-class) 노드가 됨 |
| Beyond code | 문서, PDF, 이미지, 비디오/오디오가 모두 동일한 그래프로 매핑됨 |
| Local-first | 코드는 tree-sitter를 통해 로컬에서 파싱됨 (LLM 미사용, 데이터가 기기를 벗어나지 않음); 문서/미디어에 대한 시맨틱 패스(semantic pass)만 백엔드를 호출하며, 이는 사용자가 구성한 경우에만 발생함 |
| 벤치마크 (Benchmark) | 지표 (Metric) | graphify | 비교 대상 (Field) |
|---|---|---|---|
| LOCOMO (n=300) | recall@10 | 0.497 | mem0 0.048, supermemory 0.149 |
| LOCOMO (n=300) | QA accuracy | 45.3% | supermemory 49.7%, mem0 27.3% |
| LongMemEval-S (n=50) | QA accuracy | 76% | dense RAG와 동률 |
| Graph build | LLM credits | 0 | 대부분의 시스템은 토큰당 비용 발생 |
모든 시스템은 동일한 모델과 예산 하에 동일한 하네스 (harness)에서 실행되었으며, 두 번째 판사(judge)와 블라인드 검증을 거친 판사에 의해 점수가 매겨졌습니다 (일치도 90.6%, 코헨의 카파(Cohen's kappa) 0.81). 시스템별 전체 테이블, 코드 지능 (code-intelligence) 결과, 그리고 재현 명령은 BENCHMARKS.md에서 확인할 수 있습니다.
| 요구 사항 | 최소 사양 | 확인 | 설치 |
|---|---|---|---|
| Python | 3.10+ | python --version | python.org |
| uv (권장) | 제한 없음 | uv --version | `curl -LsSf https://astral.sh/uv/install.sh |
| pipx (대안) | 제한 없음 | pipx --version | pip install pipx |
macOS 빠른 설치 (Homebrew):
brew install python@3.12 uv
Windows 빠른 설치:
winget install astral-sh.uv
Ubuntu/Debian:
sudo apt install python3.12 python3-pip pipx
# 또는 uv 설치:
curl -LsSf https://astral.sh/uv/install.sh | sh
공식 패키지: PyPI 패키지는 graphifyy (y가 두 개)입니다.
PyPI에 있는 다른 graphify* 패키지들은 관련이 없습니다. CLI 명령은 여전히 graphify입니다.
1단계 — 패키지 설치:
# 권장 사항 (격리된 환경; 설치 후 'graphify'를 찾을 수 없는 경우 다음 실행: uv tool update-shell):
uv tool install graphifyy
# 대안:
...
2단계 — AI 어시스턴트에 스킬 등록:
graphify install
끝입니다. AI 어시스턴트를 열고 /graphify .를 입력하세요.
사용자 프로필 대신 현재 리포지토리(repository)에 어시스턴트 스킬을 설치하려면 --project를 추가하세요:
graphify install --project
graphify install --project --platform codex
프로젝트 범위(Project-scoped) 설치는 현재 디렉토리에 파일을 작성합니다. 예를 들어 .claude/skills/graphify/SKILL.md 또는 .agents/skills/graphify/SKILL.md (그리고 스킬이 필요할 때 로드하는 references/ 사이드카 파일)와 같이 작성되며, 커밋할 수 있는 파일들에 대해 git add 힌트를 출력합니다. 프로젝트 범위 설치를 지원하는 플랫폼별 명령어도 동일한 플래그를 허용합니다. 예를 들어 graphify claude install --project 또는 graphify codex install --project와 같이 사용할 수 있습니다.
PowerShell 참고 사항: /graphify .가 아닌 graphify .를 사용하세요.
— PowerShell에서는 앞서 붙은 슬래시(/)가 경로 구분자로 사용됩니다.
graphify: command not found (graphify: 명령어를 찾을 수 없음)
uv tool install 또는 pipx install을 사용하세요.
graphify 명령어를 해당 도구의 bin 디렉토리(~/.local/bin)에 넣으세요. 만약 설치 직후 셸(shell)에서 명령어를 찾을 수 없다면 — 이는 새로운 macOS + zsh 설정에서 흔히 발생하는 현상입니다 — 해당 디렉토리가 아직 PATH에 등록되지 않은 것입니다. uv tool update-shell (또는 pipx ensurepath)을 실행한 다음, 새 터미널을 여세요. 일반적인 pip를 사용하는 경우, ~/.local/bin (Linux) 또는 ~/Library/Python/3.x/bin (Mac)을 PATH에 추가하거나, python -m graphify를 실행하세요.
설치 대신 uvx / uv tool run을 사용하여 실행하려면? 명령어가 아닌 패키지 이름을 입력해야 합니다: uvx --from graphifyy graphify install. 일반적인 uvx graphify ...는 실패합니다 (No solution found … no versions of graphify). 그 이유는 uv tool run이 첫 번째 단어를 패키지로 읽기 때문이며, 실제 패키지 이름은 graphifyy이고 graphify 명령어는 그 안에 포함되어 있기 때문입니다.
가능하면 피하세요. Mac/Windows에서 pip install을 사용하면 이 스킬은 런타임에 graphify-out/.graphify_python에서 Python을 해결(resolve)합니다. 만약 이 경로가 pip가 패키지를 설치한 환경과 다른 환경을 가리키고 있다면, ModuleNotFoundError: No module named 'graphify' 오류가 발생합니다. uv tool install과 pipx install은 패키지를 자체적인 환경(env)에 격리하여 이 문제를 완전히 방지합니다.
Git hooks와 uv tool / pipx: graphify hook install은 설치 시점에 현재 인터프리터 경로를 훅(hook) 스크립트에 직접 삽입합니다. 따라서 ~/.local/bin이 PATH에 없는 GUI Git 클라이언트나 CI 러너(runner)에서도 post-commit 훅이 올바르게 실행됩니다. graphify를 재설치하거나 업그레이드하는 경우, graphify hook install을 다시 실행하여 삽입된 경로를 갱신하세요.
플랫폼 선택 (20개 이상의 어시스턴트, 클릭하여 확장)
| 플랫폼 | 설치 명령어 |
|---|---|
| Claude Code (Linux/Mac) | graphify install |
| ... |
Codex 사용자의 경우, 병렬 추출(parallel extraction)을 위해 ~/.codex/config.toml 파일의 [features] 섹션 아래에 multi_agent = true를 설정해야 합니다. CodeBuddy는 Claude Code와 동일한 Agent 도구 및 PreToolUse 훅 메커니즘을 사용합니다. Factory Droid는 Task를 사용합니다.
병렬 서브 에이전트 디스패치 (parallel subagent dispatch)를 위한 도구입니다. OpenClaw와 Aider는 순차적 추출 (sequential extraction)을 사용합니다 (해당 플랫폼들은 병렬 에이전트 지원이 아직 초기 단계입니다). Trae는 병렬 서브 에이전트 디스패치를 위해 Agent 도구를 사용하며, PreToolUse 훅 (hooks)을 지원하지 않으므로, AGENTS.md가 항상 활성화된 메커니즘입니다.
--platform agents
(별칭 --platform skills)
은 프레임워크를 가리지 않는 범용적인 Agent-Skills 위치를 대상으로 합니다. 전역 설치의 경우 스펙의 사용자 전역 경로인 ~/.agents/skills/ (npx skills 및 스펙 준수 프레임워크가 읽음)를 대상으로 하며, 프로젝트 (--project) 설치의 경우 ./.agents/skills/를 대상으로 합니다. 기본 graphify install은 설계상 단일 플랫폼 (Claude Code) 상태를 유지합니다. .agents/skills를 읽는 모든 프레임워크에서 해당 스킬을 발견할 수 있게 하려면 명시된 agents 플랫폼을 사용하세요.
Codex는 /graphify 대신 $graphify를 사용합니다.
선택적 추가 기능 (필요한 것만 설치하세요)
| 추가 기능 | 추가되는 기능 | 설치 |
|---|---|---|
pdf | PDF 추출 | uv tool install "graphifyy[pdf]" |
office | .docx 및 .xlsx 지원 | uv tool install "graphifyy[office]" |
google | Google Sheets 렌더링 | uv tool install "graphifyy[google]" |
video | 비디오/오디오 전사 (faster-whisper + yt-dlp) | uv tool install "graphifyy[video]" |
mcp | MCP stdio 서버 | uv tool install "graphifyy[mcp]" |
neo4j | Neo4j 푸시 지원 | uv tool install "graphifyy[neo4j]" |
falkordb | FalkorDB 푸시 지원 | uv tool install "graphifyy[falkordb]" |
svg | SVG 그래프 내보내기 | uv tool install "graphifyy[svg]" |
leiden | Leiden 커뮤니티 탐지 (Python < 3.13 전용) | uv tool install "graphifyy[leiden]" |
ollama | Ollama 로컬 추론 | uv tool install "graphifyy[ollama]" |
openai | OpenAI / OpenAI 호환 API | uv tool install "graphifyy[openai]" |
gemini | Google Gemini API | uv tool install "graphifyy[gemini]" |
anthropic | Anthropic Claude API (--backend claude, ANTHROPIC_API_KEY 사용) | uv tool install "graphifyy[anthropic]" |
bedrock | AWS Bedrock (IAM 사용, API 키 불필요) | `uv tool install
CodeBuddy에게 아키텍처 질문에 답변하기 전에 graphify-out/GRAPH_REPORT.md를 읽도록 지시하는 섹션을 추가하며, Bash 검색 명령 및 파일 읽기 전에 실행되는 PreToolUse 훅(.codebuddy/settings.json)을 설치하여 대신 graphify query를 사용하도록 유도합니다.
Codex는 AGENTS.md에 내용을 작성하며, Claude Code와 동일한 상시 작동(always-on) 메커니즘으로서 모든 Bash 도구 호출 전에 실행되는 .codex/hooks.json 내의 PreToolUse 훅을 설치합니다.
Kilo Code는 Graphify 스킬을 ~/.config/kilo/skills/graphify/SKILL.md에 설치하고, 네이티브 /graphify 명령을 ~/.config/kilo/command/graphify.md에 설치합니다. graphify kilo install은 또한 AGENTS.md를 작성하며, 네이티브 tool.execute.before 플러그인(.kilo/plugins/graphify.js + .kilo/kilo.json 또는 .kilo/kilo.jsonc 등록)을 추가하여 Kilo가 네이티브 .kilo 설정을 통해 동일한 상시 작동 그래프 리마인더(graph reminder) 동작을 수행할 수 있게 합니다.
Cursor는 .cursor/rules/graphify.mdc를 작성합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기