Understand Anything — плагин

Плагин строит граф знаний по кодовой базе или вики и открывает интерактивный дашборд с поиском, турами и анализом диффа

  • 88 827 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Широкий доступ

Почему такой уровень

  • Установка для ряда платформ идет через curl | bash
  • Флаг --auto-update ставит post-commit хук
  • Анализ отправляет большие объемы кода модели
Все причины и проверки

egonex-ai/understand-anything

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add plugins/understand-anything

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Установка для ряда платформ идет через curl | bash
  • Флаг --auto-update ставит post-commit хук
  • Анализ отправляет большие объемы кода модели

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Команда /understand запускает цепочку агентов, которая проходит по проекту и строит граф файлов, функций, классов и зависимостей в .ua/knowledge-graph.json. Команда /understand-dashboard открывает веб-дашборд с цветовой разметкой по слоям, нечетким и семантическим поиском и пояснениями к узлам. Есть команды для вопросов по коду, анализа влияния изменений, онбординг-гайда, бизнес-доменов и анализа вики в стиле Карпаты. Повторные запуски инкрементальные, описания можно генерировать на русском.

Для кого. Разработчики, которые входят в большую незнакомую кодовую базу, и техлиды, готовящие онбординг.

Подходит, если

  • Пришли в проект на сотни тысяч строк и не знаете, с чего начать
  • Нужно оценить, какие части системы затронет ваш дифф
  • Готовите онбординг-гайд для новых сотрудников
  • Хотите разложить бизнес-логику по доменам и потокам

Не подходит, если

  • Маленький проект, который проще прочитать целиком
  • Жесткий лимит на токены: первый анализ большого проекта расходует их много

Пример запроса к агенту

/understand-chat Как устроен процесс оплаты в этом проекте

Ограничения

Первый запуск /understand на крупном проекте тратит значительное число токенов, авторы советуют подписку или локальную модель. Для отдельных огромных монорепозиториев анализ можно ограничить подпапкой. Большие графы от 10 МБ лучше хранить через git-lfs.

Как отключить. Удалите плагин в Claude Code. Для других платформ выполните ./install.sh --uninstall с именем платформы. Автообновление графа отключается флагом /understand --no-auto-update.

Частые вопросы

Можно ли открыть граф без Claude Code?

Да, если граф закоммичен, коллеги открывают дашборд через npx с viewer-пакетом из релизов. Нужен только Node.js 18+, LLM и ключи не требуются.

Поддерживается ли русский язык?

Да, флаг --language ru генерирует описания узлов, интерфейс дашборда и туры на русском.

Обсуждение

Вопросов и отзывов пока нет.

Плагины

Скилл /graphify строит граф знаний по коду, документам и PDF проекта, чтобы агент отвечал запросами к графу, а не грепом

СкиллРасширенный доступ137,8 тыс.Звезды репозитория
Выбор редакции

Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода

ПлагинРасширенный доступ307,8 тыс.Звезды репозитория

codesight за один запуск собирает карту проекта: маршруты, модели БД, зависимости, env-переменные. Отдает ее агенту файлами или через MCP-сервер

MCP-серверРасширенный доступ1,4 тыс.Звезды репозитория

Дает агенту разбираться в вашем репозитории: индексирует код и отвечает на вопросы о нем в Claude Code, Cursor, Codex, Windsurf и других

ПлагинРасширенный доступ1,4 тыс.Звезды репозитория
Выбор редакции

Индексирует кодовую базу в граф знаний и отдает агенту через MCP связи вызовов, радиус влияния правок и поиск по коду

MCP-серверРасширенный доступ48,1 тыс.Звезды репозитория

Маркетплейс и установщик плагинов для полного цикла разработки: выбор задачи, ревью, чистка кода, PR, релиз

ПлагинШирокий доступ1 тыс.Звезды репозитория

Коротко о README

Understand Anything это плагин Claude Code от Egonex, который превращает кодовую базу или документацию в интерактивный граф знаний. README описывает возможности дашборда, пошаговый быстрый старт и установку для многих платформ через install.sh. Отдельный раздел объясняет, как хранить граф в репозитории и открывать его без LLM. Лицензия MIT.

Бейдж для README

Исходный SKILL.md

---
name: understand
description: Analyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships
argument-hint: ["[path] [--full|--auto-update|--no-auto-update|--review|--language <lang>|--exclude <patterns>]"]
---

# /understand

Analyze the current codebase and produce a `knowledge-graph.json` file in the project's data directory (`.ua/`, or the legacy `.understand-anything/` when it already exists). This file powers the interactive dashboard for exploring the project's architecture.

## Options

- `$ARGUMENTS` may contain:
  - `--full` — Force a full rebuild, ignoring any existing graph
  - `--auto-update` — Enable automatic graph updates on commit (writes `autoUpdate: true` to `$UA_DIR/config.json`)
  - `--no-auto-update` — Disable automatic graph updates (writes `autoUpdate: false` to `$UA_DIR/config.json`)
  - `--review` — Run full LLM graph-reviewer instead of inline deterministic validation
  - `--language <lang>` — Generate all textual content (summaries, descriptions, tags, titles, languageNotes, languageLesson) in the specified language. Accepts ISO 639-1 codes (`zh`, `ja`, `ko`, `en`, `es`, `fr`, `de`, etc.) or friendly names (`chinese`, `japanese`, `korean`, `english`, `spanish`, etc.). Locale variants supported: `zh-TW`, `zh-HK`, etc. Defaults to `en` (English). Stores preference in `$UA_DIR/config.json` for consistency across incremental updates.
  - `--exclude <patterns>` — Comma-separated glob patterns for additional files/directories to exclude from analysis (e.g., `--exclude "tests/*,docs/*"`). These patterns take highest priority over built-in defaults and `.understandignore` rules. Supports gitignore syntax including `!` negation.
  - A directory path (e.g. `/path/to/repo` or `../other-project`) — Analyze the given directory instead of the current working directory

---

## Progress Reporting

Throughout execution, report progress to the user at each phase transition and during batch processing. This keeps users informed on large codebases where analysis can take a long time.

- **Phase transitions:** At the start of each phase, print a status line:
  > `[Phase N/7] <phase name>...`
  >
  > Example: `[Phase 2/7] Analyzing files (12 batches)...`

- **Batch progress:** During Phase 2, report each batch with its index and total:
  > `Analyzing batch X/N (files: foo.ts, bar.ts, ...)` (list up to 3 filenames, then `...` if more)

- **Phase completion:** When a phase finishes, briefly confirm:
  > `Phase N complete. <one-line summary of result>`
  >
  > Example: `Phase 1 complete. Found 247 files across 3 languages.`

---

## Phase 0 — Pre-flight

Determine whether to run a full analysis or incremental update.

1. **Resolve `PROJECT_ROOT`:**
   - Parse `$ARGUMENTS` for a non-flag token (any argument that does not start with `--`). If found, treat it as the target directory path.
     - If the path is relative, resolve it against the current working directory.
     - Verify the resolved path exists and is a directory (run `test -d <path>`). If it does not exist or is not a directory, report an error to the user and **STOP**.
     - Set `PROJECT_ROOT` to the resolved absolute path.
   - If no directory path argument is found, set `PROJECT_ROOT` to the current working directory.
   - **Worktree redirect.** If `PROJECT_ROOT` is inside a git worktree (not the main checkout), redirect output to the main repository root. Worktrees managed by Claude Code are ephemeral — the data directory (`.ua/`, or legacy `.understand-anything/`) written there is destroyed when the session ends, taking the knowledge graph with it (issue #133). Detect a worktree by comparing `git rev-parse --git-dir` against `git rev-parse --git-common-dir`; in a normal checkout or submodule they resolve to the same path, in a worktree they differ and the parent of `--git-common-dir` is the main repo root.

     ```bash
     COMMON_DIR=$(git -C "$PROJECT_ROOT" rev-parse --git-common-dir 2>/dev/null)
     GIT_DIR=$(git -C "$PROJECT_ROOT" rev-parse --git-dir 2>/dev/null)
     if [ -n "$COMMON_DIR" ] && [ -n "$GIT_DIR" ]; then
       COMMON_ABS=$(cd "$PROJECT_ROOT" && cd "$COMMON_DIR" 2>/dev/null && pwd -P)
       GIT_ABS=$(cd "$PROJECT_ROOT" && cd "$GIT_DIR" 2>/dev/null && pwd -P)

Сообщить о проблеме

Foxx AIUnderstand Anything
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.