В этом руководстве — от нуля до первого запроса по knowledge graph вашего репозитория за пять минут. Полностью локально, без аккаунта и API-ключей.
Что понадобится
- Python 3.10+ (
python --version) - uv (рекомендуется) или pipx
- Репозиторий, который хотите проанализировать
- AI-ассистент: Claude Code, Cursor, Codex, Gemini CLI или любой из 20+ поддерживаемых
01 · Установка
Graphify поставляется пакетом graphifyy (с двойной y — обращайте внимание) на PyPI. Установка даёт команду graphify; затем graphify install регистрирует навык /graphify во всех обнаруженных AI-ассистентах.
# Установка CLI (рекомендуемый способ — изолированное окружение)
uv tool install graphifyy
# Альтернативы:
# pipx install graphifyy
# pip install graphifyy
# Регистрация навыка /graphify в ассистентах
graphify install
# ✓ detected Claude Code, Cursor, GitHub Copilot
# ✓ /graphify skill registered · 17 assistants supported
Если ассистент не определился автоматически, укажите его явно: graphify install --platform cursor, graphify codex install, graphify gemini install.
02 · Построение графа
Откройте AI-ассистент в корне репозитория и выполните:
/graphify .
Graphify распарсит проект (36 языков кода плюс Markdown, PDF, документы Office, SQL-схемы, живая PostgreSQL и Terraform) в один knowledge graph. В graphify-out/ появятся три файла:
✓ graphify-out/graph.html интерактивный граф
✓ graphify-out/GRAPH_REPORT.md архитектурный отчёт
✓ graphify-out/graph.json машинно-читаемый граф
Опции перестроения:
# пересканировать только изменившееся:
/graphify . --update
# более глубокий многопроходный анализ:
/graphify . --mode deep
03 · Запросы и обход графа
Спрашивайте обычным языком из терминала. Ответы приходят как явные пути с реальными цитатами file:line. Каждое ребро помечено EXTRACTED, INFERRED или AMBIGUOUS — вы всегда знаете, что основано на коде, а что — предположение.
$ graphify query "what connects auth to the database?"
AuthService → SessionStore → DatabasePool [EXTRACTED]
src/auth/service.py:42 → src/db/pool.py:17
$ graphify path "UserService" "DatabasePool"
UserService → UserRepository → DatabasePool (2 hops)
$ graphify explain "RateLimiter"
RateLimiter · class · src/middleware/rate_limit.py
called by ApiGateway, WebhookHandler · calls RedisClient
04 · Подключение MCP-сервера
MCP-сервер отдаёт граф любому MCP-клиенту через stdio или как общий HTTP-сервер. Доступно 10 инструментов, включая query_graph, get_node, get_neighbors, shortest_path, list_prs, get_pr_impact, triage_prs.
# stdio (по умолчанию), один ассистент, один граф:
$ python -m graphify.serve graphify-out/graph.json
# ✓ MCP server ready (stdio) · 10 tools
# общий HTTP-сервер (один граф, много клиентов):
$ python -m graphify.serve graphify-out/graph.json --transport http --port 8080
Декларативная регистрация для Claude Code — добавьте в .mcp.json в корне проекта:
{
"mcpServers": {
"graphify": {
"command": "python",
"args": ["-m", "graphify.serve", "graphify-out/graph.json"]
}
}
}
05 · Ревью PR против графа
Команда graphify prs накладывает открытые pull request’ы на граф: какие узлы затрагивает каждый PR, где они пересекаются и какие пары несут риск конфликта при мёрже.
$ graphify prs
#482 refactor: extract PaymentGateway touches 12 nodes · 3 shared with #479
#479 fix: retry logic in RedisClient touches 4 nodes
$ graphify prs --triage
#482 HIGH overlaps #479 on RedisClient · review first
#479 LOW isolated change
$ graphify prs --conflicts
#482 ↔ #479 both modify RedisClient.retry · merge risk
Используйте --triage для очереди ревью и --conflicts для выявления коллизий до мёржа — локально или в CI.
Заметка практика: Флаг
--updateсэкономит массу времени на больших проектах: Graphify пересканирует только изменившиеся файлы вместо полного перестроения. Для совсем автоматического режима естьgraphify watch .(перестроение при сохранении, без LLM) и git-хукgraphify hook install(после каждого коммита).
Локализованный quickstart на основе официальной документации Graphify.