subsystem-compile · diff
git:20260503.52491ea to git:20260504.795505f
115 added, 60 removed. Audit A to A.
- ---
- name: subsystem-compile
- description: Создать подсистему 1С — XML-исходники из JSON-определения. Используй когда нужно добавить подсистему (раздел) в конфигурацию
- argument-hint: "[-DefinitionFile <json> | -Value <json-string>] -OutputDir <ConfigDir> [-Parent <path>]"
- allowed-tools:
- - Bash
- - Read
- - Write
- - Glob
- ---
-
- # /subsystem-compile — генерация подсистемы из JSON
-
+ ---
+ name: subsystem-compile
+ description: Создать подсистему 1С — XML-исходники из JSON-определения. Используй когда нужно добавить подсистему (раздел) в конфигурацию
+ argument-hint: "[-DefinitionFile <json> | -Value <json-string>] -OutputDir <ConfigDir> [-Parent <path>]"
+ allowed-tools:
+ - Bash
+ - Read
+ - Write
+ - Glob
+ ---
+
+ # /subsystem-compile — генерация подсистемы из JSON
+
## MCP routing
- Preferred path: use MCP `unica` tool `unica.subsystem.compile`; `unica` owns XML/JSON DSL work and refreshes related workspace caches after mutations.
- Do not call internal MCP/CLI adapters directly. They are hidden behind `unica` and synchronized by the orchestrator.
- - Current Python/PowerShell scripts are fallback implementation details until Rust parity is complete.
+ - Execution path: call MCP `unica` tool `unica.subsystem.compile`; skill-local operation scripts are not part of the workflow.
- For mutating operations, pass `dryRun: false` only when the user explicitly requested the change; otherwise keep the default dry run.
- Принимает JSON-определение подсистемы → генерирует XML + файловую структуру + регистрирует в родителе (Configuration.xml или родительская подсистема).
-
- ## Параметры и команда
-
- | Параметр | Описание |
- |----------|----------|
- | `DefinitionFile` | Путь к JSON-файлу определения |
- | `Value` | Инлайн JSON-строка (альтернатива DefinitionFile) |
- | `OutputDir` | Корень выгрузки (где `Subsystems/`, `Configuration.xml`) |
- | `Parent` | Путь к XML родительской подсистемы (для вложенных) |
- | `NoValidate` | Пропустить авто-валидацию |
-
- ```powershell
- powershell.exe -NoProfile -File 'scripts/subsystem-compile.ps1' -Value '<json>' -OutputDir '<ConfigDir>'
- ```
-
- ## JSON-определение
-
- ```json
- {
- "name": "МояПодсистема",
- "synonym": "Моя подсистема",
- "comment": "",
- "includeInCommandInterface": true,
- "useOneCommand": false,
- "explanation": "Описание раздела",
- "picture": "CommonPicture.МояКартинка",
- "content": ["Catalog.Товары", "Document.Заказ"]
- }
- ```
-
- Минимально: только `name`. Остальное — дефолты.
-
- ## Примеры
-
- ```powershell
- # Минимальная подсистема
- ... -Value '{"name":"Тест"}' -OutputDir config/
-
- # С составом и картинкой
- ... -Value '{"name":"Продажи","content":["Catalog.Товары","Report.Продажи"],"picture":"CommonPicture.Продажи"}' -OutputDir config/
-
- # Вложенная подсистема
- ... -Value '{"name":"Дочерняя"}' -OutputDir config/ -Parent config/Subsystems/Продажи.xml
- ```
-
+ Принимает JSON-определение подсистемы → генерирует XML + файловую структуру + регистрирует в родителе (Configuration.xml или родительская подсистема).
+
+ ## MCP параметры
+
+ | Параметр | Описание |
+ |----------|----------|
+ | `DefinitionFile` | Путь к JSON-файлу определения |
+ | `Value` | Инлайн JSON-строка (альтернатива DefinitionFile) |
+ | `OutputDir` | Корень выгрузки (где `Subsystems/`, `Configuration.xml`) |
+ | `Parent` | Путь к XML родительской подсистемы (для вложенных) |
+ | `NoValidate` | Пропустить авто-валидацию |
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "method": "tools/call",
+ "params": {
+ "name": "unica.subsystem.compile",
+ "arguments": {
+ "cwd": "<workspace>",
+ "Value": "{\"name\":\"Продажи\",\"synonym\":\"Продажи\",\"content\":[\"Catalog.Номенклатура\"]}",
+ "OutputDir": "src",
+ "dryRun": false
+ }
+ }
+ }
+ ```
+
+ ## JSON-определение
+
+ ```json
+ {
+ "name": "МояПодсистема",
+ "synonym": "Моя подсистема",
+ "comment": "",
+ "includeInCommandInterface": true,
+ "useOneCommand": false,
+ "explanation": "Описание раздела",
+ "picture": "CommonPicture.МояКартинка",
+ "content": ["Catalog.Товары", "Document.Заказ"]
+ }
+ ```
+
+ Минимально: только `name`. Остальное — дефолты.
+
+ ## Примеры
+
+ ### Минимальная подсистема
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "method": "tools/call",
+ "params": {
+ "name": "unica.subsystem.compile",
+ "arguments": {
+ "cwd": "<workspace>",
+ "Value": "{\"name\":\"Тест\"}",
+ "OutputDir": "config/",
+ "dryRun": false
+ }
+ }
+ }
+ ```
+
+ ### С составом и картинкой
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "method": "tools/call",
+ "params": {
+ "name": "unica.subsystem.compile",
+ "arguments": {
+ "cwd": "<workspace>",
+ "Value": "{\"name\":\"Продажи\",\"content\":[\"Catalog.Товары\",\"Report.Продажи\"],\"picture\":\"CommonPicture.Продажи\"}",
+ "OutputDir": "config/",
+ "dryRun": false
+ }
+ }
+ }
+ ```
+
+ ### Вложенная подсистема
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "method": "tools/call",
+ "params": {
+ "name": "unica.subsystem.compile",
+ "arguments": {
+ "cwd": "<workspace>",
+ "Value": "{\"name\":\"Дочерняя\"}",
+ "OutputDir": "config/",
+ "Parent": "config/Subsystems/Продажи.xml",
+ "dryRun": false
+ }
+ }
+ }
+ ```