Graphify-Labs/graphify

AI-ассистент для кодинга (Claude Code, Codex, OpenCode, Cursor, Gemini CLI и другие). Превращает любую папку с кодом, SQL-схемами, R-скриптами, shell-скриптами, документами, статьями, изображениями или видео в граф знаний, доступный для запросов. Код приложения + схема базы данных + инфраструктура в

RAG⭐ 119 962Pythonпоследний релиз: v0.9.65
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Инструмент для AI-ассистентов (Claude Code, Cursor, Gemini CLI и др.), который преобразует код, документацию, схемы баз данных и медиафайлы в интерактивный граф знаний для удобного поиска и анализа.

Зачем нужен

Позволяет разработчикам заменять ручной перебор файлов (grep) на структурированный запрос к графу, объединяющему код, инфраструктуру и документацию. Упрощает понимание архитектуры больших проектов и выявление связей между компонентами.

Что можно реализовать

  • Быстрый обзор архитектуры нового проекта через интерактивный HTML-граф и отчет с ключевыми связями
  • Поиск зависимостей и связей между кодом, SQL-схемами и инфраструктурой в единой модели
  • Генерация диаграмм потоков вызовов (call-flow) для визуализации логики работы приложения
  • Интеграция контекста всего репозитория в AI-ассистенты для более точных ответов на вопросы по коду

Ключевые возможности

  • Поддержка множества AI-ассистентов: Claude Code, Codex, OpenCode, Cursor, Gemini CLI, GitHub Copilot CLI, Aider и других
  • Генерация трех файлов: интерактивного графа (graph.html), краткого отчета (GRAPH_REPORT.md) и полного графа (graph.json)
  • Автоматическая установка и регистрация навыка через команду `graphify install`
  • Экспорт архитектурных диаграмм в формате Mermaid через HTML
  • Поддержка разнообразных входных данных: код, SQL, R, shell-скрипты, PDF, изображения, видео

👤 Кому подойдёт: разработчики, архитекторы ПО, технические лидеры, работающие с крупными кодовыми базами и использующие AI-ассистенты для ускорения разработки и рефакторинга

Релизы

v0.9.65patch
🕐 18 ч назад · релиз на GitHub ↗

Исправления в AST для Go, Swift, Java, Verilog, JS/TS, защита от CVE в Pillow и улучшение визуализации.

  • Fixed: Исправлено определение областей видимости для let/const в JS/TS и привязка членов enum в Java.
  • Added: Улучшено связывание методов в интерфейсах Go и протоколах Swift.
  • Fixed: Исправлено определение модулей в Verilog и устранён краш vis-network на больших графах.
  • Fixed: Защищено от CVE-2026-54058 через обновление Pillow и исправлено поведение инкрементной сборки.
v0.9.64minor
🕐 2 дн назад · релиз на GitHub ↗

v0.9.64: сохранение атрибутов Terraform, индексация JS в PHP, улучшение разрешения ссылок в Rust, Kotlin и C++, исправления npm и Markdown.

  • Added: Атрибуты Terraform (ami, instance_type, cidr_block и др.) теперь сохраняются на узлах ресурсов, модулей и данных, поддерживают типизацию и поиск, а секретные значения автоматически маскируются.
  • Added: JavaScript внутри тегов <script> в PHP-файлах теперь индексируется как JS-код с корректным маппингом строк, аналогично обработке Vue/Svelte.
  • Added: Улучшено разрешение вызовов across files: для Rust (generic impl), Kotlin (receiver/object) и C++ (scope-qualified static calls).
  • Fixed: Исправлено разрешение подпакетов npm (subpath imports), чтобы они не фрагментировались в отдельные узлы, а указывали на основной пакет.
  • Fixed: Исправлена обработка stale .graphify_analysis.json: теперь реконструкция сообществ сравнивает структуру партиций, а не только набор ID узлов.
  • Fixed: Incremental update теперь корректно согласовывает ссылки в Markdown-файлах, не удаляя авторские ссылки при ошибках парсинга документа.
v0.9.63minor
🕐 4 дн назад · релиз на GitHub ↗

Улучшено разрешение зависимостей для Elixir, Rust и Ruby; исправлена работа внешних модулей и Markdown-ссылок.

  • Added: Elixir: улучшено разрешение alias/import/require/use через defmodule, исправлено удаление связей в графе зависимостей.
  • Added: Rust: вызовы self.method() теперь корректно разрешаются между разными блоками impl одного типа.
  • Added: Ruby: вызовы методов у известных типов теперь разрешаются через наследование от суперклассов.
  • Fixed: Внешние модули (stdlib, зависимости) теперь создают единые узлы-заглушки, устраняя разрозненность и висячие ссылки.
  • Fixed: Markdown-ссылки в кодовых спанах теперь сохраняются при инкрементной сборке, улучшено разрешение qualified names.
v0.9.62minor
🕐 5 дн назад · релиз на GitHub ↗

Релиз v0.9.62: улучшено разрешение зависимостей Terraform, Ruby и Lua, исправлены ошибки в графе и безопасности.

  • Added: Terraform-модули с локальным путем теперь корректно отображают топологию вызовов.
  • Added: Ruby-методы без явного self разрешаются через цепочку наследования.
  • Added: Markdown-спаны с кодом теперь создают ссылки на символы при однозначном совпадении.
  • Fixed: Исправлено исключение файла TOKENS.md из анализа и корректная обработка Lua require.
  • Fixed: Устранены ложные ребра вызовов и улучшена работа с C# namespace и Unicode-путями.
v0.9.61patch
🕐 8 дн назад · релиз на GitHub ↗

Исправлена совместимость graphify.serve с Python 3.12/3.13 и улучшена проверка ссылок в git-хуке.

  • Fixed: graphify.serve теперь корректно импортируется на Python 3.12 и 3.13.
  • Fixed: Дополнение chinese extra использует jieba-py на Python 3.12+, подавляя SyntaxWarning.
  • Fixed: Git-хук теперь блокирует зацикленные или битые ссылки .graphify_root на Python 3.13.
v0.9.59minor
🕐 8 дн назад · релиз на GitHub ↗

Исправления стабильности, безопасности и улучшена производительность разрешения символов Python.

  • Fixed: Исправлено падение инкрементной перестройки: глобальное удаление дубликатов теперь защищает узлы из нетронутых файлов.
  • Fixed: Извлечение данных больше не прерывает весь процесс при невозможности запустить пул потоков (например, из-за нехватки семафоров).
  • Added: Команда graphify explain теперь поддерживает форму path::Symbol для разрешения конфликтов имен символов и файлов.
  • Fixed: Git-хук теперь игнорирует внешние маркеры .graphify_root, предотвращая сканирование или запись за пределами репозитория.
  • Added: Разрешение символов Python ускорено примерно на 47% за счет мемоизации путей и итеративного обхода дерева.
v0.9.58patch
🕐 10 дн назад · релиз на GitHub ↗

Исправлено множество багов с разрешением импортов и ссылок в Python, PHP, TS, Shell, а также улучшено извлечение SQL и Rust.

  • Fixed: Исправлено разрешение вложенных функций Python, импортов в namespace-пакетах и сестринских модулей.
  • Fixed: Улучшено определение алиасов в PHP, реэкспорта в TypeScript и путей к скриптам в Shell.
  • Fixed: Исправлено игнорирование директории out, падение установки при недоступности конфига и проблемы с метками.
  • Added: Добавлено извлечение узлов индексов из SQL и констант static/const из Rust.
  • Fixed: Исправлены ошибки типов в build.py, генерация тегов для графов и включение psycopg[binary] в extras.
v0.9.56patch
🕐 13 дн назад · релиз на GitHub ↗

Исправления извлечения кода (Rust, JS, Dart), разрешения импортов и стабильности работы хуков и процессов.

  • Fixed: Исправлено извлечение методов из трейтов в Rust, которые ранее игнорировались.
  • Fixed: Улучшено разрешение импортов: исправлены алиасы @/ в JS/TS, подпути # в Dart и ошибки с длинными путями в Windows.
  • Fixed: Исправлена работа MCP query_graph для узлов без исходящих связей и разрешены коллизии имен методов с встроенными.
  • Fixed: Добавлена корректная нумерация строк (source_location) для узлов и ребер в Dart.
  • Fixed: Устранены проблемы с завершением работы: хуки Git больше не прерывают цепочку, а воркеры корректно убиваются при таймауте.
v0.9.55patch
🕐 15 дн назад · релиз на GitHub ↗

Исправления: коллизии ID, ложные узлы, реэкспорты, динамические импорты, JSON-конфиги, MCP и watch-режим.

  • Fixed: Исправлены коллизии ID для функций с ведущими подчеркиваниями и извлечение docstring после комментариев.
  • Fixed: Устранены ложные узлы и ребра: ghost-ноды, типизация по расширению файла и фантомные ext_*-связи.
  • Fixed: Корректное разрешение реэкспортов (barrels, алиасы) и сохранение динамических импортов import(...).
  • Fixed: Исправлена обработка JSON-конфигов (extends) и добавлена устойчивость MCP к диагностическим строкам.
  • Fixed: Улучшена работа watch-режима: устранено зависание stdio на Windows и сохранение флагов обновления.
v0.9.54minor
🕐 16 дн назад · релиз на GitHub ↗

Релиз v0.9.54: улучшена работа с кросс-репозиторными графами, исправлена стабильность файлов и зависимость tomli.

  • Added: graphify merge-graphs теперь поддерживает вызовы методов к типам из других репозиториев.
  • Added: Система поиска ранжирует совпадения по атрибуту rationale как отдельный уровень релевантности.
  • Fixed: Исправлено разрешение Python-типов: теперь они корректно привязываются к определению из другого модуля.
  • Fixed: Пути к файлам в графе стали портативными, обеспечивая стабильность сборки на разных машинах.
  • Fixed: tomli добавлен в runtime-зависимости для Python 3.10, чтобы не терять манифесты при сборке.
v0.9.53minor
🕐 21 дн назад · релиз на GitHub ↗

Исправления наследования в JS, PHP, Scala, Kotlin, C#, Go; поддержка Robot Framework; защита от инъекций в шаблонах чата.

  • Fixed: Исправлено распознавание наследования и интерфейсов в JavaScript, PHP, Scala, Kotlin, C# и Go.
  • Added: Добавлена поддержка извлечения данных из файлов Robot Framework (.robot/.resource).
  • Fixed: Устранена уязвимость инъекции промптов через контроль токенов шаблонов чата.
  • Fixed: Исправлено сохранение ссылок в Markdown при обновлении графа и резервное копирование SKILL.md.
v0.9.52patch
🕐 22 дн назад · релиз на GitHub ↗

Исправления парсеров для T-SQL, PHP, Razor и TypeScript, улучшение MCP-инструментов и хуков установки.

  • Fixed: Исправлено восстановление T-SQL-рутин с нестандартными именами и сокращениями, чтобы они корректно отображались в графе.
  • Fixed: Добавлено моделирование создания объектов в PHP через new, завершив поддержку C# и TypeScript.
  • Fixed: Razor-директивы @inject и @using теперь корректно разрешаются через типизированный анализатор C#.
  • Fixed: Исправлены ошибки в MCP-инструментах: list_prs, triage_prs, get_pr_impact и get_node теперь работают детерминировано.
  • Fixed: Исправлена работа хуков git при установке через --project, чтобы они не ломались при смене машины.
v0.9.51patch
🕐 24 дн назад · релиз на GitHub ↗

Исправления багов в извлечении кода, кластеризации и обработке гиперрёбер; ускорение Leiden-кластеризации.

  • Fixed: Исправлена потеря контента при сборке: граф больше не перезаписывается неполными данными.
  • Fixed: Флаг --force --code-only теперь полностью пересканирует код, избегая устаревших импортов.
  • Fixed: Устранено зависание гиперрёбер при слиянии узлов; не resolving члены теперь корректно отбрасываются.
  • Fixed: Добавлена поддержка конструкторов в TS/JS и guards в Elixir; исправлена коллизия ID в Common Lisp.
  • Added: Ускорена кластеризация Leiden за счёт прямого вызова graspologic_native без тяжёлых зависимостей.
v0.9.50minor
🕐 26 дн назад · релиз на GitHub ↗

Исправления для Ruby, C# и TypeScript, оптимизация игнор-паттернов и улучшение работы с файловой системой.

  • Added: Элементы перечислений (enum) в C# и TypeScript теперь создают узлы графа с ребрами case_of.
  • Fixed: Исправлено разрешение имен методов Ruby, квалифицированных констант и экспортов CommonJS.
  • Fixed: Улучшена работа команды merge-graphs: идентификаторы сообществ теперь не конфликтуют между репозиториями.
  • Fixed: Исправлена обработка BOM в файле .graphify_root и ложные срабатывания watch при чтении файлов.
  • Added: Значительно ускорена оценка игнор-паттернов за счет оптимизации вычисления относительных путей.
v0.9.49minor
🕐 27 дн назад · релиз на GitHub ↗

Обновление графа знаний: улучшена поддержка C#, SQL, Zig и PowerShell; исправлены ошибки слияния и кэширования.

  • Added: C#: свойства стали узлами графа, добавлены рёбра вызовов конструкторов и обобщённых аргументов.
  • Added: Добавлена автоматическая связка методов интерфейса с единственной реализацией через edge dispatches_to.
  • Added: Улучшена поддержка языков: извлечение методов Zig в enum/union, наследования Julia, транзакций SQL и enum PowerShell.
  • Fixed: Исправлено слияние объявлений и определений C/C++, чтобы граф указывал на реализацию, а не прототип.
  • Fixed: Устранены ложные перекрёстные связи наследования между языками и ошибки кэширования пустых результатов.
v0.9.48minor
🕐 1 мес назад · релиз на GitHub ↗

Исправления экспорта, парсинга C++ и JSON, новая опция --no-dedup и улучшение обработки пустых ответов.

  • Added: Добавлен флаг --no-dedup для пропуска слияния дубликатов при сборке графа.
  • Fixed: Исправлен парсинг ответов моделей с предварительным текстом (reasoning-first) и C++/CLI кода.
  • Fixed: Улучшена обработка пустых ответов бэкенда и исправлено падение при экспорте в GraphML/Obsidian.
  • Fixed: Исправлено разрешение вики-ссылок в Obsidian и исключение ложных сбоев при извлечении данных.
v0.9.47minor
🕐 1 мес назад · релиз на GitHub ↗

Исправлены таймауты извлечения, экспорт Obsidian, C# 12 и JS-фабрики; стабилизирован граф и улучшена оценка уверенности.

  • Fixed: Извлечение файлов: при таймауте чанк разбивается, а не отбрасывается целиком, что предотвращает потерю связанных данных.
  • Added: JavaScript/TypeScript: фабрики функций теперь корректно моделируют методы, присваиваемые локальным объектам.
  • Fixed: C# 12: параметры первичных конструкторов классов теперь правильно анализируются для построения графа зависимостей.
  • Fixed: Obsidian: экспорт сохраняет не-ASCII символы в тегах, восстанавливая корректную группировку цветов.
  • Fixed: Оценка уверенности: выводимые рёбра теперь используют дискретную шкалу, а не фиксированные значения 0.5 или 0.8.
v0.9.46patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления нормализации ID, Java-аннотаций, парсинга Markdown и обработки игнор-файлов; добавлена поддержка Common Lisp.

  • Fixed: Исправлена нормализация node-id для комбинированных символов через итеративное применение casefold и NFKC.
  • Fixed: Java-аннотации теперь корректно создают рёбра references к типам, включая аргументы class-literal и возвращаемые типы.
  • Added: Добавлена поддержка Common Lisp (.lisp, .cl, .lsp, .asd) через tree-sitter-commonlisp с разрешением пакетов.
  • Added: Markdown-узлы теперь имеют атрибут node_kind (page/heading), а YAML-фронтматтер парсится как безопасные атрибуты.
  • Fixed: Исправлено поведение query при превышении бюджета: выводится честное уведомление, а не обрезается ответ.
  • Fixed: Улучшена обработка .gitignore: файлы с не-UTF-8 кодировкой теперь декодируются корректно с предупреждением.
v0.9.45patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления в сборке графа: корректная работа с метками платформ, относительными путями, именами в Go и гиперрёбрами без ID.

  • Fixed: Обновление метки .graphify_version теперь происходит только для изменённой платформы, сохраняя актуальность предупреждений о устаревании.
  • Fixed: Инкрементальная пересборка больше не удаляет файлы ошибочно, если маркер .graphify_root указывает на подпапку, а пути в графе — относительно корня репозитория.
  • Fixed: Исправлено слияние символов в Go, различающихся только регистром (например, Run и run): теперь они получают разные ID, предотвращая ложные ссылки.
  • Fixed: Устранён крах при загрузке graph.json с гиперрёбрами без поля id: такие записи теперь корректно обрабатываются и сохраняются.
v0.9.44minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.9.44: улучшена работа git-хуков, исправлено определение зависимостей и вызовов в JS/TS, C++ и OCaml.

  • Added: Команда `graphify hook install` теперь сохраняет лимит визуализации из `.graphifyrc` в хуки, обеспечивая единые настройки для проекта.
  • Fixed: Исправлено определение вызовов в JS/TS: устранено ложное создание `indirect_call` для генераторов и импортов, разрешающих конфликт имён.
  • Fixed: Исправлена обработка OCaml: квалифицированные вызовы внешних модулей больше не связываются с локальными функциями, устранены ложные циклы.
  • Fixed: Исправлено исключение файлов из корпуса: теперь корректно учитывается поведение Git при наличии файлов, добавленных в `.gitignore`.
  • Fixed: Исправлено определение зависимостей CommonJS: `require` внутри функций теперь корректно формирует граф импортов.
v0.9.43minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка OCaml через tree-sitter, исправлены ошибки в анализе связей, вложенных функций и экспорте файлов.

  • Added: Добавлена поддержка OCaml: извлечение модулей, функций, типов и разрешение вызовов через tree-sitter-ocaml.
  • Fixed: Исправлено создание связей uses: теперь они привязываются к символу, реально использующему импорт, а не ко всем классам файла.
  • Fixed: Вложенные функции (в том числе в стрелочных компонентах) теперь корректно нодятся и разрешают вызовы.
  • Fixed: Улучшена безопасность Bash-экстрактора: расширена поддержка путей source, но сохранена защита от выхода за пределы дерева.
  • Fixed: Исправлены ссылки в wiki и лимиты имен файлов при экспорте, предотвращающие ошибки на Windows.
v0.9.42minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.9.42: исправления корректности, детерминизма и улучшенная поддержка Windows.

  • Fixed: Исправлено экранирование переменных в циклах JS/TS и разрешение относительных импортов в Python.
  • Fixed: Устранены зависания при извлечении нерегулярных файлов и ошибки парсинма SQL-файлов.
  • Fixed: Повышен детерминизм: улучшена обработка инкрементальных обновлений и защита кэша.
  • Fixed: Значительно улучшена переносимость на Windows: канонизация путей и надежные атомарные записи.
  • Fixed: Исправлена работа CLI-команды affected и визуализация гиперребер в графе.
v0.9.41patch
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.9.41: исправления корректности, детерминизма и целостности данных, включая поддержку Cargo.toml и C# препроцессора.

  • Fixed: graphify update теперь предотвращает случайную перезапись графа сжатым вариантом при сбое экстрактора.
  • Fixed: Cargo.toml корректно распознается как манифест пакета с созданием узлов и ребер depends_on.
  • Fixed: Исправлено извлечение членов C# внутри блоков препроцессора #if...#endif.
  • Fixed: Решены проблемы с путями source_file на Windows и стабильными ID для неразрешенных импортов JS/TS.
  • Fixed: Исправлено определение PHP-импортов с ведущим слэшем и устранено дублирование ребер в аудите wiki/obsidian.
v0.9.40patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления регрессий TypeScript, ошибок детерминизма путей и кэша, а также падений в Python и Go.

  • Fixed: Исправлено ложное предупреждение partial-parse в TypeScript/TSX, теперь оно срабатывает только при реальной потере символов.
  • Fixed: Устранены ошибки детерминизма: исправлен хеш файлов, абсолютные пути в node-id, порядок в graph.json и нормализация Unicode.
  • Fixed: Исправлено падение Python при глубоких относительных импортах и ошибка Go при разрешении квалифицированных типов.
  • Fixed: Исправлено ложное создание ребра indirect_call для стрелочных функций без скобок в JavaScript.
  • Fixed: Улучшена работа с Unicode: исправлено разрешение node-id с пунктуацией и корректное игнорирование файлов в Obsidian.
v0.9.39patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлены баги с динамическим импортом, ложными вызовами в Python, дедупликацией, watch и разрешением в Objective-C.

  • Fixed: Исправлен обход графа для динамического импорта внутри функций, устранена проблема подавления связей.
  • Fixed: В Python вызовы методов у нетипизированных получателей больше не создают ложных связей с функциями модуля.
  • Fixed: Улучшена фаззидедупликация: теперь корректно разделяются сущности с разными ключевыми словами в названиях.
  • Fixed: graphify watch теперь сразу перестраивает граф при удалении документации, а не только помечает изменения.
  • Fixed: Исправлено разрешение методов в Objective-C: протоколы, категории и свойства теперь обрабатываются верно.
v0.9.38patch
🕐 1 мес назад · релиз на GitHub ↗

Исправление регрессии в области видимости колбэков, сбор вызовов в Kotlin, улучшение вывода типов в Swift и корректная работа с CTE в SQL.

  • Fixed: Исправлена регрессия 0.9.37: локальные переменные в колбэках теперь правильно изолированы, что предотвращает потерю вызовов в соседних замыканиях.
  • Fixed: Добавлен сбор вызовов в инициализаторах свойств Kotlin, включая делегаты lazy и свойства компаньон-объектов.
  • Fixed: Улучшен вывод типов получателей в Swift для свойств с атрибутом @Environment и фабрик, инициализированных в коде.
  • Fixed: Исправлен SQL-экстрактор: имена CTE больше не обрабатываются как ссылки на таблицы, что исключает ложные связи.
  • Fixed: Динамические импорты await import() в вложенных функциях и на уровне модуля теперь корректно фиксируются как ребра.
v0.9.37patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено ложное связывание вызовов в TypeScript, улучшена обработка Kotlin и перезапуск неудачных извлечений.

  • Fixed: TypeScript: вызовы членов теперь связываются только при наличии определения или импорта в файле, а не по совпадению имен.
  • Fixed: TypeScript/JS: вызовы внутри колбэков больше не теряются, а корректно атрибутируются.
  • Fixed: Kotlin: исправлены пропуски импортов, добавлена поддержка полностью квалифицированных вызовов и улучшена обработка синтаксических ошибок.
  • Fixed: graphify update: добавлена повторная попытка извлечения для файлов, завершившихся неудачей, с исправлением манифеста.
  • Fixed: claude-cli: ошибки API теперь корректно отображаются, а не маскируются под успешное выполнение.
v0.9.36patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлены скрытые ошибки CLI, сломанные связи в Swift, недетерминированные коллизии ID и проблемы запуска на PowerShell.

  • Fixed: Четыре команды CLI теперь корректно сообщают об ошибках вместо тихого завершения с кодом 0.
  • Fixed: Исправлено потерянное определение статических и синглтон-вызовов для Swift-расширений в отдельных файлах.
  • Fixed: Решение коллизий node-id стало детерминированным с приоритетом активных путей над архивными.
  • Fixed: Windows-скрипты переписаны для корректной работы в PowerShell.
v0.9.35patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлены критические ошибки слияния, удаления файлов и анализа Java-кода, улучшена точность запросов и графов вызовов.

  • Fixed: Восстановлена защита от потери узлов при слиянии (shrink guard), теперь она корректно проверяет целостность данных.
  • Fixed: Исправлено удаление файлов по абсолютным путям и обработка новых игнорируемых файлов в графе.
  • Fixed: Разделены узлы локальных Java-классов и внешних аннотаций с одинаковыми именами.
  • Fixed: Команда callflow теперь корректно учитывает направление рёбер и косвенные вызовы.
  • Fixed: Устранено ложное срабатывание триггеров в запросах с реляционными глаголами (calls, uses и т.д.).