Graphify: быстрый старт за 5 минут — установка, построение графа, первый запрос
В этом руководстве — от нуля до первого запроса по 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"]
}
}
}
Если хотите глубже: обзор инструмента, туториал по первому knowledge graph и полный справочник CLI-команд.
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.
Automata может помочь:
Частые вопросы
Как установить Graphify?
Graphify поставляется пакетом graphifyy (с двойной y) на PyPI. Установите его через `uv tool install graphifyy` (рекомендуется) или `pipx install graphifyy`. После установки команда `graphify install` зарегистрирует навык /graphify во всех обнаруженных AI-ассистентах (Claude Code, Cursor, Copilot и др.).
Нужен ли API-ключ для построения графа кода?
Нет. Парсинг кода через tree-sitter полностью локален и не требует ни аккаунта, ни API-ключа, ни LLM. API-ключ нужен только для семантического анализа документов, PDF, изображений и видео — и только если эти материалы есть в проекте.
Что появляется после команды /graphify .?
В папке graphify-out/ создаются три файла: graph.html — интерактивный граф для браузера, GRAPH_REPORT.md — архитектурный отчёт с ключевыми концепциями и предложенными вопросами, и graph.json — машинно-читаемый граф, по которому делают запросы все CLI и MCP-команды.
Как задать вопрос графу из терминала?
Командой `graphify query "ваш вопрос"`. Например, `graphify query "что связывает auth с базой данных?"` вернёт явные пути с цитатами file:line, а каждое ребро будет помечено EXTRACTED или INFERRED.
Graphify бесплатный?
Да, Graphify полностью бесплатен и открыт (MIT). Парсинг кода через tree-sitter локален и не требует никаких ключей — ни API, ни LLM. Единственный платный шаг — если вам нужен семантический анализ документов и видео через внешние модели, но для кода и Markdown это не нужно.
Чем Graphify лучше grep или grep -r?
grep ищет подстроки; Graphify строит граф связей между сущностями. `graphify path UserService DatabasePool` вернёт цепочку вызовов (2-3 hop), которую grep не покажет без ручного обхода 5-10 файлов. Ответ приходит с точными file:line и пометкой EXTRACTED или INFERRED.
Поддерживает ли Graphify русский код и комментарии?
Да, tree-sitter парсит 36 языков независимо от кодировки. Русские комментарии в коде попадают в граф как узлы, а `graphify query` находит их обычным запросом — можно спросить и по-русски.
Работаю удалённо — цены и условия для вашего города: