# πŸ—οΈ CodeGraphContext (CGC) **ΠŸΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π³Ρ€Π°Ρ„ для ИИ-Π°Π³Π΅Π½Ρ‚ΠΎΠ².** 🌐 **Π―Π·Ρ‹ΠΊΠΈ:** - πŸ‡¬πŸ‡§ [English](README.md) - πŸ‡¨πŸ‡³ [δΈ­ζ–‡](README.zh-CN.md) - πŸ‡°πŸ‡· [ν•œκ΅­μ–΄](README.kor.md) - πŸ‡ΊπŸ‡¦ [Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ°](README.uk.md) - πŸ‡·πŸ‡Ί [Русский](README.ru-RU.md) - πŸ‡―πŸ‡΅ [ζ—₯本θͺž](README.ja.md) - πŸ‡ͺπŸ‡Έ EspaΓ±ol (Π‘ΠΊΠΎΡ€ΠΎ) 🌍 **ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ пСрСвСсти CodeGraphContext Π½Π° ваш язык β€” создайтС issue ΠΈ Pull Request Π½Π° https://github.com/CodeGraphContext/CodeGraphContext/issues!**


Π‘Π²ΡΠ·ΡƒΡŽΡ‰Π΅Π΅ Π·Π²Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Π»ΡƒΠ±ΠΈΠ½Π½Ρ‹ΠΌΠΈ Π³Ρ€Π°Ρ„Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΈ контСкстом для ИИ.

PyPI Version PyPI Downloads License MCP Compatible

Stars Forks Issues PRs Contributors

Tests E2E Tests Website Docs YouTube Demo

ΠœΠΎΡ‰Π½Ρ‹ΠΉ **MCP-сСрвСр** ΠΈ **Π½Π°Π±ΠΎΡ€ CLI-инструмСнтов**, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ индСксируСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² Π³Ρ€Π°Ρ„ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, прСдоставляя контСкст ИИ-ассистСнтам ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ CLI-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊ любимой ИИ-IDE Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MCP для ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ понимания ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹. --- ## πŸ“ Быстрая навигация * [πŸš€ Быстрый старт](#быстрый-старт) * [🌐 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки программирования](#ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅-языки-программирования) * [πŸ› οΈ CLI-инструмСнтарий](#cli-инструмСнтарий) * [πŸ€– MCP-сСрвСр](#mcp-сСрвСр) * [πŸ—„οΈ Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…](#Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹-Π±Π°Π·-Π΄Π°Π½Π½Ρ‹Ρ…) --- ## ✨ CGC Π² дСйствии ### πŸ‘¨πŸ»β€πŸ’» Установка ΠΈ CLI > Установка Π·Π° ΠΏΠ°Ρ€Ρƒ сСкунд Ρ‡Π΅Ρ€Π΅Π· pip ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ ΠΊ ΠΌΠΎΡ‰Π½ΠΎΠΌΡƒ CLI для Π°Π½Π°Π»ΠΈΠ·Π° Π³Ρ€Π°Ρ„ΠΎΠ² ΠΊΠΎΠ΄Π°. ![Установка ΠΈ запуск CLI](https://github.com/CodeGraphContext/CodeGraphContext/blob/main/images/install&cli.gif) ### πŸ› οΈ МгновСнная индСксация > CLI-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ AST-ΡƒΠ·Π»Ρ‹ tree-sitter для построСния Π³Ρ€Π°Ρ„Π°. ![Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ Ρ‡Π΅Ρ€Π΅Π· MCP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚](https://github.com/CodeGraphContext/CodeGraphContext/blob/main/images/Indexing.gif) ### πŸ€– УсилСниС вашСго ИИ-ассистСнта > Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ запросы ΠΊ слоТным Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π½Π° СстСствСнном языкС Ρ‡Π΅Ρ€Π΅Π· MCP. ![ИспользованиС MCP-сСрвСра](https://github.com/CodeGraphContext/CodeGraphContext/blob/main/images/Usecase.gif) --- ## Π”Π΅Ρ‚Π°Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° - **ВСрсия:** 0.4.16 - **Авторы:** Shashank Shekhar Singh - **ЛицСнзия:** MIT License (ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. Π² [LICENSE](LICENSE)) - **Π’Π΅Π±-сайт:** [CodeGraphContext](http://codegraphcontext.vercel.app/) --- ## πŸ‘¨β€πŸ’» ΠœΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° **CodeGraphContext**: **Shashank Shekhar Singh** - πŸ“§ Email: [shashankshekharsingh1205@gmail.com](mailto:shashankshekharsingh1205@gmail.com) - πŸ™ GitHub: [@Shashankss1205](https://github.com/Shashankss1205) - πŸ”— LinkedIn: [Shashank Shekhar Singh](https://www.linkedin.com/in/shashank-shekhar-singh-a67282228/) - 🌐 Π’Π΅Π±-сайт: [codegraphcontext.vercel.app](http://codegraphcontext.vercel.app/) *ΠœΡ‹ всСгда Ρ€Π°Π΄Ρ‹ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²ΠΊΠ»Π°Π΄Ρƒ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌ! Π‘ΠΌΠ΅Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ с вопросами, прСдлоТСниями ΠΈΠ»ΠΈ идСями для сотрудничСства.* --- ## Π”ΠΈΠ½Π°ΠΌΠΈΠΊΠ° Π·Π²Π΅Π·Π΄ [Star History Chart β†—](https://www.star-history.com/#CodeGraphContext/CodeGraphContext&Date) --- ## ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности - **Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°:** Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ исходный ΠΊΠΎΠ΄ ΠΈ строит Π³Ρ€Π°Ρ„ Π·Π½Π°Π½ΠΈΠΉ ΠΈΠ· Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². - **Анализ связСй:** поиск Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… (callers) ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… (callees) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, построСниС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов, Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. - **Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ индСксы (Bundles):** мгновСнная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° популярных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Ρ‡Π΅Ρ€Π΅Π· `.cgc`-Π±Π°Π½Π΄Π»Ρ‹ Π±Π΅Π· нСобходимости ΠΈΡ… ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ! ([ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅](docs/BUNDLES.md)) - **ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:** ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² дирСкториях ΠΈ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° (ΠΊΠΎΠΌΠ°Π½Π΄Π° `cgc watch`). - **Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ настройка:** ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ мастСр для простой настройки Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку. - **Π”Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ:** Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ нСзависимый **Π½Π°Π±ΠΎΡ€ CLI-инструмСнтов** для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΊΠ°ΠΊ **MCP-сСрвСр** для ИИ-Π°Π³Π΅Π½Ρ‚ΠΎΠ². - **ΠœΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΡŒ:** полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 22 языков программирования. - **Π“ΠΈΠ±ΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ Π‘Π£Π‘Π”:** KΓΉzuDB (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…), FalkorDB Lite (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Unix), FalkorDB Remote ΠΈΠ»ΠΈ Neo4j (Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· Docker ΠΈΠ»ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ). --- ## ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки программирования CodeGraphContext обСспСчиваСт ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… языков: | | Π―Π·Ρ‹ΠΊ | | Π―Π·Ρ‹ΠΊ | | Π―Π·Ρ‹ΠΊ | | :--- | :--- | :--- | :--- | :--- | :--- | | 🐍 | **Python** | πŸ“œ | **JavaScript** | πŸ”· | **TypeScript** | | β˜• | **Java** | πŸ—οΈ | **C** | πŸ›οΈ | **C++** | | #️⃣ | **C#** | 🐹 | **Go** | πŸ¦€ | **Rust** | | πŸ’Ž | **Ruby** | 🐘 | **PHP** | 🍎 | **Swift** | | 🎨 | **Kotlin** | πŸš€ | **Scala** | Ξ» | **Haskell** | | 🎯 | **Dart** | πŸͺ | **Perl** | πŸŒ™ | **Lua** | | πŸ’§ | **Elixir** | βš›οΈ | **TSX** | πŸͺŸ | **HTML** | | 🎨 | **CSS** | πŸ’» | **Emacs Lisp** | | | ΠŸΠ°Ρ€ΡΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ наслСдования, Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹, формируя ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„ ΠΊΠΎΠ΄Π°. --- ## Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… CodeGraphContext ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько Π³Ρ€Π°Ρ„ΠΎΠ²Ρ‹Ρ… Π‘Π£Π‘Π” ΠΏΠΎΠ΄ Π»ΡŽΠ±Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ окруТСния: | ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ | KΓΉzuDB (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) | FalkorDB Lite | Neo4j | | :--- | :--- | :--- | :--- | | **Настройка** | НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ настройки / ВстроСнная | НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ настройки / ВнутрипроцСссная | Docker / Π’Π½Π΅ΡˆΠ½ΡΡ | | **ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°** | **ВсС (Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Windows, macOS, Linux)** | Волько Unix (Linux/macOS/WSL) | ВсС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ | | **ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅** | ДСсктоп, IDE, локальная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | БпСциализированная Unix-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | Enterprise, ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ Π³Ρ€Π°Ρ„Ρ‹ | | **ВрСбования**| `pip install kuzu` | `pip install falkordblite` | Π‘Π΅Ρ€Π²Π΅Ρ€ Neo4j / Docker | | **Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ** | ⚑ МолниСносная | ⚑ Высокая | πŸš€ ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ | | **Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅**| Π”Π° (Π½Π° диск) | Π”Π° (Π½Π° диск) | Π”Π° (Π½Π° диск) | --- ## Π“Π΄Π΅ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΡƒΠΆΠ΅ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ возмоТности CodeGraphContext для: - **БтатичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π² ИИ-ассистСнтах** - **Π“Ρ€Π°Ρ„ΠΎΠ²ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²** - **Поиска ΠΌΠ΅Ρ€Ρ‚Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности** _Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ CodeGraphContext Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, смСло ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ PR ΠΈ добавляйтС Π΅Π³ΠΎ Π² этот список! πŸš€_ --- ## Зависимости - `neo4j>=5.15.0` - `watchdog>=3.0.0` - `stdlibs>=2023.11.18` - `typer[all]>=0.9.0` - `rich>=13.7.0` - `inquirerpy>=0.3.7` - `python-dotenv>=1.0.0` - `tree-sitter>=0.21.0` - `tree-sitter-language-pack>=0.6.0` - `pyyaml` - `pytest` - `nbformat` - `nbconvert>=7.16.6` - `pathspec>=0.12.1` **ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:** ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ вСрсии Python ΠΎΡ‚ 3.10 Π΄ΠΎ 3.14. --- ## Быстрый старт ### Установка основного инструмСнтария ```bash pip install codegraphcontext ``` ### Если ΠΊΠΎΠΌΠ°Π½Π΄Π° 'cgc' Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ скрипт исправлСния Π² ΠΎΠ΄Π½Ρƒ строку: ```bash curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash ``` --- ## Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ ### πŸ“‹ Π Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ CodeGraphContext CodeGraphContext Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π² **Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…**, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊ ΠΈ вмСстС: #### πŸ› οΈ Π Π΅ΠΆΠΈΠΌ 1: CLI-инструмСнтарий (Автономный) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ CodeGraphContext ΠΊΠ°ΠΊ **ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки** для Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°: - Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π±Π°Π·Ρ‹ прямо ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. - Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ связи Π² ΠΊΠΎΠ΄Π΅, ΠΈΡ‰ΠΈΡ‚Π΅ ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ»ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. - Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π³Ρ€Π°Ρ„Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ зависимости. - ИдСально для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‡Π΅Ρ€Π΅Π· CLI-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. #### πŸ€– Π Π΅ΠΆΠΈΠΌ 2: MCP-сСрвСр (На Π±Π°Π·Π΅ ИИ) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ CodeGraphContext ΠΊΠ°ΠΊ **MCP-сСрвСр** для ИИ-ассистСнтов: - ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ ИИ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ IDE (VS Code, Cursor, Windsurf, Claude, Kiro ΠΈ Π΄Ρ€.). - ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ИИ-Π°Π³Π΅Π½Ρ‚Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы ΠΊ вашСй ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Π½Π° СстСствСнном языкС. - АвтоматичСскоС осмыслСниС ΠΊΠΎΠ΄Π° ΠΈ Π°Π½Π°Π»ΠΈΠ· взаимосвязСй. - ИдСально для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ИИ. **Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° Ρ€Π΅ΠΆΠΈΠΌΠ°!** УстановитС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ CLI-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π˜Π›Π˜ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Ρ‘ ΠΊ ИИ-ассистСнту. ### Установка (Оба Ρ€Π΅ΠΆΠΈΠΌΠ°) 1. **Установка:** `pip install codegraphcontext`
βš™οΈ РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: Если ΠΊΠΎΠΌΠ°Π½Π΄Π° cgc Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Если послС установки Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ "cgc: command not found", Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ скрипт для исправлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH: **Linux/Mac:** ```bash # Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ скрипт исправлСния curl -O https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh # Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ исполняСмым chmod +x post_install_fix.sh # Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ./post_install_fix.sh # ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ shell source ~/.bashrc # ΠΈΠ»ΠΈ ~/.zshrc для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ zsh ``` **Windows (PowerShell):** ```powershell # Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ скрипт исправлСния curl -O https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh # Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· bash (трСбуСтся Git Bash ΠΈΠ»ΠΈ WSL) bash post_install_fix.sh # ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ PowerShell ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ . $PROFILE ```
2. **Настройка Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (АвтоматичСски)** - **KΓΉzuDB (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ):** Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Π½Π° Windows, macOS ΠΈ Linux Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ `pip install kuzu` β€” ΠΈ всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ! - **FalkorDB Lite (ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°):** ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π½Π° Unix/macOS/WSL для Python вСрсии 3.12 ΠΈ Π²Ρ‹ΡˆΠ΅. - **Neo4j (ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°):** Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Neo4j ΠΈΠ»ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅: `cgc neo4j setup` --- ## πŸ› οΈ CLI-инструмСнтарий **НачнитС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ сразу Ρ‡Π΅Ρ€Π΅Π· CLI-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:** ```bash # Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ cgc index . # Π’Ρ‹Π²ΠΎΠ΄ списка всСх проиндСксированных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² cgc list # Анализ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ cgc analyze callers my_function # Поиск слоТного для восприятия ΠΊΠΎΠ΄Π° (цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ) cgc analyze complexity --threshold 10 # Поиск ΠΌΠ΅Ρ€Ρ‚Π²ΠΎΠ³ΠΎ (Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ) ΠΊΠΎΠ΄Π° cgc analyze dead-code # ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) cgc watch . # ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ всСх ΠΊΠΎΠΌΠ°Π½Π΄ cgc help ``` **ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ [Руководством ΠΏΠΎ CLI-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ](docs/CLI_COMPLETE_REFERENCE.md) для изучСния всСх доступных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ сцСнариСв использования.** ### 🎨 Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ Premium-визуализация CodeGraphContext ΡƒΠΌΠ΅Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„Ρ‹ Π·Π½Π°Π½ΠΈΠΉ вашСго ΠΊΠΎΠ΄Π°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ статичных Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, это ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ Π²Π΅Π±-ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ-класса: - **ΠŸΡ€Π΅ΠΌΠΈΠ°Π»ΡŒΠ½Π°Ρ эстСтика**: тСмная Ρ‚Π΅ΠΌΠ°, глассморфизм ΠΈ соврСмСнная Ρ‚ΠΈΠΏΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊΠ° (Outfit / JetBrains Mono). - **Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ инспСктор**: ΠΊΠ»ΠΈΠΊ ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ ΡƒΠ·Π»Ρƒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ символС, путями ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ контСкстом. - **Быстрый поиск**: ΠΆΠΈΠ²ΠΎΠΉ поиск ΠΏΠΎ Π³Ρ€Π°Ρ„Ρƒ для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ нахоТдСния Π½ΡƒΠΆΠ½Ρ‹Ρ… символов. - **Умная ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°**: силовыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ отрисовки (force-directed) ΠΈ иСрархичСскиС структуры, Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΠ΅ слоТныС связи Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌΠΈ. - **Π Π°Π±ΠΎΡ‚Π° Π±Π΅Π· зависимостСй**: Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ HTML-Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π² любом соврСмСнном Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. ```bash # Визуализация Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ cgc analyze calls my_function --viz # ИсслСдованиС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов cgc analyze tree MyClass --viz # Визуализация Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска cgc find pattern "Auth" --viz ``` --- ### πŸ€– MCP-сСрвСр **Настройка ИИ-ассистСнта для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CodeGraphContext:** 1. **Настройка:** ЗапуститС мастСр настройки MCP для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСй IDE / ИИ-ассистСнта: ```bash cgc mcp setup ``` ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ: * VS Code * Cursor * Windsurf * Claude * Gemini CLI * ChatGPT Codex * Cline * RooCode * Amazon Q Developer * Kiro ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ настройки ΠΊΠΎΠΌΠ°Π½Π΄Π° `cgc mcp setup` сгСнСрируСт ΠΈ размСстит Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: * Боздаст Ρ„Π°ΠΉΠ» `mcp.json` Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для справки. * НадСТно сохранит ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π‘Π” Π² `~/.codegraphcontext/.env`. * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ Ρ„Π°ΠΉΠ» настроСк Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ IDE/CLI (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `.claude.json` ΠΈΠ»ΠΈ `settings.json` Π² VS Code). 2. **Запуск:** ЗапуститС MCP-сСрвСр: ```bash cgc mcp start ``` 3. **ИспользованиС:** Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с вашСй ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ИИ-ассистСнта, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ СстСствСнный язык! Π‘ΠΌ. ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½ΠΈΠΆΠ΅. --- ## Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² (`.cgcignore`) Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ CodeGraphContext ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Для этого создайтС Ρ„Π°ΠΉΠ» `.cgcignore` Π² ΠΊΠΎΡ€Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ синтаксис, Ρ‡Ρ‚ΠΎ ΠΈ `.gitignore`. **ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° `.cgcignore`:** ``` # Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ сборки /build/ /dist/ # Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ зависимости /node_modules/ /vendor/ # Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ *.log ``` --- ## ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ MCP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Команда `cgc mcp setup` пытаСтся автоматичСски Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ IDE/CLI. Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ автонастройки ΠΈΠ»ΠΈ ваш инструмСнт ΠΏΠΎΠΊΠ° Π½Π΅ поддСрТиваСтся, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ всё Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сСрвСра Π² Ρ„Π°ΠΉΠ» настроСк вашСго ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `settings.json` Π² VS Code ΠΈΠ»ΠΈ `.claude.json`): ```json { "mcpServers": { "CodeGraphContext": { "command": "cgc", "args": [ "mcp", "start" ], "env": { "NEO4J_URI": "YOUR_NEO4J_URI", "NEO4J_USERNAME": "YOUR_NEO4J_USERNAME", "NEO4J_PASSWORD": "YOUR_NEO4J_PASSWORD" }, "disabled": false, "alwaysAllow": [] } } } ``` --- ## ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ запросов Π½Π° СстСствСнном языкС ПослС запуска сСрвСра Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· ИИ-ассистСнта Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ языкС. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚ΠΎΠ³ΠΎ, ΠΎ Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ: ### Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ ΠΈ отслСТиваниС Ρ„Π°ΠΉΠ»ΠΎΠ² - **Для индСксации Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:** - "ΠŸΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΠΉ ΠΊΠΎΠ΄ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ `/path/to/my-project`." Π˜Π›Π˜ - "Π”ΠΎΠ±Π°Π²ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· `~/dev/my-other-project` Π² Π³Ρ€Π°Ρ„ ΠΊΠΎΠ΄Π°." - **Для Π½Π°Ρ‡Π°Π»Π° отслСТивания Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:** - "ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉ измСнСния Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ `/path/to/my-active-project`." Π˜Π›Π˜ - "ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π³Ρ€Π°Ρ„Π° ΠΊΠΎΠ΄Π° для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² `~/dev/main-app`." Когда Π²Ρ‹ проситС ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, систСма выполняСт Π΄Π²Π° дСйствия ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ: 1. ЗапускаСт ΠΏΠΎΠ»Π½ΠΎΠ΅ сканированиС для индСксации всСго ΠΊΠΎΠ΄Π° Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ΄Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ `job_id` для отслСТивания прогрСсса. 2. НачинаСт ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ достаточно просто Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ β€” систСма сама Π²ΠΎΠ·ΡŒΠΌΠ΅Ρ‚ Π½Π° сСбя ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. ### Поиск ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° - **Поиск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π°:** - "Π“Π΄Π΅ находится функция `process_payment`?" - "Найди для мСня класс `User`." - "ПокаТи вСсь ΠΊΠΎΠ΄, связанный с 'ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…'." - **Анализ связСй ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° влияния (Impact Analysis):** - "КакиС Π΅Ρ‰Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `get_user_by_id`?" - "Если я измСню Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `calculate_tax`, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹?" - "ПокаТи ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ наслСдования для класса `BaseController`." - "КакиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΅ΡΡ‚ΡŒ Ρƒ класса `Order`?" - **ИсслСдованиС зависимостСй:** - "КакиС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ `requests`?" - "Найди всС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `render`." - **Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ трассировка зависимостСй (ΠΎΡ…Π²Π°Ρ‚ сотСн Ρ„Π°ΠΉΠ»ΠΎΠ²):** CodeGraphContext блСстящС справляСтся с отслСТиваниСм слоТных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² выполнСния ΠΈ зависимостСй Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π±Π°Π·Π°Ρ…. Благодаря возмоТностям Π³Ρ€Π°Ρ„ΠΎΠ²Ρ‹Ρ… Π‘Π”, инструмСнт выявляСт прямыС ΠΈ косвСнныС Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ (callers) ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ (callees) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ Ссли функция вызываСтся Ρ‡Π΅Ρ€Π΅Π· мноТСство ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции ΠΈΠ»ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎ для: - **ΠžΡ†Π΅Π½ΠΊΠΈ влияния (Impact Analysis):** ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠ³ΠΎ эффСкта ΠΎΡ‚ измСнСния ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. - **ΠžΡ‚Π»Π°Π΄ΠΊΠΈ:** трассировка ΠΏΡƒΡ‚ΠΈ выполнСния ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ошибки. - **Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°:** ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ части большой систСмы. - "ПокаТи ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `main` Π΄ΠΎ `process_data`." - "Найди всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прямо ΠΈΠ»ΠΈ косвСнно Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ `validate_input`." - "КакиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ `initialize_system`?" - "ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΠΈ зависимости модуля `DatabaseManager`." - **ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠ΄Π° ΠΈ сопровоТдСниС:** - "Π•ΡΡ‚ΡŒ Π»ΠΈ Π² этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄?" - "Рассчитай Ρ†ΠΈΠΊΠ»ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `process_data` Π² Ρ„Π°ΠΉΠ»Π΅ `src/utils.py`." - "Найди 5 самых слоТных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅." - **Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСпозиториями:** - "Π’Ρ‹Π²Π΅Π΄ΠΈ список всСх проиндСксированных Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²." - "Π£Π΄Π°Π»ΠΈ проиндСксированный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ `/path/to/old-project`." --- ## УчастиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π‘ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²ΠΊΠ»Π°Π΄Ρƒ! πŸŽ‰ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ инструкции смотритС Π² Ρ„Π°ΠΉΠ»Π΅ [CONTRIBUTING.md](CONTRIBUTING.md). Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ для Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ [issue](https://github.com/CodeGraphContext/CodeGraphContext/issues) ΠΈΠ»ΠΈ присылайтС Pull Request. УчаствуйтС Π² обсуТдСниях ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΠΉΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ CodeGraphContext.