From 39ee6cb155460aa63ae136e5bb17b360c3a8e8d3 Mon Sep 17 00:00:00 2001 From: gitea-actions Date: Thu, 6 Aug 2026 21:03:33 +0000 Subject: [PATCH] =?UTF-8?q?kompas=200.1.0=20(=D0=B8=D0=B7=20c7b0387a24cfea?= =?UTF-8?q?e3f19c052eb16d29dcc8030e31)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude-plugin/marketplace.json | 19 + LICENSE | 30 + README.md | 65 +- plugin/.claude-plugin/plugin.json | 19 + plugin/.mcp.json | 9 + plugin/README.md | 60 ++ plugin/adapters/codex/README.md | 20 + plugin/adapters/codex/config.snippet.toml | 5 + plugin/adapters/opencode/README.md | 17 + plugin/adapters/opencode/opencode.json | 11 + plugin/bin/Kompas.Mcp.Core.dll | Bin 0 -> 880640 bytes plugin/bin/Kompas.Mcp.Core.pdb | Bin 0 -> 201368 bytes .../Microsoft.Extensions.AI.Abstractions.dll | Bin 0 -> 673592 bytes ...rosoft.Extensions.Caching.Abstractions.dll | Bin 0 -> 36688 bytes ....Extensions.Configuration.Abstractions.dll | Bin 0 -> 27432 bytes ...rosoft.Extensions.Configuration.Binder.dll | Bin 0 -> 42784 bytes ...t.Extensions.Configuration.CommandLine.dll | Bin 0 -> 24736 bytes ...ons.Configuration.EnvironmentVariables.dll | Bin 0 -> 21280 bytes ...xtensions.Configuration.FileExtensions.dll | Bin 0 -> 27936 bytes ...icrosoft.Extensions.Configuration.Json.dll | Bin 0 -> 26920 bytes ...t.Extensions.Configuration.UserSecrets.dll | Bin 0 -> 25384 bytes .../Microsoft.Extensions.Configuration.dll | Bin 0 -> 43800 bytes ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 64808 bytes ...crosoft.Extensions.DependencyInjection.dll | Bin 0 -> 92952 bytes ...ft.Extensions.Diagnostics.Abstractions.dll | Bin 0 -> 29992 bytes .../bin/Microsoft.Extensions.Diagnostics.dll | Bin 0 -> 35592 bytes ....Extensions.FileProviders.Abstractions.dll | Bin 0 -> 22312 bytes ...soft.Extensions.FileProviders.Physical.dll | Bin 0 -> 44808 bytes ...icrosoft.Extensions.FileSystemGlobbing.dll | Bin 0 -> 45848 bytes ...rosoft.Extensions.Hosting.Abstractions.dll | Bin 0 -> 53072 bytes plugin/bin/Microsoft.Extensions.Hosting.dll | Bin 0 -> 72488 bytes ...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 65832 bytes ...osoft.Extensions.Logging.Configuration.dll | Bin 0 -> 27912 bytes .../Microsoft.Extensions.Logging.Console.dll | Bin 0 -> 71464 bytes .../Microsoft.Extensions.Logging.Debug.dll | Bin 0 -> 20248 bytes .../Microsoft.Extensions.Logging.EventLog.dll | Bin 0 -> 25760 bytes ...crosoft.Extensions.Logging.EventSource.dll | Bin 0 -> 34568 bytes plugin/bin/Microsoft.Extensions.Logging.dll | Bin 0 -> 50976 bytes ...nsions.Options.ConfigurationExtensions.dll | Bin 0 -> 22688 bytes plugin/bin/Microsoft.Extensions.Options.dll | Bin 0 -> 64296 bytes .../bin/Microsoft.Extensions.Primitives.dll | Bin 0 -> 43816 bytes plugin/bin/ModelContextProtocol.Core.dll | Bin 0 -> 1294336 bytes plugin/bin/ModelContextProtocol.dll | Bin 0 -> 90112 bytes .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 191824 bytes .../System.Diagnostics.EventLog.Messages.dll | Bin 0 -> 801080 bytes plugin/bin/System.Diagnostics.EventLog.dll | Bin 0 -> 172704 bytes plugin/bin/System.IO.Pipelines.dll | Bin 0 -> 77096 bytes plugin/bin/System.Net.ServerSentEvents.dll | Bin 0 -> 41256 bytes plugin/bin/System.Text.Encodings.Web.dll | Bin 0 -> 65832 bytes plugin/bin/System.Text.Json.dll | Bin 0 -> 676688 bytes plugin/bin/kompas-mcp.deps.json | 770 ++++++++++++++++++ plugin/bin/kompas-mcp.dll | Bin 0 -> 333824 bytes plugin/bin/kompas-mcp.exe | Bin 0 -> 151552 bytes plugin/bin/kompas-mcp.pdb | Bin 0 -> 40712 bytes plugin/bin/kompas-mcp.runtimeconfig.json | 14 + plugin/commands/doctor.md | 66 ++ plugin/scripts/launch-kompas-mcp.ps1 | 47 ++ plugin/skills/kompas-3d/SKILL.md | 563 +++++++++++++ .../kompas-3d/reference/text-and-relief.md | 117 +++ plugin/skills/kompas-fdm-design/SKILL.md | 121 +++ .../kompas-fdm-design/references/fdm-rules.md | 179 ++++ .../references/geometry-audit.md | 33 + release.json | 6 + 63 files changed, 2169 insertions(+), 2 deletions(-) create mode 100644 .claude-plugin/marketplace.json create mode 100644 LICENSE create mode 100644 plugin/.claude-plugin/plugin.json create mode 100644 plugin/.mcp.json create mode 100644 plugin/README.md create mode 100644 plugin/adapters/codex/README.md create mode 100644 plugin/adapters/codex/config.snippet.toml create mode 100644 plugin/adapters/opencode/README.md create mode 100644 plugin/adapters/opencode/opencode.json create mode 100644 plugin/bin/Kompas.Mcp.Core.dll create mode 100644 plugin/bin/Kompas.Mcp.Core.pdb create mode 100755 plugin/bin/Microsoft.Extensions.AI.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Caching.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.Binder.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.CommandLine.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.EnvironmentVariables.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.FileExtensions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.Json.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.UserSecrets.dll create mode 100755 plugin/bin/Microsoft.Extensions.Configuration.dll create mode 100755 plugin/bin/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.DependencyInjection.dll create mode 100755 plugin/bin/Microsoft.Extensions.Diagnostics.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Diagnostics.dll create mode 100755 plugin/bin/Microsoft.Extensions.FileProviders.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.FileProviders.Physical.dll create mode 100755 plugin/bin/Microsoft.Extensions.FileSystemGlobbing.dll create mode 100755 plugin/bin/Microsoft.Extensions.Hosting.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Hosting.dll create mode 100755 plugin/bin/Microsoft.Extensions.Logging.Abstractions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Logging.Configuration.dll create mode 100755 plugin/bin/Microsoft.Extensions.Logging.Console.dll create mode 100755 plugin/bin/Microsoft.Extensions.Logging.Debug.dll create mode 100755 plugin/bin/Microsoft.Extensions.Logging.EventLog.dll create mode 100755 plugin/bin/Microsoft.Extensions.Logging.EventSource.dll create mode 100755 plugin/bin/Microsoft.Extensions.Logging.dll create mode 100755 plugin/bin/Microsoft.Extensions.Options.ConfigurationExtensions.dll create mode 100755 plugin/bin/Microsoft.Extensions.Options.dll create mode 100755 plugin/bin/Microsoft.Extensions.Primitives.dll create mode 100755 plugin/bin/ModelContextProtocol.Core.dll create mode 100755 plugin/bin/ModelContextProtocol.dll create mode 100755 plugin/bin/System.Diagnostics.DiagnosticSource.dll create mode 100755 plugin/bin/System.Diagnostics.EventLog.Messages.dll create mode 100755 plugin/bin/System.Diagnostics.EventLog.dll create mode 100755 plugin/bin/System.IO.Pipelines.dll create mode 100755 plugin/bin/System.Net.ServerSentEvents.dll create mode 100755 plugin/bin/System.Text.Encodings.Web.dll create mode 100755 plugin/bin/System.Text.Json.dll create mode 100644 plugin/bin/kompas-mcp.deps.json create mode 100644 plugin/bin/kompas-mcp.dll create mode 100755 plugin/bin/kompas-mcp.exe create mode 100644 plugin/bin/kompas-mcp.pdb create mode 100644 plugin/bin/kompas-mcp.runtimeconfig.json create mode 100644 plugin/commands/doctor.md create mode 100644 plugin/scripts/launch-kompas-mcp.ps1 create mode 100644 plugin/skills/kompas-3d/SKILL.md create mode 100644 plugin/skills/kompas-3d/reference/text-and-relief.md create mode 100644 plugin/skills/kompas-fdm-design/SKILL.md create mode 100644 plugin/skills/kompas-fdm-design/references/fdm-rules.md create mode 100644 plugin/skills/kompas-fdm-design/references/geometry-audit.md create mode 100644 release.json diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..4921b1a --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,19 @@ +{ + "name": "kompas-plugin", + "owner": { + "name": "Shahovalov Mikhail", + "email": "miha.shahovalov@gmail.com" + }, + "metadata": { + "description": "КОМПАС-3D в Claude Code: MCP-сервер для деталей, сборок, чертежей и STEP плюс методика работы с ними." + }, + "plugins": [ + { + "name": "kompas", + "source": "./plugin", + "description": "Управление КОМПАС-3D из Claude Code: 85 MCP-инструментов (детали, эскизы, формообразующие операции, массивы, отверстия, сборки и сопряжения, 2D-чертежи, STEP/STL, осмотр модели) и два навыка — построение (kompas-3d) и проектирование под FDM-печать (kompas-fdm-design).", + "category": "productivity", + "keywords": ["cad", "kompas", "3d", "step", "mcp", "fdm"] + } + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..df32316 --- /dev/null +++ b/LICENSE @@ -0,0 +1,30 @@ +MIT License + +Copyright (c) 2026 Shahovalov Mikhail + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + +Лицензия распространяется на содержимое этого репозитория: MCP-сервер `kompas-mcp`, +навыки, команды и скрипты плагина. + +Она НЕ распространяется на interop-сборки КОМПАС-3D (`KompasAPI7.dll`, `Kompas6API5.dll`, +`Kompas6Constants.dll`, `Kompas6Constants3D.dll`) — они принадлежат АО «АСКОН» и в поставку +плагина не входят: сервер берёт их из установленного на машине КОМПАС-3D. diff --git a/README.md b/README.md index 074447c..bce900a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,65 @@ # КОМПАС-3D в Claude Code -Репозиторий поставки плагина `kompas`. Содержимое появляется с первым релизом — -его публикует workflow из репозитория с исходниками. +Каталог плагинов с одним плагином — **`kompas`**. Он даёт Claude Code управление +[КОМПАС-3D](https://ascon.ru/products/7/) (АСКОН) через MCP-сервер: детали, эскизы, +формообразующие операции, массивы и зеркало, отверстия, сборки с сопряжениями, 2D-чертежи, +STEP/STL, осмотр и измерение модели — плюс два навыка с методикой построения. + +Это репозиторий поставки: здесь лежит собранный сервер и материалы плагина. Исходники сервера +не публикуются. + +## Что нужно до установки + +- **Windows x64** — сервер является COM-клиентом КОМПАС и работает только на той же машине; +- **установленный КОМПАС-3D** (проверено на v24 Home) **с компонентом SDK**. Interop-сборки + принадлежат АСКОН, в поставку не входят и берутся из установки + (`SDK\Samples\CSharp.zip`, каталог `Common`); при первом запуске они распаковываются + в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`. Если SDK не установлен, укажите каталог + с этими сборками в переменной окружения `KOMPAS_INTEROP_DIR`; +- **[.NET Runtime](https://dotnet.microsoft.com/download/dotnet) 8 или новее, x64** — сервер + поставляется framework-dependent (2,3 МБ вместо 34), поэтому рантайм берётся с машины. + Проверить: `dotnet --list-runtimes` должен показать `Microsoft.NETCore.App 8.x` или новее; +- чекаут и рабочие файлы — вне синхронизируемых папок OneDrive. + +Запускать КОМПАС заранее не нужно: сервер присоединится к открытому окну, а если его нет — +запустит экземпляр сам. + +## Установка + +``` +/plugin marketplace add https://git.shahovalov.ru/mikhail/kompas-plugin.git +/plugin install kompas@kompas-plugin +/kompas:doctor +``` + +`/kompas:doctor` — диагностика: версия сервера, установлен ли КОМПАС, на месте ли interop-сборки, +проходит ли соединение. С неё стоит начинать разбор любой неполадки. + +## Обновление + +``` +/plugin marketplace update kompas-plugin +/plugin update kompas@kompas-plugin +``` + +Если после обновления инструменты остались прежними — `/reload-plugins`. + +## Что внутри + +| | | +|---|---| +| **MCP-сервер `kompas`** | 85 инструментов: документы, эскизы, выдавливание/вращение/по сечениям/по траектории, оболочка, рёбра, уклон, скругления и фаски, массивы и зеркало, отверстия, булевы операции, прямое редактирование B-rep, переменные и параметризация, сборки и сопряжения, 2D-чертежи (виды, размеры, обозначения, тех. требования), STEP/STL, осмотр (`describe_model`, `list_faces`, `list_edges`, `measure`) | +| **Навык `kompas-3d`** | методика построения: порядок работы, выбор подхода, проверенные приёмы и ловушки | +| **Навык `kompas-fdm-design`** | проектирование под FDM/FFF-печать: нависания, толщины стенок, зазоры и посадки, ориентация, бобышки и защёлки | +| **Команда `/kompas:doctor`** | диагностика установки | +| **Справка `help`** | инструмент `help(topic=…)` — статьи по механике и ловушкам, прямо в сессии | + +## Другие агентские харнессы + +Тот же сервер подключается к Codex и opencode — сниппеты конфигурации лежат в +`plugin/adapters/{codex,opencode}/`. + +## Лицензия + +MIT — см. [LICENSE](LICENSE). На interop-сборки КОМПАС-3D (© АО «АСКОН») лицензия не +распространяется: они в поставку не входят. diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json new file mode 100644 index 0000000..5d90d1c --- /dev/null +++ b/plugin/.claude-plugin/plugin.json @@ -0,0 +1,19 @@ +{ + "name": "kompas", + "displayName": "КОМПАС-3D", + "version": "0.1.0", + "description": "Управление КОМПАС-3D из Claude Code: детали, сборки, чертежи, STEP — через MCP-сервер", + "author": { + "name": "Shahovalov Mikhail", + "email": "miha.shahovalov@gmail.com" + }, + "homepage": "https://git.shahovalov.ru/mikhail/kompas3d-mcp", + "repository": "https://git.shahovalov.ru/mikhail/kompas3d-mcp", + "keywords": [ + "cad", + "kompas", + "3d", + "step", + "mcp" + ] +} diff --git a/plugin/.mcp.json b/plugin/.mcp.json new file mode 100644 index 0000000..12b0e37 --- /dev/null +++ b/plugin/.mcp.json @@ -0,0 +1,9 @@ +{ + "mcpServers": { + "kompas": { + "command": "powershell", + "args": ["-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", + "-File", "${CLAUDE_PLUGIN_ROOT}/scripts/launch-kompas-mcp.ps1"] + } + } +} diff --git a/plugin/README.md b/plugin/README.md new file mode 100644 index 0000000..4f17192 --- /dev/null +++ b/plugin/README.md @@ -0,0 +1,60 @@ +# Плагин `kompas` — КОМПАС-3D в Claude Code + +Даёт Claude Code инструменты управления КОМПАС-3D (детали, сборки, чертежи, STEP) и методику работы +с ними: навыки `kompas:kompas-3d` и `kompas:kompas-fdm-design`. + +## Предпосылки + +- Windows x64; +- установленный КОМПАС-3D (проверено на v24 Home) — сервер является COM-клиентом, а не автономным + CAD-движком, и работает только на той же машине. Запускать заранее не нужно: сервер присоединится + к открытому окну, а если его нет — запустит экземпляр сам; +- КОМПАС установлен **вместе с компонентом SDK**: interop-сборки принадлежат АСКОН, в поставку + сервера не входят и берутся из установки (`SDK\Samples\CSharp.zip`, каталог `Common`). При первом + запуске они распаковываются в `%LOCALAPPDATA%\kompas-mcp\interop\<ключ>`; если SDK не установлен, + укажите каталог с этими сборками в переменной окружения `KOMPAS_INTEROP_DIR`; +- [**.NET Runtime**](https://dotnet.microsoft.com/download/dotnet) **8 или новее, x64** — сервер + поставляется framework-dependent, рантайм берётся с машины. Проверка: `dotnet --list-runtimes` + показывает `Microsoft.NETCore.App 8.x` или новее; +- чекаут репозитория и рабочие файлы — вне синхронизируемых папок OneDrive. + +## Установка + +``` +/plugin marketplace add https://git.shahovalov.ru/mikhail/kompas-plugin.git +/plugin install kompas@kompas-plugin +/kompas:doctor +``` + +Сервер (`bin/kompas-mcp.exe`) едет вместе с плагином — отдельно скачивать и устанавливать нечего. +`/kompas:doctor` проверяет версию, наличие .NET и КОМПАС, interop-сборки и соединение. + +## Обновление + +``` +/plugin marketplace update kompas-plugin +/plugin update kompas@kompas-plugin +``` + +Если инструменты остались прежними — `/reload-plugins`. + +## Разработка сервера + +Переменная окружения `KOMPAS_MCP_EXE` подменяет поставленный бинарь своим: + +```powershell +$env:KOMPAS_MCP_EXE = "<путь>\kompas-mcp.exe" +``` + +Тогда лаунчер `scripts/launch-kompas-mcp.ps1` не смотрит в `bin/` плагина. + +## Другие харнессы (Codex, opencode) + +Тот же лаунчер подключается и к другим агентским харнессам — см. `adapters/codex/` и +`adapters/opencode/`. Это сниппеты конфигурации и инструкция, а не отдельные дистрибутивы: +контент (навыки, лаунчер) не размножается, новый харнесс стоит README + сниппета. + +## Прочее + +Каталог `%LOCALAPPDATA%\kompas-mcp` (распакованные interop-сборки, при разработке — временные +файлы) не очищается при обновлении и удалении плагина — удаляется вручную. diff --git a/plugin/adapters/codex/README.md b/plugin/adapters/codex/README.md new file mode 100644 index 0000000..b32f8b3 --- /dev/null +++ b/plugin/adapters/codex/README.md @@ -0,0 +1,20 @@ +# Подключение к Codex + +Codex не знает ни маркетплейсов, ни `${CLAUDE_PLUGIN_ROOT}`, поэтому подключение делается по пути +к каталогу плагина. + +1. Склонировать `https://git.shahovalov.ru/mikhail/kompas-plugin.git` — сервер лежит внутри, + в `plugin/bin/`, собирать ничего не нужно (требуется .NET Runtime 8+ x64). +2. Вставить `config.snippet.toml` в `~/.codex/config.toml`, заменив `` на абсолютный путь + к каталогу `plugin/` клона. Лаунчер `scripts/launch-kompas-mcp.ps1` — тот же, что у плагина + Claude Code. +3. Навыки: скопировать `plugin/skills/{kompas-3d,kompas-fdm-design}` в каталог навыков своего + агента (для Codex это `.agents/skills/`). + +Формат сниппета (`[mcp_servers.<имя>]` с ключами `command`/`args`) проверен вживую — +`codex mcp add kompas -- powershell ...` генерирует именно такую секцию (Codex CLI 0.145.0). + +Свой собранный сервер подставляется переменной окружения `KOMPAS_MCP_EXE` — она перекрывает +`plugin/bin/kompas-mcp.exe`. + +Это сниппет и инструкция, а не дистрибутив: полноценный плагин Codex — отдельная веха. diff --git a/plugin/adapters/codex/config.snippet.toml b/plugin/adapters/codex/config.snippet.toml new file mode 100644 index 0000000..69169fe --- /dev/null +++ b/plugin/adapters/codex/config.snippet.toml @@ -0,0 +1,5 @@ +# Вставить в ~/.codex/config.toml. — путь к каталогу plugin/ этого репозитория. +[mcp_servers.kompas] +command = "powershell" +args = ["-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", + "-File", "/scripts/launch-kompas-mcp.ps1"] diff --git a/plugin/adapters/opencode/README.md b/plugin/adapters/opencode/README.md new file mode 100644 index 0000000..f2e50da --- /dev/null +++ b/plugin/adapters/opencode/README.md @@ -0,0 +1,17 @@ +# Подключение к opencode + +1. Склонировать `https://git.shahovalov.ru/mikhail/kompas-plugin.git` — сервер лежит внутри, + в `plugin/bin/` (требуется .NET Runtime 8+ x64). +2. Слить `opencode.json` со своим конфигом opencode, заменив `` на абсолютный путь к + каталогу `plugin/` клона. Используется тот же лаунчер `scripts/launch-kompas-mcp.ps1`. +3. Навыки: скопировать `plugin/skills/{kompas-3d,kompas-fdm-design}` в каталог навыков агента + (`.agents/skills/`). + +Формат `opencode.json` — под MCP-сервер типа `local` команда со всеми аргументами лежит одним +массивом строк в поле `command` (сверено со схемой `https://opencode.ai/config.json`, +`$defs.McpLocalConfig`), отдельного поля `args` в этой схеме нет. + +Свой собранный сервер подставляется переменной окружения `KOMPAS_MCP_EXE` — она перекрывает +`plugin/bin/kompas-mcp.exe`. + +Это сниппет и инструкция, а не дистрибутив. diff --git a/plugin/adapters/opencode/opencode.json b/plugin/adapters/opencode/opencode.json new file mode 100644 index 0000000..a581cb4 --- /dev/null +++ b/plugin/adapters/opencode/opencode.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "kompas": { + "type": "local", + "command": ["powershell", "-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", + "-File", "/scripts/launch-kompas-mcp.ps1"], + "enabled": true + } + } +} diff --git a/plugin/bin/Kompas.Mcp.Core.dll b/plugin/bin/Kompas.Mcp.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..f7703b502d23247ee7cc489a37bd687b3c635190 GIT binary patch literal 880640 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