Add under-anything knowledge dashboard

This commit is contained in:
qiaoxinjiu
2026-05-27 15:40:32 +08:00
commit e31a75d2bb
565 changed files with 143063 additions and 0 deletions

View File

@@ -0,0 +1,344 @@
<h1 align="center">Understand Anything</h1>
<p align="center">
<strong>Convierte cualquier código fuente, base de conocimiento o documentación en un grafo de conocimiento interactivo que puedes explorar, buscar y consultar.</strong>
<br />
<em>Compatible con Claude Code, Codex, Cursor, Copilot, Gemini CLI y más.</em>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/23482" target="_blank"><img src="https://trendshift.io/api/badge/repositories/23482" alt="Lum1104%2FUnderstand-Anything | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ja-JP.md">日本語</a> | <a href="README.ko-KR.md">한국어</a> | <a href="README.es-ES.md">Español</a> | <a href="README.tr-TR.md">Türkçe</a> | <a href="README.ru-RU.md">Русский</a>
</p>
<p align="center">
<a href="#-inicio-rápido"><img src="https://img.shields.io/badge/Inicio_Rápido-blue" alt="Quick Start" /></a>
<a href="https://github.com/Lum1104/Understand-Anything/blob/main/LICENSE"><img src="https://img.shields.io/badge/Licencia-MIT-yellow" alt="License: MIT" /></a>
<a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-8A2BE2" alt="Claude Code" /></a>
<a href="#codex"><img src="https://img.shields.io/badge/Codex-000000" alt="Codex" /></a>
<a href="#vs-code--github-copilot"><img src="https://img.shields.io/badge/Copilot-24292e" alt="Copilot" /></a>
<a href="#copilot-cli"><img src="https://img.shields.io/badge/Copilot_CLI-24292e" alt="Copilot CLI" /></a>
<a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4" alt="Gemini CLI" /></a>
<a href="#opencode"><img src="https://img.shields.io/badge/OpenCode-38bdf8" alt="OpenCode" /></a>
<a href="https://understand-anything.com"><img src="https://img.shields.io/badge/Página_Principal-d4a574" alt="Homepage" /></a>
<a href="https://understand-anything.com/demo/"><img src="https://img.shields.io/badge/Demo_en_Vivo-00c853" alt="Live Demo" /></a>
</p>
<p align="center">
<img src="../assets/hero.png" alt="Understand Anything — Convierte cualquier código fuente en un grafo de conocimiento interactivo" width="800" />
</p>
<p align="center">
<strong>💬 <a href="https://discord.gg/pydat66RY">Únete a la comunidad de Discord &rarr;</a></strong>
<br />
<em>Pregunta, comparte lo que construyes y recibe ayuda de la comunidad.</em>
</p>
---
**Acabas de unirte a un nuevo equipo. El código tiene 200,000 líneas. ¿Por dónde empiezas?**
Understand Anything es un [Claude Code Plugin](https://code.claude.com/docs/en/plugins-reference#plugins-reference) que analiza tu proyecto con un pipeline multi-agente, construye un grafo de conocimiento de cada archivo, función, clase y dependencia, y luego te ofrece un panel interactivo para explorarlo visualmente. Deja de leer código a ciegas. Empieza a ver el panorama completo.
> **El objetivo no es un grafo que te impresione mostrándote lo complejo que es tu código — es un grafo que, sin alardes, te enseña cómo encaja cada pieza.**
---
## ✨ Características
> [!NOTE]
> **¿Quieres probarlo directamente?** Prueba la [demo en vivo](https://understand-anything.com/demo/) en nuestra [página principal](https://understand-anything.com/) — un panel interactivo donde puedes navegar, hacer zoom, buscar y explorar directamente en tu navegador.
### Explora el grafo estructural
Navega tu código como un grafo de conocimiento interactivo: cada archivo, función y clase es un nodo que puedes hacer clic, buscar y explorar. Selecciona cualquier nodo para ver resúmenes en lenguaje natural, relaciones y recorridos guiados.
### Comprende la lógica de negocio
Cambia a la vista de dominio y observa cómo tu código se mapea a procesos de negocio reales: dominios, flujos y pasos representados como un grafo horizontal.
### Analiza bases de conocimiento
Apunta `/understand-knowledge` a un [wiki LLM con patrón Karpathy](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) y obtén un grafo de conocimiento dirigido por fuerzas con agrupación por comunidad. El parser determinístico extrae wikilinks y categorías de `index.md`, luego los agentes LLM descubren relaciones implícitas, extraen entidades y revelan afirmaciones, convirtiendo tu wiki en un grafo navegable de ideas interconectadas.
<table>
<tr>
<td width="50%" valign="top">
<h3>🧭 Recorridos Guiados</h3>
<p>Recorridos generados automáticamente de la arquitectura, ordenados por dependencia. Aprende el código en el orden correcto.</p>
</td>
<td width="50%" valign="top">
<h3>🔍 Búsqueda Difusa y Semántica</h3>
<p>Encuentra cualquier cosa por nombre o por significado. Busca "¿qué partes manejan la autenticación?" y obtén resultados relevantes en todo el grafo.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 Análisis de Impacto de Cambios</h3>
<p>Visualiza qué partes del sistema afectan tus cambios antes de hacer commit. Comprende los efectos en cascada a través del código.</p>
</td>
<td width="50%" valign="top">
<h3>🎭 Interfaz Adaptativa por Persona</h3>
<p>El panel ajusta su nivel de detalle según quién eres: desarrollador junior, PM o usuario avanzado.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>🏗️ Visualización por Capas</h3>
<p>Agrupación automática por capa arquitectónica — API, Servicio, Datos, UI, Utilidades — con leyenda codificada por colores.</p>
</td>
<td width="50%" valign="top">
<h3>📚 Conceptos del Lenguaje</h3>
<p>12 patrones de programación (genéricos, closures, decoradores, etc.) explicados en contexto donde aparecen.</p>
</td>
</tr>
</table>
---
## 🚀 Inicio Rápido
### 1. Instala el plugin
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 2. Analiza tu código
```bash
/understand
```
Un pipeline multi-agente escanea tu proyecto, extrae cada archivo, función, clase y dependencia, y construye un grafo de conocimiento guardado en `.understand-anything/knowledge-graph.json`.
**Salida localizada:** Usa `--language` para generar contenido en tu idioma preferido:
```bash
# Genera contenido en el idioma preferido (descripciones de nodos y UI del dashboard)
/understand --language en
# Idiomas soportados: en (default), zh, zh-TW, ja, ko, ru
```
El parámetro `--language` afecta:
- Resúmenes y descripciones de nodos en el grafo de conocimiento
- Etiquetas, botones y tooltips de la UI del dashboard
- Explicaciones de los tours guiados
### 3. Explora el panel
```bash
/understand-dashboard
```
Se abre un panel web interactivo con tu código visualizado como un grafo, codificado por colores según la capa arquitectónica, con funciones de búsqueda y clic. Selecciona cualquier nodo para ver su código, relaciones y una explicación en lenguaje natural.
### 4. Sigue aprendiendo
```bash
# Pregunta cualquier cosa sobre el código
/understand-chat How does the payment flow work?
# Analiza el impacto de tus cambios actuales
/understand-diff
# Profundiza en un archivo o función específica
/understand-explain src/auth/login.ts
# Genera una guía de incorporación para nuevos miembros del equipo
/understand-onboard
# Extrae conocimiento de dominio de negocio (dominios, flujos, pasos)
/understand-domain
# Analiza un wiki LLM con patrón Karpathy
/understand-knowledge ~/path/to/wiki
# Vuelve a ejecutarlo cuando quieras — incremental por defecto (solo archivos modificados)
/understand
# Instala un hook post-commit para actualizaciones incrementales automáticas
/understand --auto-update
# Acota el análisis a un subdirectorio (útil para monorepos enormes)
/understand src/frontend
```
---
## 🌐 Instalación Multiplataforma
Understand-Anything funciona en múltiples plataformas de codificación con IA.
### Claude Code (Nativo)
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### Instalación de una línea (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI)
**macOS / Linux:**
```bash
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# o pasa la plataforma directamente para saltar el prompt:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
```
**Windows (PowerShell):**
```powershell
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
```
El instalador clona el repositorio en `~/.understand-anything/repo` y crea los enlaces simbólicos correspondientes para la plataforma elegida. Reinicia tu CLI/IDE al terminar.
- Valores soportados de `<platform>`: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vibe`, `vscode`, `hermes`, `cline`, `kimi`
- Actualizar más adelante: `./install.sh --update`
- Desinstalar: `./install.sh --uninstall <platform>`
### Cursor
Cursor detecta automáticamente el plugin a través de `.cursor-plugin/plugin.json` cuando se clona este repositorio. No requiere instalación manual: simplemente clona y abre en Cursor.
Si la detección automática no lo reconoce, instálalo manualmente: abre **Cursor Settings → Plugins**, pega `https://github.com/Lum1104/Understand-Anything` en el campo de búsqueda y añádelo desde allí.
### VS Code + GitHub Copilot
VS Code con GitHub Copilot (v1.108+) detecta automáticamente el plugin a través de `.copilot-plugin/plugin.json` cuando se clona este repositorio. No requiere instalación manual: simplemente clona y abre en VS Code.
Para habilidades personales (disponibles en todos los proyectos), ejecuta el `install.sh` de arriba con la plataforma `vscode`.
### Copilot CLI
```bash
copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin
```
### Compatibilidad de Plataformas
| Plataforma | Estado | Método de Instalación |
|----------|--------|----------------|
| Claude Code | ✅ Nativo | Marketplace de plugins |
| Cursor | ✅ Soportado | Detección automática |
| VS Code + GitHub Copilot | ✅ Soportado | Detección automática |
| Copilot CLI | ✅ Soportado | Instalación de plugin |
| Codex | ✅ Soportado | `install.sh codex` |
| OpenCode | ✅ Soportado | `install.sh opencode` |
| OpenClaw | ✅ Soportado | `install.sh openclaw` |
| Antigravity | ✅ Soportado | `install.sh antigravity` |
| Gemini CLI | ✅ Soportado | `install.sh gemini` |
| Pi Agent | ✅ Soportado | `install.sh pi` |
| Vibe CLI | ✅ Soportado | `install.sh vibe` |
| Hermes | ✅ Soportado | `install.sh hermes` |
| Cline | ✅ Soportado | `install.sh cline` |
| KIMI CLI | ✅ Soportado | `install.sh kimi` |
---
## 📦 Comparte el Grafo con tu Equipo
El grafo es solo JSON — **confírmalo una vez y tus compañeros se saltan el pipeline**. Ideal para onboarding, revisiones de PR y flujos docs-as-code.
> **Ejemplo:** [GoogleCloudPlatform/microservices-demo (fork)](https://github.com/Lum1104/microservices-demo) — referencia políglota (Go / Java / Python / Node) con el grafo ya confirmado.
**Qué confirmar:** todo lo que hay en `.understand-anything/` *excepto* `intermediate/` y `diff-overlay.json` (archivos temporales locales).
```gitignore
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
```
**Mantenlo al día:** activa `/understand --auto-update` — un hook post-commit parchea el grafo de forma incremental, así cada commit llega con su grafo correspondiente. O vuelve a ejecutar `/understand` manualmente antes de cada release.
**Grafos grandes (10 MB o más):** úsalos con **git-lfs**.
```bash
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
```
---
## 🔧 Bajo el Capó
### Híbrido Tree-sitter + LLM
Lo determinista lo hace el análisis estático, lo semántico lo hace el LLM:
- **Tree-sitter (determinista)** — parsea el código a un árbol de sintaxis concreto y extrae hechos estructurales: imports, exports, definiciones de funciones/clases, llamadas, herencia. Se preresuelve como `importMap` en la fase de escaneo y se pasa al file-analyzer para que no tenga que volver a derivar los imports desde el código fuente. La misma entrada siempre produce la misma salida, y también es la base de los fingerprints usados para las actualizaciones incrementales.
- **LLM (semántico)** — lee la estructura parseada junto con el código original para producir lo que los parsers no pueden: resúmenes en lenguaje natural, etiquetas, asignaciones de capa arquitectónica, mapeo de dominios de negocio, tours guiados, notas sobre conceptos del lenguaje.
Esta división es la que hace que el grafo sea reproducible en lo estructural (el mismo código siempre genera las mismas aristas) y a la vez capture intención en lo semántico (para *qué* sirve un archivo, no solo qué importa).
### Pipeline Multi-Agente
El comando `/understand` orquesta 5 agentes especializados, y `/understand-domain` añade un sexto:
| Agente | Rol |
|-------|------|
| `project-scanner` | Descubre archivos, detecta lenguajes y frameworks |
| `file-analyzer` | Extrae funciones, clases e importaciones; produce nodos y aristas del grafo |
| `architecture-analyzer` | Identifica capas arquitectónicas |
| `tour-builder` | Genera recorridos de aprendizaje guiados |
| `graph-reviewer` | Valida la completitud y la integridad referencial del grafo (se ejecuta inline por defecto; usa `--review` para una revisión completa con LLM) |
| `domain-analyzer` | Extrae dominios de negocio, flujos y pasos de proceso (usado por `/understand-domain`) |
| `article-analyzer` | Extrae entidades, afirmaciones y relaciones implícitas de artículos wiki (usado por `/understand-knowledge`) |
Los analizadores de archivos se ejecutan en paralelo (hasta 5 concurrentes, 20-30 archivos por lote). Soporta actualizaciones incrementales: solo reanaliza los archivos que cambiaron desde la última ejecución.
---
## 🎥 Comunidad
Un recorrido en video hecho por la comunidad de **Better Stack**.
<p align="center">
<a href="https://www.youtube.com/watch?v=VmIUXVlt7_I"><img src="https://img.youtube.com/vi/VmIUXVlt7_I/maxresdefault.jpg" alt="Recorrido en video por la comunidad de Better Stack — haz clic para ver en YouTube" width="480" /></a>
<br />
<em><a href="https://www.youtube.com/watch?v=VmIUXVlt7_I">Ver en YouTube &rarr;</a></em>
</p>
¿Has hecho un video, post o tutorial? Abre un issue o PR — estaremos encantados de mostrarlo aquí.
---
## 🤝 Contribuir
¡Las contribuciones son bienvenidas! Así puedes empezar:
1. Haz fork del repositorio
2. Crea una rama de funcionalidad (`git checkout -b feature/my-feature`)
3. Ejecuta las pruebas (`pnpm --filter @understand-anything/core test`)
4. Haz commit de tus cambios y abre un pull request
Para cambios importantes, abre primero un issue para que podamos discutir el enfoque.
---
<p align="center">
<strong>Deja de leer código a ciegas. Empieza a entenderlo todo.</strong>
</p>
## Historial de Stars
<a href="https://www.star-history.com/?repos=Lum1104%2FUnderstand-Anything&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
</picture>
</a>
<p align="center">
<em>Gracias a todas las personas que lo han usado y han contribuido — saber que les ahorra tiempo es lo que hizo que valiera la pena construirlo.</em>
</p>
<p align="center">
Licencia MIT &copy; <a href="https://github.com/Lum1104">Lum1104</a>
</p>

View File

@@ -0,0 +1,345 @@
<h1 align="center">Understand Anything</h1>
<p align="center">
<strong>あらゆるコードベース、ナレッジベース、ドキュメントを、探索・検索・質問ができるインタラクティブなナレッジグラフに変換します。</strong>
<br />
<em>Claude Code、Codex、Cursor、Copilot、Gemini CLI など、マルチプラットフォーム対応。</em>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/23482" target="_blank"><img src="https://trendshift.io/api/badge/repositories/23482" alt="Lum1104%2FUnderstand-Anything | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ja-JP.md">日本語</a> | <a href="README.ko-KR.md">한국어</a> | <a href="README.es-ES.md">Español</a> | <a href="README.tr-TR.md">Türkçe</a> | <a href="README.ru-RU.md">Русский</a>
</p>
<p align="center">
<a href="#-クイックスタート"><img src="https://img.shields.io/badge/Quick_Start-blue" alt="クイックスタート" /></a>
<a href="https://github.com/Lum1104/Understand-Anything/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow" alt="License: MIT" /></a>
<a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-8A2BE2" alt="Claude Code" /></a>
<a href="#codex"><img src="https://img.shields.io/badge/Codex-000000" alt="Codex" /></a>
<a href="#vs-code--github-copilot"><img src="https://img.shields.io/badge/Copilot-24292e" alt="Copilot" /></a>
<a href="#copilot-cli"><img src="https://img.shields.io/badge/Copilot_CLI-24292e" alt="Copilot CLI" /></a>
<a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4" alt="Gemini CLI" /></a>
<a href="#opencode"><img src="https://img.shields.io/badge/OpenCode-38bdf8" alt="OpenCode" /></a>
<a href="https://understand-anything.com"><img src="https://img.shields.io/badge/Homepage-d4a574" alt="ホームページ" /></a>
<a href="https://understand-anything.com/demo/"><img src="https://img.shields.io/badge/Live_Demo-00c853" alt="ライブデモ" /></a>
</p>
<p align="center">
<img src="../assets/hero.png" alt="Understand Anything — あらゆるコードベースをインタラクティブなナレッジグラフに変換" width="800" />
</p>
<p align="center">
<strong>💬 <a href="https://discord.gg/pydat66RY">Discord コミュニティに参加 &rarr;</a></strong>
<br />
<em>質問・作品の共有・コミュニティとの交流はこちらから。</em>
</p>
---
**新しいチームに参加したばかり。コードベースは20万行。どこから手をつければいいのか**
Understand Anything は [Claude Code Plugin](https://code.claude.com/docs/en/plugins-reference#plugins-reference) です。マルチエージェントパイプラインでプロジェクトを分析し、すべてのファイル・関数・クラス・依存関係のナレッジグラフを構築して、インタラクティブなダッシュボードで視覚的に探索できるようにします。コードを闇雲に読むのはやめて、全体像を把握しましょう。
> **目指すのは、コードベースの複雑さで圧倒するグラフではなく、すべてのパーツがどう噛み合っているかを静かに教えてくれるグラフ。**
---
## ✨ 機能
> [!NOTE]
> **すぐに試したいですか?** [ホームページ](https://understand-anything.com/)で[ライブデモ](https://understand-anything.com/demo/)をお試しください — パン、ズーム、検索、探索ができる完全インタラクティブなダッシュボードです。
### コード構造グラフを探索
コードベースをインタラクティブなナレッジグラフとして表示——すべてのファイル、関数、クラスがクリック・検索・探索可能なノードです。ノードを選択すると、わかりやすい要約、依存関係、ガイド付きツアーが表示されます。
### ビジネスロジックを理解
ドメインビューに切り替えると、コードが実際のビジネスプロセスにどう対応するかが一目でわかります——ドメイン、フロー、ステップが横方向のグラフとして表示されます。
### ナレッジベースを分析
`/understand-knowledge` を [Karpathy パターンの LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) に向けると、コミュニティクラスタリング付きのフォースディレクテッドナレッジグラフが生成されます。決定論的パーサーが `index.md` から wikilinks とカテゴリを抽出し、LLM エージェントが暗黙の関係を発見、エンティティを抽出、主張を浮き彫りにして、wiki をナビゲート可能な相互接続されたアイデアのグラフに変換します。
<table>
<tr>
<td width="50%" valign="top">
<h3>🧭 ガイドツアー</h3>
<p>依存関係順に並べられた、自動生成のアーキテクチャウォークスルー。正しい順序でコードベースを学べます。</p>
</td>
<td width="50%" valign="top">
<h3>🔍 ファジー&セマンティック検索</h3>
<p>名前や意味で何でも検索できます。「認証を処理する部分は?」と検索すれば、グラフ全体から関連する結果が得られます。</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 差分影響分析</h3>
<p>コミット前に、変更がシステムのどの部分に影響するかを確認。コードベース全体への波及効果を把握できます。</p>
</td>
<td width="50%" valign="top">
<h3>🎭 ペルソナ適応型UI</h3>
<p>ダッシュボードは、ジュニア開発者・PM・パワーユーザーなど、ユーザーに応じて詳細レベルを調整します。</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>🏗️ レイヤー可視化</h3>
<p>API・Service・Data・UI・Utilityなどのアーキテクチャ層ごとに自動グループ化。色分けされた凡例付き。</p>
</td>
<td width="50%" valign="top">
<h3>📚 言語コンセプト</h3>
<p>ジェネリクス・クロージャ・デコレータなど12のプログラミングパターンが、出現箇所のコンテキストで説明されます。</p>
</td>
</tr>
</table>
---
## 🚀 クイックスタート
### 1. プラグインをインストール
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 2. コードベースを分析
```bash
/understand
```
マルチエージェントパイプラインがプロジェクトをスキャンし、すべてのファイル・関数・クラス・依存関係を抽出して、`.understand-anything/knowledge-graph.json` にナレッジグラフを保存します。
**ローカライズされた出力:** `--language` を使用して、希望の言語でコンテンツを生成:
```bash
# 日本語でコンテンツを生成ナレッジグラフのード説明とダッシュボードUI
/understand --language ja
# サポート言語enデフォルト、zh、zh-TW、ja、ko、ru
```
`--language` パラメータは以下に影響します:
- ナレッジグラフのノードサマリーと説明
- ダッシュボードUIのラベル、ボタン、ツールチップ
- ガイド付きツアーの説明
### 3. ダッシュボードで探索
```bash
/understand-dashboard
```
インタラクティブなWebダッシュボードが開き、コードベースがグラフとして可視化されます。アーキテクチャ層ごとに色分けされ、検索やクリックが可能です。ードを選択すると、コード・関連関係・平易な説明が表示されます。
### 4. さらに学ぶ
```bash
# コードベースについて何でも質問
/understand-chat 支払いフローはどう動いているの?
# 現在の変更の影響を分析
/understand-diff
# 特定のファイルや関数を詳しく調べる
/understand-explain src/auth/login.ts
# 新メンバー向けのオンボーディングガイドを生成
/understand-onboard
# ビジネスドメイン知識を抽出(ドメイン、フロー、ステップ)
/understand-domain
# Karpathy パターンの LLM Wiki ナレッジベースを分析
/understand-knowledge ~/path/to/wiki
# いつでも再実行 —— デフォルトでインクリメンタル(変更ファイルのみ再分析)
/understand
# post-commit フックをインストールしてコミットごとに自動更新
/understand --auto-update
# 巨大なモノレポでも安心 —— サブディレクトリにスコープを絞る
/understand src/frontend
```
---
## 🌐 マルチプラットフォームインストール
Understand-Anythingは複数のAIコーディングプラットフォームで動作します。
### Claude Codeネイティブ
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### ワンラインインストールCodex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI
**macOS / Linux**
```bash
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# プラットフォームを直接指定して対話プロンプトをスキップすることもできます:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
```
**WindowsPowerShell**
```powershell
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
```
インストーラーはリポジトリを `~/.understand-anything/repo` にクローンし、選択したプラットフォーム用のシンボリックリンクを作成します。完了後はCLI/IDEを再起動してください。
- サポートされる `<platform>` 値:`gemini``codex``opencode``pi``openclaw``antigravity``vibe``vscode``hermes``cline``kimi`
- 後で更新:`./install.sh --update`
- アンインストール:`./install.sh --uninstall <platform>`
### Cursor
Cursorはこのリポジトリをクローンすると `.cursor-plugin/plugin.json` 経由でプラグインを自動検出します。手動インストールは不要です — クローンしてCursorで開くだけです。
自動検出されない場合は、手動でインストールしてください:**Cursor Settings → Plugins** を開き、検索欄に `https://github.com/Lum1104/Understand-Anything` を貼り付けて追加します。
### VS Code + GitHub Copilot
GitHub Copilot拡張機能v1.108+をインストールしたVS Codeは、`.copilot-plugin/plugin.json` 経由でプラグインを自動検出します。クローンしてVS Codeで開くだけで、手動インストールは不要です。
全プロジェクトで使用するパーソナルスキルとして導入したい場合は、上記の `install.sh``vscode` プラットフォームで実行してください。
### Copilot CLI
```bash
copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin
```
### プラットフォーム互換性
| プラットフォーム | ステータス | インストール方法 |
|----------|--------|----------------|
| Claude Code | ✅ ネイティブ | プラグインマーケットプレイス |
| Cursor | ✅ サポート | 自動検出 |
| VS Code + GitHub Copilot | ✅ サポート | 自動検出 |
| Copilot CLI | ✅ サポート | プラグインインストール |
| Codex | ✅ サポート | `install.sh codex` |
| OpenCode | ✅ サポート | `install.sh opencode` |
| OpenClaw | ✅ サポート | `install.sh openclaw` |
| Antigravity | ✅ サポート | `install.sh antigravity` |
| Gemini CLI | ✅ サポート | `install.sh gemini` |
| Pi Agent | ✅ サポート | `install.sh pi` |
| Vibe CLI | ✅ サポート | `install.sh vibe` |
| Hermes | ✅ サポート | `install.sh hermes` |
| Cline | ✅ サポート | `install.sh cline` |
| KIMI CLI | ✅ サポート | `install.sh kimi` |
---
## 📦 チームでグラフを共有する
グラフは単なる JSON ファイルです——**一度コミットすれば、チームメンバーはパイプラインを実行せずに済みます**。オンボーディング、PR レビュー、docs-as-code ワークフローに最適です。
> **例:** [GoogleCloudPlatform/microservices-demofork](https://github.com/Lum1104/microservices-demo) —— コミット済みのグラフを含む Go / Java / Python / Node のリファレンスプロジェクト。
**コミット対象:** `.understand-anything/` 内のすべてのファイル。ただし `intermediate/``diff-overlay.json` は除きます(これらはローカルの一時ファイルです)。
```gitignore
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
```
**最新状態を保つ:** `/understand --auto-update` を有効にすると、post-commit フックがグラフを増分的に更新し、各コミットに対応するグラフが揃います。またはリリース前に `/understand` を手動で再実行します。
**大きなグラフ10 MB 以上):** **git-lfs** で管理します。
```bash
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
```
---
## 🔧 内部の仕組み
### Tree-sitter + LLM ハイブリッド
決定論的にできることは静的解析、意味理解が必要なことは LLM、と役割を分けています
- **Tree-sitter決定論的** —— ソースコードを具象構文木にパースし、構造的事実を抽出しますimport、export、関数クラス定義、呼び出し位置、継承関係。スキャンフェーズで `importMap` として事前解決し、file-analyzer に渡すことで、ソースから再度 import を導出する必要をなくしています。同じ入力からは常に同じ出力が得られ、インクリメンタル更新のフィンガープリントの基盤にもなります。
- **LLM意味的** —— パース済みの構造と原文ソースを併せて読み、パーサーには出せないものを生成しますplain-English の要約、タグ、アーキテクチャレイヤの割当、業務ドメインマッピング、ガイド付きツアー、言語コンセプトの注釈。
この分担により、構造面ではグラフが再現可能(同じコードからは常に同じエッジが出る)でありながら、意味面ではそのファイルが「何のために」あるのかという意図を捉えられます。
### マルチエージェントパイプライン
`/understand` コマンドは5つの専門エージェントをオーケストレーションし、`/understand-domain` は6つ目を追加します
| エージェント | 役割 |
|-------|------|
| `project-scanner` | ファイルの検出、言語やフレームワークの検出 |
| `file-analyzer` | 関数・クラス・インポートの抽出、グラフノードとエッジの生成 |
| `architecture-analyzer` | アーキテクチャ層の特定 |
| `tour-builder` | ガイド学習ツアーの生成 |
| `graph-reviewer` | グラフの完全性と参照整合性の検証 |
| `domain-analyzer` | ビジネスドメイン、フロー、処理ステップの抽出(`/understand-domain` で使用) |
| `article-analyzer` | wiki 記事からエンティティ、主張、暗黙の関係を抽出(`/understand-knowledge` で使用) |
ファイルアナライザーは並列実行されます最大3つ同時。インクリメンタル更新に対応しており、前回の実行から変更されたファイルのみを再分析します。
---
## 🎥 コミュニティ
**Better Stack** によるコミュニティ製ウォークスルー動画。
<p align="center">
<a href="https://www.youtube.com/watch?v=VmIUXVlt7_I"><img src="https://img.youtube.com/vi/VmIUXVlt7_I/maxresdefault.jpg" alt="Better Stack によるコミュニティ製ウォークスルー動画 — クリックして YouTube で視聴" width="480" /></a>
<br />
<em><a href="https://www.youtube.com/watch?v=VmIUXVlt7_I">YouTube で視聴 &rarr;</a></em>
</p>
動画、ブログ、チュートリアルを作成しましたか?Issue または PR を開いてください — ここで紹介させていただきます。
---
## 🤝 コントリビュート
コントリビュートを歓迎します!始め方は以下の通りです:
1. リポジトリをフォーク
2. フィーチャーブランチを作成(`git checkout -b feature/my-feature`
3. テストを実行(`pnpm --filter @understand-anything/core test`
4. 変更をコミットしてプルリクエストを作成
大きな変更については、まずIssueを作成してアプローチを議論してください。
---
<p align="center">
<strong>コードを闇雲に読むのはやめよう。すべてを理解しよう。</strong>
</p>
## Star History
<a href="https://www.star-history.com/?repos=Lum1104%2FUnderstand-Anything&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
</picture>
</a>
<p align="center">
<em>使ってくれた、貢献してくれたすべての方へ ── 少しでも時間を節約できていると知ること、それがこれを作って良かったと思える理由です。</em>
</p>
<p align="center">
MIT License &copy; <a href="https://github.com/Lum1104">Lum1104</a>
</p>

View File

@@ -0,0 +1,344 @@
<h1 align="center">Understand Anything</h1>
<p align="center">
<strong>모든 코드베이스, 지식 베이스 또는 문서를 탐색, 검색, 질문할 수 있는 인터랙티브 지식 그래프로 변환합니다.</strong>
<br />
<em>Claude Code, Codex, Cursor, Copilot, Gemini CLI 등 다양한 플랫폼을 지원합니다.</em>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/23482" target="_blank"><img src="https://trendshift.io/api/badge/repositories/23482" alt="Lum1104%2FUnderstand-Anything | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ja-JP.md">日本語</a> | <a href="README.ko-KR.md">한국어</a> | <a href="README.es-ES.md">Español</a> | <a href="README.tr-TR.md">Türkçe</a> | <a href="README.ru-RU.md">Русский</a>
</p>
<p align="center">
<a href="#-빠른-시작"><img src="https://img.shields.io/badge/빠른_시작-blue" alt="Quick Start" /></a>
<a href="https://github.com/Lum1104/Understand-Anything/blob/main/LICENSE"><img src="https://img.shields.io/badge/라이선스-MIT-yellow" alt="License: MIT" /></a>
<a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-8A2BE2" alt="Claude Code" /></a>
<a href="#codex"><img src="https://img.shields.io/badge/Codex-000000" alt="Codex" /></a>
<a href="#vs-code--github-copilot"><img src="https://img.shields.io/badge/Copilot-24292e" alt="Copilot" /></a>
<a href="#copilot-cli"><img src="https://img.shields.io/badge/Copilot_CLI-24292e" alt="Copilot CLI" /></a>
<a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4" alt="Gemini CLI" /></a>
<a href="#opencode"><img src="https://img.shields.io/badge/OpenCode-38bdf8" alt="OpenCode" /></a>
<a href="https://understand-anything.com"><img src="https://img.shields.io/badge/홈페이지-d4a574" alt="Homepage" /></a>
<a href="https://understand-anything.com/demo/"><img src="https://img.shields.io/badge/라이브_데모-00c853" alt="Live Demo" /></a>
</p>
<p align="center">
<img src="../assets/hero.png" alt="Understand Anything — 모든 코드베이스를 인터랙티브 지식 그래프로 변환" width="800" />
</p>
<p align="center">
<strong>💬 <a href="https://discord.gg/pydat66RY">Discord 커뮤니티 참여하기 &rarr;</a></strong>
<br />
<em>질문하고, 만든 것을 공유하고, 커뮤니티의 도움을 받으세요.</em>
</p>
---
**새 팀에 합류했습니다. 코드베이스가 20만 줄입니다. 어디서부터 시작하시겠습니까?**
Understand Anything은 [Claude Code Plugin](https://code.claude.com/docs/en/plugins-reference#plugins-reference)으로, 멀티 에이전트 파이프라인을 통해 프로젝트를 분석하고, 모든 파일, 함수, 클래스, 의존성에 대한 지식 그래프를 구축한 뒤, 이를 시각적으로 탐색할 수 있는 인터랙티브 대시보드를 제공합니다. 더 이상 코드를 맹목적으로 읽지 마세요. 전체 그림을 파악하세요.
> **목표는 코드베이스의 복잡함으로 감탄을 자아내는 그래프가 아니라, 각 조각이 어떻게 맞물리는지 조용히 가르쳐주는 그래프입니다.**
---
## ✨ 주요 기능
> [!NOTE]
> **바로 체험해보세요!** [홈페이지](https://understand-anything.com/)에서 [라이브 데모](https://understand-anything.com/demo/)를 사용해보세요 — 팬, 줌, 검색, 탐색이 가능한 완전한 인터랙티브 대시보드입니다.
### 구조 그래프 탐색
코드베이스를 인터랙티브 지식 그래프로 탐색하세요. 모든 파일, 함수, 클래스가 클릭, 검색, 탐색 가능한 노드입니다. 노드를 선택하면 이해하기 쉬운 요약, 관계, 가이드 투어를 확인할 수 있습니다.
### 비즈니스 로직 이해
도메인 뷰로 전환하면 코드가 실제 비즈니스 프로세스에 어떻게 매핑되는지 확인할 수 있습니다. 도메인, 흐름, 단계가 수평 그래프로 표시됩니다.
### 지식 베이스 분석
`/understand-knowledge`를 [Karpathy 패턴 LLM 위키](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f)에 연결하면 커뮤니티 클러스터링이 적용된 힘 기반 지식 그래프를 생성합니다. 결정론적 파서가 `index.md`에서 위키링크와 카테고리를 추출한 후, LLM 에이전트가 암묵적 관계를 발견하고, 엔티티를 추출하며, 주장을 도출하여 위키를 탐색 가능한 상호 연결된 아이디어 그래프로 변환합니다.
<table>
<tr>
<td width="50%" valign="top">
<h3>🧭 가이드 투어</h3>
<p>의존성 순서에 따라 자동 생성되는 아키텍처 워크스루입니다. 올바른 순서로 코드베이스를 학습하세요.</p>
</td>
<td width="50%" valign="top">
<h3>🔍 퍼지 및 시맨틱 검색</h3>
<p>이름 또는 의미로 무엇이든 검색하세요. "인증을 처리하는 부분은?" 같은 질문으로 그래프 전체에서 관련 결과를 얻을 수 있습니다.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 변경 영향 분석</h3>
<p>커밋 전에 변경 사항이 시스템의 어떤 부분에 영향을 미치는지 확인하세요. 코드베이스 전반의 파급 효과를 이해하세요.</p>
</td>
<td width="50%" valign="top">
<h3>🎭 페르소나 적응형 UI</h3>
<p>사용자 유형(주니어 개발자, PM, 파워 유저)에 따라 대시보드의 상세 수준이 자동으로 조정됩니다.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>🏗️ 레이어 시각화</h3>
<p>아키텍처 레이어별 자동 그룹화 — API, 서비스, 데이터, UI, 유틸리티 — 색상 코드 범례가 함께 제공됩니다.</p>
</td>
<td width="50%" valign="top">
<h3>📚 프로그래밍 개념</h3>
<p>12가지 프로그래밍 패턴(제네릭, 클로저, 데코레이터 등)이 코드에 등장하는 맥락에서 설명됩니다.</p>
</td>
</tr>
</table>
---
## 🚀 빠른 시작
### 1. 플러그인 설치
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 2. 코드베이스 분석
```bash
/understand
```
멀티 에이전트 파이프라인이 프로젝트를 스캔하고, 모든 파일, 함수, 클래스, 의존성을 추출한 뒤, `.understand-anything/knowledge-graph.json`에 지식 그래프를 저장합니다.
**로컬라이즈된 출력:** `--language`를 사용하여 원하는 언어로 내용을 생성:
```bash
# 한국어로 내용 생성 (지식 그래프 노드 설명과 대시보드 UI)
/understand --language ko
# 지원 언어: en(기본값), zh, zh-TW, ja, ko, ru
```
`--language` 매개변수는 다음에 영향합니다:
- 지식 그래프의 노드 요약과 설명
- 대시보드 UI의 레이블, 버튼, 툴팁
- 가이드 투어의 설명
### 3. 대시보드 탐색
```bash
/understand-dashboard
```
코드베이스가 그래프로 시각화된 인터랙티브 웹 대시보드가 열립니다. 아키텍처 레이어별로 색상이 구분되어 있으며, 검색과 클릭이 가능합니다. 노드를 선택하면 코드, 관계, 이해하기 쉬운 설명을 확인할 수 있습니다.
### 4. 더 깊이 탐구하기
```bash
# 코드베이스에 대해 무엇이든 질문하기
/understand-chat How does the payment flow work?
# 현재 변경 사항의 영향 분석
/understand-diff
# 특정 파일이나 함수를 심층 분석
/understand-explain src/auth/login.ts
# 새 팀원을 위한 온보딩 가이드 생성
/understand-onboard
# 비즈니스 도메인 지식 추출 (도메인, 흐름, 단계)
/understand-domain
# Karpathy 패턴 LLM 위키 지식 베이스 분석
/understand-knowledge ~/path/to/wiki
# 언제든 다시 실행 — 기본값은 증분 업데이트(변경된 파일만 재분석)
/understand
# post-commit 훅을 설치해 매 커밋마다 자동 증분 업데이트
/understand --auto-update
# 거대한 모노레포라면 하위 디렉터리로 범위 제한
/understand src/frontend
```
---
## 🌐 멀티 플랫폼 설치
Understand-Anything은 다양한 AI 코딩 플랫폼에서 사용할 수 있습니다.
### Claude Code (네이티브)
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 한 줄 설치 (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI)
**macOS / Linux:**
```bash
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# 플랫폼 이름을 직접 전달하여 프롬프트를 건너뛸 수도 있습니다:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
```
**Windows (PowerShell):**
```powershell
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
```
설치 스크립트는 저장소를 `~/.understand-anything/repo`에 클론하고 선택한 플랫폼에 맞는 심볼릭 링크를 생성합니다. 설치 후 CLI 또는 IDE를 재시작하세요.
- 지원되는 `<platform>` 값: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vibe`, `vscode`, `hermes`, `cline`, `kimi`
- 이후 업데이트: `./install.sh --update`
- 제거: `./install.sh --uninstall <platform>`
### Cursor
이 저장소를 클론하면 Cursor가 `.cursor-plugin/plugin.json`을 통해 플러그인을 자동으로 인식합니다. 수동 설치가 필요 없습니다. 클론 후 Cursor에서 열기만 하면 됩니다.
자동 인식이 되지 않으면 수동으로 설치하세요: **Cursor Settings → Plugins**를 열고 검색란에 `https://github.com/Lum1104/Understand-Anything`를 붙여넣은 뒤 추가하세요.
### VS Code + GitHub Copilot
GitHub Copilot(v1.108+)이 설치된 VS Code는 `.copilot-plugin/plugin.json`을 통해 플러그인을 자동으로 인식합니다. 수동 설치가 필요 없습니다. 클론 후 VS Code에서 열기만 하면 됩니다.
모든 프로젝트에서 사용하는 개인 스킬로 설치하려면 위 `install.sh``vscode` 플랫폼으로 실행하세요.
### Copilot CLI
```bash
copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin
```
### 플랫폼 호환성
| 플랫폼 | 상태 | 설치 방법 |
|----------|--------|----------------|
| Claude Code | ✅ 네이티브 | 플러그인 마켓플레이스 |
| Cursor | ✅ 지원 | 자동 인식 |
| VS Code + GitHub Copilot | ✅ 지원 | 자동 인식 |
| Copilot CLI | ✅ 지원 | 플러그인 설치 |
| Codex | ✅ 지원 | `install.sh codex` |
| OpenCode | ✅ 지원 | `install.sh opencode` |
| OpenClaw | ✅ 지원 | `install.sh openclaw` |
| Antigravity | ✅ 지원 | `install.sh antigravity` |
| Gemini CLI | ✅ 지원 | `install.sh gemini` |
| Pi Agent | ✅ 지원 | `install.sh pi` |
| Vibe CLI | ✅ 지원 | `install.sh vibe` |
| Hermes | ✅ 지원 | `install.sh hermes` |
| Cline | ✅ 지원 | `install.sh cline` |
| KIMI CLI | ✅ 지원 | `install.sh kimi` |
---
## 📦 팀과 그래프 공유하기
그래프는 단지 JSON 파일입니다 — **한 번만 커밋하면 팀원은 파이프라인을 건너뛸 수 있습니다**. 온보딩, PR 리뷰, docs-as-code 워크플로에 적합합니다.
> **예시:** [GoogleCloudPlatform/microservices-demo (fork)](https://github.com/Lum1104/microservices-demo) — 커밋된 그래프를 포함한 Go / Java / Python / Node 레퍼런스 프로젝트.
**커밋할 대상:** `.understand-anything/` 내부의 모든 파일. 단, `intermediate/``diff-overlay.json` 은 제외합니다 (이들은 로컬 임시 파일입니다).
```gitignore
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
```
**최신 상태 유지:** `/understand --auto-update` 를 활성화하면 post-commit 훅이 그래프를 증분 업데이트하여 각 커밋마다 일치하는 그래프가 유지됩니다. 또는 릴리스 전에 `/understand` 를 수동으로 다시 실행하세요.
**대용량 그래프 (10 MB 이상):** **git-lfs** 로 추적합니다.
```bash
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
```
---
## 🔧 작동 원리
### Tree-sitter + LLM 하이브리드
결정적으로 처리할 수 있는 일은 정적 분석이, 의미 이해가 필요한 일은 LLM 이 담당합니다:
- **Tree-sitter(결정적)** — 소스 코드를 구체 구문 트리로 파싱해 구조적 사실을 추출합니다: import, export, 함수/클래스 정의, 호출 위치, 상속. 스캔 단계에서 `importMap` 으로 사전 해석해 file-analyzer 에 전달하므로, 소스에서 다시 import 를 유도할 필요가 없습니다. 같은 입력은 항상 같은 출력을 내며, 증분 업데이트의 핑거프린트 기반이기도 합니다.
- **LLM(의미적)** — 파싱된 구조와 원본 소스를 함께 읽어 파서가 만들 수 없는 것들을 생성합니다: plain-English 요약, 태그, 아키텍처 레이어 할당, 비즈니스 도메인 매핑, 가이드 투어, 언어 개념 주석.
이 분담 덕분에 그래프는 구조 측면에서는 재현 가능하면서(같은 코드는 항상 같은 엣지를 만든다), 의미 측면에서는 의도를 포착할 수 있습니다(파일이 단지 무엇을 import 하는지가 아니라 *무엇을 위해* 존재하는지).
### 멀티 에이전트 파이프라인
`/understand` 명령은 5개의 전문 에이전트를 조율하며, `/understand-domain`은 6번째 에이전트를 추가합니다:
| 에이전트 | 역할 |
|-------|------|
| `project-scanner` | 파일 탐색, 언어 및 프레임워크 감지 |
| `file-analyzer` | 함수, 클래스, 임포트 추출; 그래프 노드 및 엣지 생성 |
| `architecture-analyzer` | 아키텍처 레이어 식별 |
| `tour-builder` | 가이드 학습 투어 생성 |
| `graph-reviewer` | 그래프 완전성 및 참조 무결성 검증 (기본적으로 인라인 실행; 전체 LLM 검토는 `--review` 사용) |
| `domain-analyzer` | 비즈니스 도메인, 흐름 및 프로세스 단계 추출 (`/understand-domain`에서 사용) |
| `article-analyzer` | 위키 문서에서 엔티티, 주장 및 암묵적 관계 추출 (`/understand-knowledge`에서 사용) |
파일 분석기는 병렬로 실행됩니다(최대 5개 동시, 배치당 20~30개 파일). 증분 업데이트를 지원하여 마지막 실행 이후 변경된 파일만 재분석합니다.
---
## 🎥 커뮤니티
**Better Stack**에서 만든 커뮤니티 워크스루 영상.
<p align="center">
<a href="https://www.youtube.com/watch?v=VmIUXVlt7_I"><img src="https://img.youtube.com/vi/VmIUXVlt7_I/maxresdefault.jpg" alt="Better Stack에서 만든 커뮤니티 워크스루 영상 — 클릭하여 YouTube에서 시청" width="480" /></a>
<br />
<em><a href="https://www.youtube.com/watch?v=VmIUXVlt7_I">YouTube에서 보기 &rarr;</a></em>
</p>
영상, 블로그 글, 튜토리얼을 만드셨나요? 이슈나 PR을 열어주세요 — 여기서 소개해드릴게요.
---
## 🤝 기여하기
기여를 환영합니다! 시작하는 방법은 다음과 같습니다:
1. 저장소를 Fork합니다
2. 기능 브랜치를 생성합니다 (`git checkout -b feature/my-feature`)
3. 테스트를 실행합니다 (`pnpm --filter @understand-anything/core test`)
4. 변경 사항을 커밋하고 Pull Request를 생성합니다
주요 변경 사항의 경우, 먼저 Issue를 열어 접근 방식을 논의해 주세요.
---
<p align="center">
<strong>더 이상 코드를 맹목적으로 읽지 마세요. 모든 것을 이해하세요.</strong>
</p>
## Star 히스토리
<a href="https://www.star-history.com/?repos=Lum1104%2FUnderstand-Anything&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
</picture>
</a>
<p align="center">
<em>이 도구를 사용해 주시고 기여해 주신 모든 분들께 감사드립니다 — 누군가의 시간을 아껴드리고 있다는 사실이, 이걸 만들 가치가 있게 만든 이유였습니다.</em>
</p>
<p align="center">
MIT 라이선스 &copy; <a href="https://github.com/Lum1104">Lum1104</a>
</p>

View File

@@ -0,0 +1,345 @@
<h1 align="center">Understand Anything</h1>
<p align="center">
<strong>Превращай любую кодовую базу, базу знаний или документацию в интерактивный граф знаний, который можно исследовать, искать в нём и задавать вопросы.</strong>
<br />
<em>Работает с Claude Code, Codex, Cursor, Copilot, Gemini CLI и другими.</em>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/23482" target="_blank"><img src="https://trendshift.io/api/badge/repositories/23482" alt="Lum1104%2FUnderstand-Anything | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ja-JP.md">日本語</a> | <a href="README.ko-KR.md">한국어</a> | <a href="README.es-ES.md">Español</a> | <a href="README.tr-TR.md">Türkçe</a> | <a href="README.ru-RU.md">Русский</a>
</p>
<p align="center">
<a href="#-быстрый-старт"><img src="https://img.shields.io/badge/Быстрый_старт-blue" alt="Quick Start" /></a>
<a href="https://github.com/Lum1104/Understand-Anything/blob/main/LICENSE"><img src="https://img.shields.io/badge/Лицензия-MIT-yellow" alt="License: MIT" /></a>
<a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-8A2BE2" alt="Claude Code" /></a>
<a href="#codex"><img src="https://img.shields.io/badge/Codex-000000" alt="Codex" /></a>
<a href="#vs-code--github-copilot"><img src="https://img.shields.io/badge/Copilot-24292e" alt="Copilot" /></a>
<a href="#copilot-cli"><img src="https://img.shields.io/badge/Copilot_CLI-24292e" alt="Copilot CLI" /></a>
<a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4" alt="Gemini CLI" /></a>
<a href="#opencode"><img src="https://img.shields.io/badge/OpenCode-38bdf8" alt="OpenCode" /></a>
<a href="https://understand-anything.com"><img src="https://img.shields.io/badge/Сайт-d4a574" alt="Homepage" /></a>
<a href="https://understand-anything.com/demo/"><img src="https://img.shields.io/badge/Демо-00c853" alt="Live Demo" /></a>
</p>
<p align="center">
<img src="../assets/hero.png" alt="Understand Anything — Превратите любую кодовую базу в интерактивный граф знаний" width="800" />
</p>
<p align="center">
<strong>💬 <a href="https://discord.gg/pydat66RY">Присоединяйтесь к сообществу в Discord &rarr;</a></strong>
<br />
<em>Задавайте вопросы, делитесь тем, что вы построили, получайте помощь от сообщества.</em>
</p>
---
**Вы только что присоединились к новой команде. Кодовая база — 200 000 строк. С чего вообще начинать?**
Understand Anything — это [плагин для Claude Code](https://code.claude.com/docs/en/plugins-reference#plugins-reference), который анализирует ваш проект с помощью мультиагентного пайплайна, строит граф знаний из всех файлов, функций, классов и зависимостей, а затем предоставляет интерактивную панель, чтобы исследовать всё это визуально. Хватит читать код вслепую. Пора увидеть общую картину.
> **Цель — не граф, который поражает сложностью вашей кодовой базы, а граф, который ненавязчиво объясняет, как все части складываются вместе.**
---
## ✨ Возможности
> [!NOTE]
> **Хотите пропустить чтение?** Попробуйте [живое демо](https://understand-anything.com/demo/) на нашем [сайте](https://understand-anything.com/) — полностью интерактивная панель, по которой можно перемещаться, масштабировать, искать и исследовать прямо в браузере.
### Исследуйте структурный граф
Перемещайтесь по своему коду как по интерактивному графу знаний — каждый файл, функция и класс является узлом, который можно кликнуть, найти и изучить. Выберите любой узел, чтобы увидеть понятные описания, связи и пошаговые обзоры.
### Понимайте бизнес-логику
Переключитесь на доменное представление и увидите, как ваш код отображается на реальные бизнес-процессы — домены, потоки и шаги, выстроенные в виде горизонтального графа.
### Анализируйте базы знаний
Направьте `/understand-knowledge` на [LLM-вики в стиле Карпати](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) и получите force-directed граф знаний с кластеризацией по сообществам. Детерминированный парсер извлекает wikilinks и категории из `index.md`, а LLM-агенты находят неявные связи, извлекают сущности и выявляют утверждения — превращая вашу вики в навигируемый граф взаимосвязанных идей.
<table>
<tr>
<td width="50%" valign="top">
<h3>🧭 Пошаговые обзоры</h3>
<p>Автоматически создаваемые экскурсии по архитектуре, упорядоченные по зависимостям. Изучайте кодовую базу в правильном порядке.</p>
</td>
<td width="50%" valign="top">
<h3>🔍 Нечёткий и семантический поиск</h3>
<p>Находите что угодно по имени или по смыслу. Поищите «какие части отвечают за авторизацию?» и получите релевантные результаты по всему графу.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 Анализ влияния изменений</h3>
<p>Смотрите, какие части системы затрагивают ваши изменения, ещё до коммита. Понимайте каскадные эффекты по всей кодовой базе.</p>
</td>
<td width="50%" valign="top">
<h3>🎭 UI, адаптирующийся к роли</h3>
<p>Панель подстраивает уровень детализации под пользователя — junior-разработчика, PM или продвинутого пользователя.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>🏗️ Визуализация слоёв</h3>
<p>Автоматическая группировка по архитектурным слоям — API, Service, Data, UI, Utility — с цветовой легендой.</p>
</td>
<td width="50%" valign="top">
<h3>📚 Концепции языка</h3>
<p>12 шаблонов программирования (дженерики, замыкания, декораторы и т.д.) объясняются в контексте там, где они встречаются.</p>
</td>
</tr>
</table>
---
## 🚀 Быстрый старт
### 1. Установите плагин
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 2. Проанализируйте кодовую базу
```bash
/understand
```
Мультиагентный пайплайн сканирует ваш проект, извлекает каждый файл, функцию, класс и зависимость, а затем строит граф знаний и сохраняет его в `.understand-anything/knowledge-graph.json`.
**Локализованный вывод:** используйте `--language`, чтобы генерировать контент на нужном языке:
```bash
# Генерация контента на русском (описания узлов графа знаний и UI панели)
/understand --language ru
# Поддерживаемые языки: en (по умолчанию), zh, zh-TW, ja, ko, ru
```
Параметр `--language` влияет на:
- Резюме и описания узлов в графе знаний
- Подписи, кнопки и подсказки UI панели
- Объяснения в пошаговых обзорах
### 3. Откройте панель
```bash
/understand-dashboard
```
Открывается интерактивная веб-панель с визуализацией вашей кодовой базы в виде графа — с цветовой кодировкой по архитектурным слоям, поиском и кликабельными узлами. Выберите любой узел, чтобы увидеть его код, связи и описание простым языком.
### 4. Продолжайте учиться
```bash
# Задайте любой вопрос о кодовой базе
/understand-chat How does the payment flow work?
# Проанализируйте влияние ваших текущих изменений
/understand-diff
# Подробно разберитесь с конкретным файлом или функцией
/understand-explain src/auth/login.ts
# Сгенерируйте онбординг-гайд для новых членов команды
/understand-onboard
# Извлеките знания о бизнес-доменах (домены, потоки, шаги)
/understand-domain
# Проанализируйте LLM-вики в стиле Карпати
/understand-knowledge ~/path/to/wiki
# Перезапускайте когда угодно — по умолчанию инкрементально (только изменённые файлы)
/understand
# Установите post-commit хук для автоматических инкрементальных обновлений
/understand --auto-update
# Огромный монорепозиторий? Ограничьте анализ подкаталогом
/understand src/frontend
```
---
## 🌐 Установка на разных платформах
Understand-Anything работает с несколькими платформами AI-разработки.
### Claude Code (нативно)
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### Установка одной командой (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI)
**macOS / Linux:**
```bash
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# или передайте платформу, чтобы пропустить интерактивный выбор:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
```
**Windows (PowerShell):**
```powershell
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
```
Установщик клонирует репозиторий в `~/.understand-anything/repo` и создаёт нужные симлинки для выбранной платформы. После установки перезапустите свой CLI/IDE.
- Поддерживаемые значения `<platform>`: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vibe`, `vscode`, `hermes`, `cline`, `kimi`
- Обновление: `./install.sh --update`
- Удаление: `./install.sh --uninstall <platform>`
### Cursor
Cursor автоматически обнаруживает плагин через `.cursor-plugin/plugin.json` при клонировании этого репозитория. Ручная установка не требуется — просто склонируйте и откройте в Cursor.
Если автообнаружение не сработало, установите вручную: откройте **Cursor Settings → Plugins**, вставьте `https://github.com/Lum1104/Understand-Anything` в поле поиска и добавьте оттуда.
### VS Code + GitHub Copilot
VS Code с GitHub Copilot (v1.108+) автоматически обнаруживает плагин через `.copilot-plugin/plugin.json` при клонировании этого репозитория. Ручная установка не требуется — просто склонируйте и откройте в VS Code.
Для персональных skills (доступных во всех проектах) запустите `install.sh` выше с платформой `vscode`.
### Copilot CLI
```bash
copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin
```
### Совместимость с платформами
| Платформа | Статус | Способ установки |
|----------|--------|----------------|
| Claude Code | ✅ Нативно | Marketplace плагинов |
| Cursor | ✅ Поддерживается | Автообнаружение |
| VS Code + GitHub Copilot | ✅ Поддерживается | Автообнаружение |
| Copilot CLI | ✅ Поддерживается | Установка плагина |
| Codex | ✅ Поддерживается | `install.sh codex` |
| OpenCode | ✅ Поддерживается | `install.sh opencode` |
| OpenClaw | ✅ Поддерживается | `install.sh openclaw` |
| Antigravity | ✅ Поддерживается | `install.sh antigravity` |
| Gemini CLI | ✅ Поддерживается | `install.sh gemini` |
| Pi Agent | ✅ Поддерживается | `install.sh pi` |
| Vibe CLI | ✅ Поддерживается | `install.sh vibe` |
| Hermes | ✅ Поддерживается | `install.sh hermes` |
| Cline | ✅ Поддерживается | `install.sh cline` |
| KIMI CLI | ✅ Поддерживается | `install.sh kimi` |
---
## 📦 Поделитесь графом с командой
Граф — это просто JSON. **Зафиксируйте его один раз, и коллеги смогут пропустить весь пайплайн.** Полезно для онбординга, ревью PR и подхода docs-as-code.
> **Пример:** [GoogleCloudPlatform/microservices-demo (форк)](https://github.com/Lum1104/microservices-demo) — мультиязыковой проект (Go / Java / Python / Node) с уже зафиксированным графом.
**Что коммитить:** всё содержимое `.understand-anything/`, *кроме* `intermediate/` и `diff-overlay.json` (это локальные временные файлы).
```gitignore
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
```
**Держите граф в актуальном состоянии:** включите `/understand --auto-update` — post-commit хук будет инкрементально обновлять граф, так что каждый коммит сопровождается соответствующим графом. Либо запускайте `/understand` вручную перед релизами.
**Большие графы (10 МБ+):** храните через **git-lfs**.
```bash
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
```
---
## 🔧 Под капотом
### Гибрид Tree-sitter + LLM
Детерминированную работу делает статический анализ, семантическое понимание — LLM:
- **Tree-sitter (детерминированно)** — парсит исходный код в конкретное синтаксическое дерево и извлекает структурные факты: import'ы, export'ы, определения функций/классов, точки вызова, наследование. На фазе сканирования заранее разрешается в `importMap` и передаётся file-analyzer'ам, чтобы они не выводили import'ы из исходника заново. Одинаковый ввод всегда даёт одинаковый вывод; это же лежит в основе fingerprint'ов для инкрементальных обновлений.
- **LLM (семантически)** — читает разобранную структуру вместе с исходным текстом и производит то, что не способны парсеры: понятные человеку резюме, теги, назначение архитектурных слоёв, отображение бизнес-доменов, ведомые туры, заметки о концепциях языка.
Именно благодаря этому разделению граф воспроизводим со стороны структуры (один и тот же код всегда даёт одни и те же рёбра) и одновременно улавливает намерение со стороны семантики (для *чего* существует файл, а не только что он импортирует).
### Мультиагентный пайплайн
Команда `/understand` оркестрирует 5 специализированных агентов, а `/understand-domain` добавляет шестого:
| Агент | Роль |
|-------|------|
| `project-scanner` | Обнаружение файлов, определение языков и фреймворков |
| `file-analyzer` | Извлечение функций, классов, импортов; создание узлов и рёбер графа |
| `architecture-analyzer` | Определение архитектурных слоёв |
| `tour-builder` | Генерация пошаговых обучающих обзоров |
| `graph-reviewer` | Проверка полноты и целостности ссылок графа (по умолчанию выполняется inline; используйте `--review` для полного ревью с участием LLM) |
| `domain-analyzer` | Извлечение бизнес-доменов, потоков и шагов процессов (используется командой `/understand-domain`) |
| `article-analyzer` | Извлечение сущностей, утверждений и неявных связей из статей вики (используется командой `/understand-knowledge`) |
Анализаторы файлов работают параллельно (до 5 одновременно, 2030 файлов на батч). Поддерживаются инкрементальные обновления — повторно анализируются только файлы, изменившиеся с прошлого запуска.
---
## 🎥 Сообщество
Обзорное видео от сообщества, созданное **Better Stack**.
<p align="center">
<a href="https://www.youtube.com/watch?v=VmIUXVlt7_I"><img src="https://img.youtube.com/vi/VmIUXVlt7_I/maxresdefault.jpg" alt="Обзорное видео от сообщества Better Stack — нажмите, чтобы посмотреть на YouTube" width="480" /></a>
<br />
<em><a href="https://www.youtube.com/watch?v=VmIUXVlt7_I">Смотреть на YouTube &rarr;</a></em>
</p>
Сделали видео, статью или руководство? Откройте issue или PR — с удовольствием добавим сюда.
---
## 🤝 Вклад в проект
Будем рады вашим контрибьюшенам! Как начать:
1. Сделайте форк репозитория
2. Создайте ветку для фичи (`git checkout -b feature/my-feature`)
3. Запустите тесты (`pnpm --filter @understand-anything/core test`)
4. Закоммитьте изменения и откройте pull request
Для крупных изменений сначала откройте issue, чтобы можно было обсудить подход.
---
<p align="center">
<strong>Хватит читать код вслепую. Начните понимать всё.</strong>
</p>
## История звёзд
<a href="https://www.star-history.com/?repos=Lum1104%2FUnderstand-Anything&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
</picture>
</a>
<p align="center">
<em>Спасибо всем, кто пользовался проектом и вкладывался в него — знание того, что это экономит людям время, и было главной причиной, ради которой стоило его делать.</em>
</p>
<p align="center">
Лицензия MIT &copy; <a href="https://github.com/Lum1104">Lum1104</a>
</p>

View File

@@ -0,0 +1,345 @@
<h1 align="center">Understand Anything</h1>
<p align="center">
<strong>Herhangi bir kod tabanını, bilgi tabanını veya dokümantasyonu keşfedebileceğin, arayabileceğin ve hakkında sorular sorabileceğin interaktif bir bilgi grafiğine dönüştür.</strong>
<br />
<em>Claude Code, Codex, Cursor, Copilot, Gemini CLI ve daha fazlasıyla çalışır.</em>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/23482" target="_blank"><img src="https://trendshift.io/api/badge/repositories/23482" alt="Lum1104%2FUnderstand-Anything | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ja-JP.md">日本語</a> | <a href="README.ko-KR.md">한국어</a> | <a href="README.es-ES.md">Español</a> | <a href="README.tr-TR.md">Türkçe</a> | <a href="README.ru-RU.md">Русский</a>
</p>
<p align="center">
<a href="#-hızlı-başlangıç"><img src="https://img.shields.io/badge/Hızlı_Başlangıç-blue" alt="Hızlı Başlangıç" /></a>
<a href="https://github.com/Lum1104/Understand-Anything/blob/main/LICENSE"><img src="https://img.shields.io/badge/Lisans-MIT-yellow" alt="Lisans: MIT" /></a>
<a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-8A2BE2" alt="Claude Code" /></a>
<a href="#codex"><img src="https://img.shields.io/badge/Codex-000000" alt="Codex" /></a>
<a href="#vs-code--github-copilot"><img src="https://img.shields.io/badge/Copilot-24292e" alt="Copilot" /></a>
<a href="#copilot-cli"><img src="https://img.shields.io/badge/Copilot_CLI-24292e" alt="Copilot CLI" /></a>
<a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4" alt="Gemini CLI" /></a>
<a href="#opencode"><img src="https://img.shields.io/badge/OpenCode-38bdf8" alt="OpenCode" /></a>
<a href="https://understand-anything.com"><img src="https://img.shields.io/badge/Ana_Sayfa-d4a574" alt="Ana Sayfa" /></a>
<a href="https://understand-anything.com/demo/"><img src="https://img.shields.io/badge/Canlı_Demo-00c853" alt="Canlı Demo" /></a>
</p>
<p align="center">
<img src="../assets/hero.png" alt="Understand Anything — Herhangi bir kod tabanını interaktif bir bilgi grafiğine dönüştür" width="800" />
</p>
<p align="center">
<strong>💬 <a href="https://discord.gg/pydat66RY">Discord topluluğuna katıl &rarr;</a></strong>
<br />
<em>Sorular sor, yaptıklarını paylaş, topluluktan yardım al.</em>
</p>
---
**Yeni bir ekibe katıldın. Kod tabanı 200.000 satır kod. Nereden başlayacaksın bile bilemiyorsun?**
Understand Anything, projenizi çok-ajan hattıyla analiz eden, her dosya, fonksiyon, sınıf ve bağımlılığın bilgi grafiğini oluşturan ve hepsini görsel olarak keşfetmen için interaktif bir kontrol paneli sunan bir [Claude Code Plugin](https://code.claude.com/docs/en/plugins-reference#plugins-reference)'dir. Kodu körü körüne okumayı bırak. Büyük resmi görmeye başla.
> **Amaç, kod tabanının ne kadar karmaşık olduğunu görkemle gösteren bir grafik değil — her parçanın nasıl birbirine geçtiğini sessizce öğreten bir grafik.**
---
## ✨ Özellikler
> [!NOTE]
> **Hemen denemek ister misiniz?** [Ana sayfamızda](https://understand-anything.com/) [canlı demoyu](https://understand-anything.com/demo/) deneyin — doğrudan tarayıcınızda kaydırma, yakınlaştırma, arama ve keşfetme yapabileceğiniz tam etkileşimli bir kontrol paneli.
### Yapısal grafiği keşfedin
Kod tabanınızı interaktif bir bilgi grafiği olarak görüntüleyin — her dosya, fonksiyon ve sınıf tıklanabilir, aranabilir ve keşfedilebilir bir düğümdür. Herhangi bir düğümü seçerek anlaşılır özetleri, bağımlılıkları ve rehberli turları görün.
### İş mantığını anlayın
Alan görünümüne geçin ve kodunuzun gerçek iş süreçleriyle nasıl eşleştiğini görün — alanlar, akışlar ve adımlar yatay bir grafik olarak sunulur.
### Bilgi tabanlarını analiz et
`/understand-knowledge` komutunu bir [Karpathy deseni LLM Wiki'sine](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) yönlendirin ve topluluk kümeleme ile kuvvet yönelimli bir bilgi grafiği elde edin. Deterministik ayrıştırıcı `index.md`'den wikilinkleri ve kategorileri çıkarır, ardından LLM ajanları örtük ilişkileri keşfeder, varlıkları çıkarır ve iddiaları ortaya çıkarır — wiki'nizi gezinilebilir, birbirine bağlı fikirler grafiğine dönüştürür.
<table>
<tr>
<td width="50%" valign="top">
<h3>🧭 Rehberli Turlar</h3>
<p>Bağımlılığa göre sıralanmış, mimarinin otomatik oluşturulmuş gözden geçirmeleri. Kod tabanını doğru sırayla öğren.</p>
</td>
<td width="50%" valign="top">
<h3>🔍 Bulanık ve Anlamsal Arama</h3>
<p>İsme veya anlamına göre her şeyi bul. "Kimlik doğrulamayı hangi parçalar yönetiyor?" ara ve grafik boyunca ilgili sonuçları al.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 Diff Etki Analizi</h3>
<p>Değişikliklerinin sistemin hangi bölümlerini etkilediğini commit etmeden önce gör. Kod tabanı boyunca dalgalanma etkilerini anla.</p>
</td>
<td width="50%" valign="top">
<h3>🎭 Kişiye Uyarlanabilir UI</h3>
<p>Kontrol paneli, kim olduğuna göre ayrıntı seviyesini ayarlar — junior geliştirici, ürün yöneticisi veya güçlü kullanıcı.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>🏗️ Katman Görselleştirmesi</h3>
<p>Mimari katmana göre otomatik gruplama — API, Servis, Veri, UI, Yardımcı — renk kodlu efsaneyle.</p>
</td>
<td width="50%" valign="top">
<h3>📚 Dil Kavramları</h3>
<p>12 programlama deseni (generikler, kapanışlar, dekoratörler, vb.) göründükleri her yerde bağlam içinde açıklanır.</p>
</td>
</tr>
</table>
---
## 🚀 Hızlı Başlangıç
### 1. Eklentiyi yükle
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 2. Kod tabanını analiz et
```bash
/understand
```
Çok-ajan hattı projenizi tarar, her dosya, fonksiyon, sınıf ve bağımlılığı çıkarır, ardından `.understand-anything/knowledge-graph.json` dosyasına kaydedilen bir bilgi grafiği oluşturur.
**Yerelleştirilmiş çıktı:** İstediğiniz dilde içerik oluşturmak için `--language` kullanın:
```bash
# İstediğiniz dilde içerik oluştur (düğüm açıklamaları ve dashboard UI)
/understand --language en
# Desteklenen diller: en (varsayılan), zh, zh-TW, ja, ko, ru
```
`--language` parametresi şunları etkiler:
- Bilgi grafiğindeki düğüm özetleri ve açıklamalar
- Dashboard UI etiketleri, butonlar ve araç ipuçları
- Rehberli tur açıklamaları
### 3. Kontrol panelini keşfet
```bash
/understand-dashboard
```
Kod tabanın bir grafik olarak görselleştirilmiş, mimari katmana göre renklendirilmiş, aranabilir ve tıklanabilir interaktif bir web kontrol paneli açılır. Kodunu, ilişkilerini ve sade Türkçe açıklamasını görmek için herhangi bir düğüm seç.
### 4. Öğrenmeye devam et
```bash
# Kod tabanı hakkında her şeyi sor
/understand-chat Ödeme akışı nasıl çalışır?
# Mevcut değişikliklerinin etkisini analiz et
/understand-diff
# Belirli bir dosya veya fonksiyona derinlemesine dal
/understand-explain src/auth/login.ts
# Yeni ekip üyeleri için bir işe alıştırma rehberi oluştur
/understand-onboard
# İş alanı bilgisini çıkar (alanlar, akışlar, adımlar)
/understand-domain
# Karpathy deseni LLM Wiki bilgi tabanını analiz et
/understand-knowledge ~/path/to/wiki
# İstediğin zaman tekrar çalıştır — varsayılan olarak artımlıdır (yalnızca değişen dosyaları analiz eder)
/understand
# Her commit'te otomatik artımlı güncelleme için post-commit kancası kur
/understand --auto-update
# Devasa monorepo'larda analizi bir alt dizinle sınırla
/understand src/frontend
```
---
## 🌐 Çoklu Platform Kurulumu
Understand-Anything birden fazla AI kodlama platformunda çalışır.
### Claude Code (Yerli)
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### Tek satırlık kurulum (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI)
**macOS / Linux:**
```bash
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# veya platformu doğrudan geçirerek soruyu atla:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
```
**Windows (PowerShell):**
```powershell
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
```
Kurulum betiği depoyu `~/.understand-anything/repo` dizinine klonlar ve seçilen platform için uygun sembolik bağlantıları oluşturur. Sonrasında CLI/IDE'ni yeniden başlat.
- Desteklenen `<platform>` değerleri: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vibe`, `vscode`, `hermes`, `cline`, `kimi`
- Daha sonra güncelle: `./install.sh --update`
- Kaldır: `./install.sh --uninstall <platform>`
### Cursor
Bu depo klonlandığında Cursor, eklentiyi `.cursor-plugin/plugin.json` aracılığıyla otomatik olarak keşfeder. Manuel kurulum gerekmez — sadece klonla ve Cursor'da aç.
Otomatik keşif çalışmazsa manuel kur: **Cursor Settings → Plugins**'i aç, arama alanına `https://github.com/Lum1104/Understand-Anything` yapıştır ve oradan ekle.
### VS Code + GitHub Copilot
GitHub Copilot uzantısı (v1.108+) yüklü VS Code, `.copilot-plugin/plugin.json` aracılığıyla eklentiyi otomatik keşfeder. Manuel kurulum gerekmez — sadece klonla ve VS Code'da aç.
Tüm projelerde kullanmak için kişisel beceri olarak kurmak istersen yukarıdaki `install.sh`'ı `vscode` platformuyla çalıştır.
### Copilot CLI
```bash
copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin
```
### Platform Uyumluluğu
| Platform | Durum | Kurulum Yöntemi |
|----------|--------|----------------|
| Claude Code | ✅ Yerli | Eklenti pazarı |
| Cursor | ✅ Destekleniyor | Otomatik keşif |
| VS Code + GitHub Copilot | ✅ Destekleniyor | Otomatik keşif |
| Copilot CLI | ✅ Destekleniyor | Eklenti kurulumu |
| Codex | ✅ Destekleniyor | `install.sh codex` |
| OpenCode | ✅ Destekleniyor | `install.sh opencode` |
| OpenClaw | ✅ Destekleniyor | `install.sh openclaw` |
| Antigravity | ✅ Destekleniyor | `install.sh antigravity` |
| Gemini CLI | ✅ Destekleniyor | `install.sh gemini` |
| Pi Agent | ✅ Destekleniyor | `install.sh pi` |
| Vibe CLI | ✅ Destekleniyor | `install.sh vibe` |
| Hermes | ✅ Destekleniyor | `install.sh hermes` |
| Cline | ✅ Destekleniyor | `install.sh cline` |
| KIMI CLI | ✅ Destekleniyor | `install.sh kimi` |
---
## 📦 Grafı Ekibinizle Paylaşın
Graf yalnızca bir JSON dosyasıdır — **bir kez commit'leyin, ekip arkadaşlarınız pipeline'ı çalıştırmadan kullansın**. Yeni üye oryantasyonu, PR incelemeleri ve docs-as-code iş akışları için idealdir.
> **Örnek:** [GoogleCloudPlatform/microservices-demo (fork)](https://github.com/Lum1104/microservices-demo) — commit'lenmiş grafı içeren Go / Java / Python / Node çok dilli referans projesi.
**Neyi commit'leyin:** `.understand-anything/` içindeki her şey, *ancak* `intermediate/` ve `diff-overlay.json` hariç (bunlar yerel geçici dosyalardır).
```gitignore
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
```
**Güncel tutun:** `/understand --auto-update` etkinleştirin — bir post-commit kancası grafı artımlı olarak yamalar, böylece her commit eşleşen bir grafla birlikte gelir. Veya sürümden önce `/understand` komutunu elle yeniden çalıştırın.
**Büyük graflar (10 MB+):** **git-lfs** ile takip edin.
```bash
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
```
---
## 🔧 Kaputun Altında
### Tree-sitter + LLM hibriti
Deterministik olarak yapılabilecek işleri statik analiz, anlam çıkarımı gerektiren işleri LLM üstlenir:
- **Tree-sitter (deterministik)** — kaynak kodu somut sözdizimi ağacına ayrıştırır ve yapısal gerçekleri çıkarır: import'lar, export'lar, fonksiyon/sınıf tanımları, çağrı noktaları, kalıtım. Tarama aşamasında önceden çözülmüş `importMap` olarak file-analyzer'a iletilir, böylece import'ları kaynaktan tekrar türetmek zorunda kalmaz. Aynı girdi her zaman aynı çıktıyı verir; ayrıca artımlı güncellemelerin parmak izlerinin de temelidir.
- **LLM (anlamsal)** — ayrıştırılmış yapıyı ve orijinal kaynağı birlikte okuyarak ayrıştırıcıların üretemediği şeyleri üretir: düz dilde özetler, etiketler, mimari katman atamaları, iş alanı eşlemeleri, rehberli turlar, dil kavramı notları.
Bu ayrım sayesinde graf yapısal tarafta yeniden üretilebilir kalırken (aynı kod her zaman aynı kenarları üretir) anlamsal tarafta niyeti yakalayabilir (bir dosya yalnızca neyi import ettiği değil, *ne için* var olduğu da görülür).
### Çok-Ajan Hattı
`/understand` komutu 5 özel ajan düzenler ve `/understand-domain` 6. ajanı ekler:
| Ajan | Rol |
|-------|------|
| `project-scanner` | Dosyaları keşfet, dilleri ve çerçeveleri tespit et |
| `file-analyzer` | Fonksiyonları, sınıfları, içe aktarmaları çıkar; grafik düğümleri ve kenarları üret |
| `architecture-analyzer` | Mimari katmanları tanımla |
| `tour-builder` | Rehberli öğrenme turları oluştur |
| `graph-reviewer` | Grafik bütünlüğünü ve referans bütünlüğünü doğrula |
| `domain-analyzer` | İş alanları, akışlar ve işlem adımlarını çıkar (`/understand-domain` tarafından kullanılır) |
| `article-analyzer` | Wiki makalelerinden varlıkları, iddiaları ve örtük ilişkileri çıkar (`/understand-knowledge` tarafından kullanılır) |
Dosya analizörleri paralel çalışır (en fazla 3 eşzamanlı). Artımlı güncellemeleri destekler — yalnızca son çalıştırmadan bu yana değişen dosyaları yeniden analiz eder.
---
## 🎥 Topluluk
**Better Stack** tarafından hazırlanan topluluk tanıtım videosu.
<p align="center">
<a href="https://www.youtube.com/watch?v=VmIUXVlt7_I"><img src="https://img.youtube.com/vi/VmIUXVlt7_I/maxresdefault.jpg" alt="Better Stack tarafından hazırlanan topluluk tanıtım videosu — YouTube'da izlemek için tıklayın" width="480" /></a>
<br />
<em><a href="https://www.youtube.com/watch?v=VmIUXVlt7_I">YouTube'da izle &rarr;</a></em>
</p>
Bir video, blog yazısı veya eğitim hazırladınız mı? Issue veya PR açın — burada yer vermekten mutluluk duyarız.
---
## 🤝 Katkıda Bulunma
Katkılar memnuniyetle karşılanır! Başlamak için:
1. Depoyu fork'la
2. Bir özellik dalı oluştur (`git checkout -b feature/benim-ozellligim`)
3. Testleri çalıştır (`pnpm --filter @understand-anything/core test`)
4. Değişikliklerini commit et ve bir pull request aç
Büyük değişiklikler için lütfen önce bir issue aç ki yaklaşımı tartışalım.
---
<p align="center">
<strong>Kodu körü körüne okumayı bırak. Her şeyi anlamaya başla.</strong>
</p>
## Star Geçmişi
<a href="https://www.star-history.com/?repos=Lum1104%2FUnderstand-Anything&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
<img alt="Star Geçmişi Grafiği" src="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
</picture>
</a>
<p align="center">
<em>Kullanan ve katkıda bulunan herkese teşekkürler — bunun insanlara zaman kazandırdığını bilmek, yapmaya değer kılan tek şeydi.</em>
</p>
<p align="center">
MIT Lisansı &copy; <a href="https://github.com/Lum1104">Lum1104</a>
</p>

View File

@@ -0,0 +1,344 @@
<h1 align="center">Understand Anything</h1>
<p align="center">
<strong>将任意代码库、知识库或文档转化为可探索、可搜索、可对话的交互式知识图谱</strong>
<br />
<em>支持 Claude Code、Codex、Cursor、Copilot、Gemini CLI 等多平台。</em>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/23482" target="_blank"><img src="https://trendshift.io/api/badge/repositories/23482" alt="Lum1104%2FUnderstand-Anything | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ja-JP.md">日本語</a> | <a href="README.ko-KR.md">한국어</a> | <a href="README.es-ES.md">Español</a> | <a href="README.tr-TR.md">Türkçe</a> | <a href="README.ru-RU.md">Русский</a>
</p>
<p align="center">
<a href="#-快速开始"><img src="https://img.shields.io/badge/快速开始-blue" alt="Quick Start" /></a>
<a href="https://github.com/Lum1104/Understand-Anything/blob/main/LICENSE"><img src="https://img.shields.io/badge/许可证-MIT-yellow" alt="License: MIT" /></a>
<a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-8A2BE2" alt="Claude Code" /></a>
<a href="#codex"><img src="https://img.shields.io/badge/Codex-000000" alt="Codex" /></a>
<a href="#vs-code--github-copilot"><img src="https://img.shields.io/badge/Copilot-24292e" alt="Copilot" /></a>
<a href="#copilot-cli"><img src="https://img.shields.io/badge/Copilot_CLI-24292e" alt="Copilot CLI" /></a>
<a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4" alt="Gemini CLI" /></a>
<a href="#opencode"><img src="https://img.shields.io/badge/OpenCode-38bdf8" alt="OpenCode" /></a>
<a href="https://understand-anything.com"><img src="https://img.shields.io/badge/项目主页-d4a574" alt="Homepage" /></a>
<a href="https://understand-anything.com/demo/"><img src="https://img.shields.io/badge/在线演示-00c853" alt="Live Demo" /></a>
</p>
<p align="center">
<img src="../assets/hero.png" alt="Understand Anything — 将任何代码库转换为交互式知识图谱" width="800" />
</p>
<p align="center">
<strong>💬 <a href="https://discord.gg/pydat66RY">加入 Discord 社区 &rarr;</a></strong>
<br />
<em>来提问、分享你的项目、和社区一起讨论。</em>
</p>
---
**当你刚加入一个新团队,面对 20 万行代码,你从哪里开始?**
Understand Anything 是一个 [Claude Code Plugin](https://code.claude.com/docs/en/plugins-reference#plugins-reference)通过多智能体multi-agent架构分析你的项目构建包含文件、函数、类以及依赖关系的知识图谱并提供一个可视化交互界面帮助你理解整个系统。不再”盲读代码”而是从全局视角理解系统结构。
> **目标不是用代码库的复杂程度来惊艳你 —— 而是默默告诉你每一块是怎么拼在一起的。**
---
## ✨ 核心功能
> [!NOTE]
> **想直接体验?** 在我们的[主页](https://understand-anything.com/)试试[在线演示](https://understand-anything.com/demo/) — 一个可以平移、缩放、搜索和探索的全交互式仪表盘。
### 探索代码结构图
将你的代码库以交互式知识图谱的形式呈现——每个文件、函数和类都是可点击、可搜索、可探索的节点。选择任意节点即可查看通俗易懂的摘要、依赖关系和引导式学习路径。
### 理解业务逻辑
切换到领域视图,查看代码如何映射到真实的业务流程——以水平图的形式展示领域、流程和步骤。
### 分析知识库
`/understand-knowledge` 指向一个 [Karpathy 模式的 LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f),即可获得带有社区聚类的力导向知识图谱。确定性解析器从 `index.md` 中提取 wikilinks 和分类,然后 LLM 代理发现隐式关系、提取实体并挖掘论断——将你的 wiki 转化为可导航的互联思想图谱。
<table>
<tr>
<td width="50%" valign="top">
<h3>🧭 引导式学习</h3>
<p>自动生成架构学习路径,按依赖顺序学习。</p>
</td>
<td width="50%" valign="top">
<h3>🔍 语义搜索</h3>
<p>支持模糊搜索 + 语义搜索,例如搜索"哪些部分处理身份验证?"即可在整个图中获取相关结果。</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 变更影响分析</h3>
<p>提交更改前,查看更改会影响系统的哪些部分。了解更改对整个代码库的连锁反应。</p>
</td>
<td width="50%" valign="top">
<h3>🎭 用户角色自适应 UI</h3>
<p>根据用户类型(初级开发 / 项目经理 / 高级用户)调整其详细程度。</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>🏗️ 层级可视化</h3>
<p>按架构层级自动分组 — API服务数据UI, 系统工具 — 并附有颜色编码图例。</p>
</td>
<td width="50%" valign="top">
<h3>📚 语言概念</h3>
<p>12 种编程模式(泛型、闭包、装饰器等)将在上下文中逐一解释。</p>
</td>
</tr>
</table>
---
## 🚀 快速开始
### 1. 安装插件
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 2. 分析你的代码库
```bash
/understand
```
多智能体multi-agent架构会扫描你的项目提取函数 / 类 / 依赖,构建知识图谱保存至`.understand-anything/knowledge-graph.json`.
**本地化输出:** 使用 `--language` 参数生成中文内容:
```bash
# 生成中文内容(知识图节点描述和 Dashboard UI
/understand --language zh
# 支持的语言en默认、zh、zh-TW、ja、ko、ru
```
`--language` 参数会影响:
- 知识图谱中的节点摘要和描述
- Dashboard UI 的标签、按钮和提示
- 导览路线的解释说明
### 3. 打开数据看板
```bash
/understand-dashboard
```
打开交互式网页数据看板,您的代码库将以图表形式呈现 — 按架构层级进行颜色编码,支持搜索和点击。选择任意节点即可查看其代码、关系以及简明易懂的解释。
### 4. 深度使用
```bash
# 询问任意代码库的问题
/understand-chat How does the payment flow work?
# 分析当前修改的影响
/understand-diff
# 深入理解某个文件
/understand-explain src/auth/login.ts
# 为新团队成员生成指南
/understand-onboard
# 提取业务领域知识(领域、流程、步骤)
/understand-domain
# 分析 Karpathy 模式的 LLM Wiki 知识库
/understand-knowledge ~/path/to/wiki
# 直接重跑即可 —— 默认增量更新,只分析变更的文件
/understand
# 安装 post-commit 钩子,每次提交自动增量更新
/understand --auto-update
# 大型 monorepo把分析范围限定到某个子目录
/understand src/frontend
```
---
## 🌐 多平台支持
Understand-Anything 可在多个 AI 编码平台上运行。
### Claude Code原生
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 一行命令安装Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI
**macOS / Linux**
```bash
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# 也可以直接传入平台名跳过交互提示:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
```
**WindowsPowerShell**
```powershell
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
```
安装脚本会将仓库克隆到 `~/.understand-anything/repo`,并为所选平台创建相应的符号链接。安装完成后请重启 CLI 或 IDE。
- 支持的 `<platform>` 取值:`gemini``codex``opencode``pi``openclaw``antigravity``vibe``vscode``hermes``cline``kimi`
- 后续更新:`./install.sh --update`
- 卸载:`./install.sh --uninstall <platform>`
### Cursor
克隆此仓库后Cursor 会自动通过 `.cursor-plugin/plugin.json`文件发现插件。无需手动安装 — 只需克隆并在 Cursor 中打开即可。
若自动发现未生效,可手动安装:打开 **Cursor Settings → Plugins**,在搜索框中粘贴 `https://github.com/Lum1104/Understand-Anything` 并添加。
### VS Code + GitHub Copilot
安装 GitHub Copilot 扩展v1.108+VS Code 会通过 `.copilot-plugin/plugin.json` 自动发现插件,克隆后直接在 VS Code 中打开即可,无需手动安装。
若需要在所有项目中使用(个人技能),运行上面的 `install.sh` 并选择 `vscode` 平台即可。
### Copilot CLI
```bash
copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin
```
### 多平台兼容
| 平台 | 状态 | 安装方式 |
|----------|--------|----------------|
| Claude Code | ✅ 原生 | 插件市场 |
| Cursor | ✅ 支持 | 自动发现 |
| VS Code + GitHub Copilot | ✅ 支持 | 自动发现 |
| Copilot CLI | ✅ 支持 | 插件安装 |
| Codex | ✅ 支持 | `install.sh codex` |
| OpenCode | ✅ 支持 | `install.sh opencode` |
| OpenClaw | ✅ 支持 | `install.sh openclaw` |
| Antigravity | ✅ 支持 | `install.sh antigravity` |
| Gemini CLI | ✅ 支持 | `install.sh gemini` |
| Pi Agent | ✅ 支持 | `install.sh pi` |
| Vibe CLI | ✅ 支持 | `install.sh vibe` |
| Hermes | ✅ 支持 | `install.sh hermes` |
| Cline | ✅ 支持 | `install.sh cline` |
| KIMI CLI | ✅ 支持 | `install.sh kimi` |
---
## 📦 与团队共享知识图谱
图谱就是一份 JSON 文件——**提交一次,团队成员就可以跳过整条流水线**。适合新人上手、PR 评审和 docs-as-code 工作流。
> **示例:** [GoogleCloudPlatform/microservices-demofork](https://github.com/Lum1104/microservices-demo) —— 包含已提交图谱的 Go / Java / Python / Node 多语言参考项目。
**需要提交的内容:** `.understand-anything/` 下的全部文件,*除了* `intermediate/``diff-overlay.json`(这些是本地临时文件)。
```gitignore
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
```
**保持最新:** 启用 `/understand --auto-update` —— 一个 post-commit 钩子会增量更新图谱,每次提交都能得到匹配的图谱版本。也可以在发布前手动重跑 `/understand`
**大型图谱10 MB 以上):** 使用 **git-lfs** 跟踪。
```bash
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
```
---
## 🔧 技术原理
### Tree-sitter + LLM 混合分析
把确定性的事情交给静态分析,把需要语义理解的事情交给 LLM
- **Tree-sitter确定性** —— 将源码解析为具体语法树,提取结构性事实:导入、导出、函数 / 类定义、调用点、继承关系。在 scan 阶段预先解析为 `importMap` 并传给 file-analyzer避免它们再从源码推导一次 import。同样的输入永远得到同样的输出并作为增量更新的指纹基础。
- **LLM语义** —— 读取解析后的结构以及原始源码生成解析器做不了的事plain-English 摘要、标签、架构层归属、业务领域映射、引导路径、语言概念标注。
正因为这个分工,图谱在结构层面是可复现的(同样的代码总是产生同样的边),同时在语义层面又能捕捉意图(一个文件是「为了什么」存在,而不仅仅是它 import 了什么)。
### 多智能体架构
`/understand` 命令调用 5 个 agent`/understand-domain` 额外增加第 6 个:
| Agent | 职责 |
|-------|------|
| `project-scanner` | 扫描项目文件,检测语言和框架 |
| `file-analyzer` | 提取代码结构(函数、类和导入),生成图节点和边 |
| `architecture-analyzer` | 识别架构层 |
| `tour-builder` | 生成引导式学习路径 |
| `graph-reviewer` | 验证图的完整性和引用完整性 |
| `domain-analyzer` | 提取业务领域、流程和处理步骤(由 `/understand-domain` 使用) |
| `article-analyzer` | 从 wiki 文章中提取实体、论断和隐式关系(由 `/understand-knowledge` 使用) |
文件分析器并行运行(最多 3 个并发)。支持增量更新 — 仅重新分析自上次运行以来发生更改的文件。
---
## 🎥 社区
**Better Stack** 制作的社区视频教程。
<p align="center">
<a href="https://www.youtube.com/watch?v=VmIUXVlt7_I"><img src="https://img.youtube.com/vi/VmIUXVlt7_I/maxresdefault.jpg" alt="Better Stack 制作的社区视频教程 —— 点击在 YouTube 观看" width="480" /></a>
<br />
<em><a href="https://www.youtube.com/watch?v=VmIUXVlt7_I">在 YouTube 上观看 &rarr;</a></em>
</p>
写过视频、博客或教程?提个 issue 或 PR —— 我们很乐意把它放在这里。
---
## 🤝 贡献
欢迎贡献!以下是贡献指南:
1. Fork 项目
2. 新建分支 (`git checkout -b feature/my-feature`)
3. 运行测试 (`pnpm --filter @understand-anything/core test`)
4. 提交更改并创建一个PR请求
对于重大变更,请先提交 issue以便我们讨论解决方案。
---
<p align="center">
<strong>不再盲读代码,而是理解整个系统</strong>
</p>
## Star 历史记录
<a href="https://www.star-history.com/?repos=Lum1104%2FUnderstand-Anything&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
</picture>
</a>
<p align="center">
<em>感谢每一位使用过、贡献过的朋友 —— 知道它替你们省下了一些时间,就是当初做它最值得的理由。</em>
</p>
<p align="center">
MIT 许可证 &copy; <a href="https://github.com/Lum1104">Lum1104</a>
</p>

View File

@@ -0,0 +1,344 @@
<h1 align="center">Understand Anything</h1>
<p align="center">
<strong>將任意程式碼庫、知識庫或文件轉化為可探索、可搜尋、可對話的互動式知識圖譜</strong>
<br />
<em>支援 Claude Code、Codex、Cursor、Copilot、Gemini CLI 等多平台。</em>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/23482" target="_blank"><img src="https://trendshift.io/api/badge/repositories/23482" alt="Lum1104%2FUnderstand-Anything | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
<p align="center">
<a href="../README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ja-JP.md">日本語</a> | <a href="README.ko-KR.md">한국어</a> | <a href="README.es-ES.md">Español</a> | <a href="README.tr-TR.md">Türkçe</a> | <a href="README.ru-RU.md">Русский</a>
</p>
<p align="center">
<a href="#-快速開始"><img src="https://img.shields.io/badge/快速開始-blue" alt="Quick Start" /></a>
<a href="https://github.com/Lum1104/Understand-Anything/blob/main/LICENSE"><img src="https://img.shields.io/badge/授權條款-MIT-yellow" alt="License: MIT" /></a>
<a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-8A2BE2" alt="Claude Code" /></a>
<a href="#codex"><img src="https://img.shields.io/badge/Codex-000000" alt="Codex" /></a>
<a href="#vs-code--github-copilot"><img src="https://img.shields.io/badge/Copilot-24292e" alt="Copilot" /></a>
<a href="#copilot-cli"><img src="https://img.shields.io/badge/Copilot_CLI-24292e" alt="Copilot CLI" /></a>
<a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4" alt="Gemini CLI" /></a>
<a href="#opencode"><img src="https://img.shields.io/badge/OpenCode-38bdf8" alt="OpenCode" /></a>
<a href="https://understand-anything.com"><img src="https://img.shields.io/badge/專案首頁-d4a574" alt="Homepage" /></a>
<a href="https://understand-anything.com/demo/"><img src="https://img.shields.io/badge/線上展示-00c853" alt="Live Demo" /></a>
</p>
<p align="center">
<img src="../assets/hero.png" alt="Understand Anything — 將任何程式碼庫轉換為互動式知識圖譜" width="800" />
</p>
<p align="center">
<strong>💬 <a href="https://discord.gg/pydat66RY">加入 Discord 社群 &rarr;</a></strong>
<br />
<em>來提問、分享你的專案、和社群一起討論。</em>
</p>
---
**當你剛加入一個新團隊,面對 20 萬行程式碼,你從哪裡開始?**
Understand Anything 是一個 [Claude Code Plugin](https://code.claude.com/docs/en/plugins-reference#plugins-reference)透過多智能體multi-agent架構分析你的專案建構包含檔案、函式、類別以及相依關係的知識圖譜並提供一個視覺化互動介面幫助你理解整個系統。不再「盲讀程式碼」而是從全局視角理解系統結構。
> **目標不是用程式碼庫的複雜程度驚豔你 —— 而是默默告訴你每一塊是怎麼拼在一起的。**
---
## ✨ 核心功能
> [!NOTE]
> **想直接體驗?** 在我們的[首頁](https://understand-anything.com/)試試[線上演示](https://understand-anything.com/demo/) — 一個可以平移、縮放、搜尋和探索的全互動式儀表盤。
### 探索程式碼結構圖
將你的程式碼庫以互動式知識圖譜呈現——每個檔案、函式和類別都是可點擊、可搜尋、可探索的節點。選取任意節點即可檢視淺顯易懂的摘要、依賴關係和引導式學習路徑。
### 理解業務邏輯
切換到領域視圖,查看程式碼如何對應到真實的業務流程——以水平圖的形式展示領域、流程和步驟。
### 分析知識庫
`/understand-knowledge` 指向一個 [Karpathy 模式的 LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f),即可獲得帶有社群聚類的力導向知識圖譜。確定性解析器從 `index.md` 中提取 wikilinks 和分類,然後 LLM 代理發現隱式關係、提取實體並挖掘論斷——將你的 wiki 轉化為可導航的互聯思想圖譜。
<table>
<tr>
<td width="50%" valign="top">
<h3>🧭 引導式學習</h3>
<p>自動產生架構學習路徑,按相依順序學習。</p>
</td>
<td width="50%" valign="top">
<h3>🔍 語意搜尋</h3>
<p>支援模糊搜尋 + 語意搜尋,例如搜尋「哪些部分處理身分驗證?」即可在整個圖中獲取相關結果。</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 變更影響分析</h3>
<p>提交變更前,查看變更會影響系統的哪些部分。了解變更對整個程式碼庫的連鎖反應。</p>
</td>
<td width="50%" valign="top">
<h3>🎭 使用者角色自適應 UI</h3>
<p>根據使用者類型(初級開發 / 專案經理 / 進階使用者)調整其詳細程度。</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>🏗️ 層級視覺化</h3>
<p>按架構層級自動分組 — API、服務、資料、UI、系統工具 — 並附有顏色編碼圖例。</p>
</td>
<td width="50%" valign="top">
<h3>📚 語言概念</h3>
<p>12 種程式設計模式(泛型、閉包、裝飾器等)將在上下文中逐一解釋。</p>
</td>
</tr>
</table>
---
## 🚀 快速開始
### 1. 安裝外掛程式
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 2. 分析你的程式碼庫
```bash
/understand
```
多智能體multi-agent架構會掃描你的專案提取函式 / 類別 / 相依關係,建構知識圖譜並儲存至 `.understand-anything/knowledge-graph.json`
**在地化輸出:** 使用 `--language` 參數產生中文內容:
```bash
# 產生繁體中文內容(知識圖節點描述和 Dashboard UI
/understand --language zh-TW
# 支援的語言en預設、zh、zh-TW、ja、ko、ru
```
`--language` 參數會影響:
- 知識圖譜中的節點摘要和描述
- Dashboard UI 的標籤、按鈕和提示
-導覽路線的解釋說明
### 3. 開啟資料看板
```bash
/understand-dashboard
```
開啟互動式網頁資料看板,你的程式碼庫將以圖表形式呈現 — 按架構層級進行顏色編碼,支援搜尋和點擊。選擇任意節點即可查看其程式碼、關係以及簡明易懂的解釋。
### 4. 深度使用
```bash
# 詢問任意程式碼庫的問題
/understand-chat 付款流程是怎麼運作的?
# 分析目前修改的影響
/understand-diff
# 深入理解某個檔案
/understand-explain src/auth/login.ts
# 為新團隊成員產生指南
/understand-onboard
# 提取業務領域知識(領域、流程、步驟)
/understand-domain
# 分析 Karpathy 模式的 LLM Wiki 知識庫
/understand-knowledge ~/path/to/wiki
# 直接重跑即可 —— 預設增量更新,只分析變更的檔案
/understand
# 安裝 post-commit 掛鉤,每次提交自動增量更新
/understand --auto-update
# 大型 monorepo把分析範圍限定到某個子目錄
/understand src/frontend
```
---
## 🌐 多平台支援
Understand-Anything 可在多個 AI 編碼平台上執行。
### Claude Code原生
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### 一行指令安裝Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI
**macOS / Linux**
```bash
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# 也可以直接傳入平台名稱跳過互動提示:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
```
**WindowsPowerShell**
```powershell
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
```
安裝指令稿會將儲存庫複製到 `~/.understand-anything/repo`,並為所選平台建立相應的符號連結。安裝完成後請重新啟動 CLI 或 IDE。
- 支援的 `<platform>` 取值:`gemini``codex``opencode``pi``openclaw``antigravity``vibe``vscode``hermes``cline``kimi`
- 後續更新:`./install.sh --update`
- 解除安裝:`./install.sh --uninstall <platform>`
### Cursor
複製此儲存庫後Cursor 會自動透過 `.cursor-plugin/plugin.json` 檔案發現外掛程式。無需手動安裝 — 只需複製並在 Cursor 中開啟即可。
若自動發現未生效,可手動安裝:開啟 **Cursor Settings → Plugins**,在搜尋框中貼上 `https://github.com/Lum1104/Understand-Anything` 並新增。
### VS Code + GitHub Copilot
安裝 GitHub Copilot 擴充功能v1.108+VS Code 會透過 `.copilot-plugin/plugin.json` 自動發現外掛程式,複製後直接在 VS Code 中開啟即可,無需手動安裝。
若需要在所有專案中使用(個人技能),執行上面的 `install.sh` 並選擇 `vscode` 平台即可。
### Copilot CLI
```bash
copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin
```
### 多平台相容性
| 平台 | 狀態 | 安裝方式 |
|----------|--------|----------------|
| Claude Code | ✅ 原生 | 外掛程式市集 |
| Cursor | ✅ 支援 | 自動發現 |
| VS Code + GitHub Copilot | ✅ 支援 | 自動發現 |
| Copilot CLI | ✅ 支援 | 外掛程式安裝 |
| Codex | ✅ 支援 | `install.sh codex` |
| OpenCode | ✅ 支援 | `install.sh opencode` |
| OpenClaw | ✅ 支援 | `install.sh openclaw` |
| Antigravity | ✅ 支援 | `install.sh antigravity` |
| Gemini CLI | ✅ 支援 | `install.sh gemini` |
| Pi Agent | ✅ 支援 | `install.sh pi` |
| Vibe CLI | ✅ 支援 | `install.sh vibe` |
| Hermes | ✅ 支援 | `install.sh hermes` |
| Cline | ✅ 支援 | `install.sh cline` |
| KIMI CLI | ✅ 支援 | `install.sh kimi` |
---
## 📦 與團隊共享知識圖譜
圖譜就是一份 JSON 檔案——**提交一次,團隊成員就可以跳過整條流水線**。適合新人上手、PR 審查和 docs-as-code 工作流程。
> **範例:** [GoogleCloudPlatform/microservices-demofork](https://github.com/Lum1104/microservices-demo) —— 包含已提交圖譜的 Go / Java / Python / Node 多語言參考專案。
**需要提交的內容:** `.understand-anything/` 底下的全部檔案,*除了* `intermediate/``diff-overlay.json`(這些是本機暫存檔)。
```gitignore
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
```
**保持最新:** 啟用 `/understand --auto-update` —— 一個 post-commit 掛鉤會增量更新圖譜,讓每次提交都有對應的圖譜版本。也可以在發布前手動重跑 `/understand`
**大型圖譜10 MB 以上):** 使用 **git-lfs** 追蹤。
```bash
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
```
---
## 🔧 技術原理
### Tree-sitter + LLM 混合分析
把確定性的事情交給靜態分析,把需要語意理解的事情交給 LLM
- **Tree-sitter確定性** —— 將原始碼解析為具體語法樹提取結構性事實import、export、函式 / 類別定義、呼叫點、繼承關係。在 scan 階段預先解析為 `importMap` 並傳給 file-analyzer避免它們再從原始碼推導一次 import。相同的輸入永遠得到相同的輸出並作為增量更新的指紋基礎。
- **LLM語意** —— 讀取解析後的結構以及原始碼產生解析器做不到的事plain-English 摘要、標籤、架構層歸屬、業務領域映射、導覽路徑、語言概念標註。
正是這個分工讓圖譜在結構層面具備可重現性(同樣的程式碼總是產生同樣的邊),同時在語意層面也能捕捉意圖(一個檔案是「為了什麼」而存在,不只是它 import 了什麼)。
### 多智能體架構
`/understand` 指令呼叫 5 個 agent`/understand-domain` 額外增加第 6 個:
| Agent | 職責 |
|-------|------|
| `project-scanner` | 掃描專案檔案,偵測語言和框架 |
| `file-analyzer` | 提取程式碼結構(函式、類別和匯入),產生圖節點和邊 |
| `architecture-analyzer` | 識別架構層 |
| `tour-builder` | 產生引導式學習路徑 |
| `graph-reviewer` | 驗證圖的完整性和參考完整性 |
| `domain-analyzer` | 提取業務領域、流程和處理步驟(由 `/understand-domain` 使用) |
| `article-analyzer` | 從 wiki 文章中提取實體、論斷和隱式關係(由 `/understand-knowledge` 使用) |
檔案分析器並行執行(最多 3 個並發)。支援增量更新 — 僅重新分析自上次執行以來發生變更的檔案。
---
## 🎥 社群
**Better Stack** 製作的社群影片導覽。
<p align="center">
<a href="https://www.youtube.com/watch?v=VmIUXVlt7_I"><img src="https://img.youtube.com/vi/VmIUXVlt7_I/maxresdefault.jpg" alt="Better Stack 製作的社群影片導覽 —— 點擊在 YouTube 觀看" width="480" /></a>
<br />
<em><a href="https://www.youtube.com/watch?v=VmIUXVlt7_I">在 YouTube 上觀看 &rarr;</a></em>
</p>
寫過影片、部落格或教學?開一個 issue 或 PR —— 我們很樂意將它放在這裡。
---
## 🤝 貢獻
歡迎貢獻!以下是貢獻指南:
1. Fork 專案
2. 新建分支(`git checkout -b feature/my-feature`
3. 執行測試(`pnpm --filter @understand-anything/core test`
4. 提交變更並建立 PR
對於重大變更,請先提交 issue以便我們討論解決方案。
---
<p align="center">
<strong>不再盲讀程式碼,而是理解整個系統</strong>
</p>
## Star 歷史記錄
<a href="https://www.star-history.com/?repos=Lum1104%2FUnderstand-Anything&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/image?repos=Lum1104/Understand-Anything&type=date&legend=top-left" />
</picture>
</a>
<p align="center">
<em>感謝每一位使用過、貢獻過的朋友 —— 知道它替你們省下了一些時間,就是當初做它最值得的理由。</em>
</p>
<p align="center">
MIT 授權條款 &copy; <a href="https://github.com/Lum1104">Lum1104</a>
</p>