cf-init · diff

git:20260903.f0f5817 to git:20260916.b3dfbcd

32 added, 70 removed. Audit A to A.

---
name: cf-init
description: Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля
argument-hint: <Name> [-Synonym <name>] [-OutputDir src]
allowed-tools:
- Bash
- Read
- Glob
---
# /cf-init — Создание пустой конфигурации 1С
## MCP routing
- - Preferred path: use MCP `unica` tool `unica.cf.init`; `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.
- - Execution path: call MCP `unica` tool `unica.cf.init`; 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.
-
- Создаёт scaffold исходников пустой конфигурации 1С: `Configuration.xml`, `Languages/Русский.xml`.
+ - **Канонической операции создания конфигурации на поверхности нет.** Словарь
+ `unica.apply` правит существующий узел: `object.create` заводит объект
+ метаданных **внутри** конфигурации, но самого корня `Configuration.xml` не
+ создаёт.
+ - Не зови внутренние адаптеры напрямую: они спрятаны за MCP `unica`.
+ - Готовность проверяет `unica.check`, результат читает `unica.view` по адресу.
- ## MCP параметры
+ Поэтому корень новой конфигурации формируется файловыми средствами по формату
+ ниже — тем же порядком, каким заводится `v8project.yaml`
+ (`DEC.2026-09-09.PROJECT-CONFIG-IS-HANDWRITTEN`):
- | Параметр | Описание |
- |----------|----------|
- | `Name` | Имя конфигурации (обязат.) |
- | `Synonym` | Синоним (= Name если не указан) |
- | `OutputDir` | Каталог для создания (default: `src`) |
- | `Version` | Версия конфигурации |
- | `Vendor` | Поставщик |
- | `CompatibilityMode` | Режим совместимости (default: `Version8_3_27`) |
+ 1. записать `Configuration.xml` и обязательные `Ext/`;
+ 2. объявить набор в `v8project.yaml` и убедиться в допуске: `unica.check {}`;
+ 3. прочитать корень: `unica.view {at: "<набор>:Configuration"}`;
+ 4. дальше объекты заводит `unica.apply` (`object.create`, `props.set`).
- ```json
- {
- "jsonrpc": "2.0",
- "method": "tools/call",
- "params": {
- "name": "unica.cf.init",
- "arguments": {
- "cwd": "<workspace>",
- "Name": "DemoConfiguration",
- "Synonym": "Демо конфигурация",
- "OutputDir": "src",
- "Vendor": "Ingvar Consulting",
- "dryRun": false
- }
- }
- }
- ```
+ Если нужна именно операция создания корня — это пробел контракта Unica MCP;
+ сообщи о нём, а не подменяй его правкой чужой конфигурации.
## Примеры
### Базовая конфигурация
+ Поля, которые должен нести записанный файл:
+
```json
{
- "jsonrpc": "2.0",
- "method": "tools/call",
- "params": {
- "name": "unica.cf.init",
- "arguments": {
- "cwd": "<workspace>",
- "Name": "МояКонфигурация",
- "Synonym": "Моя конфигурация",
- "OutputDir": "test-tmp/cf",
- "dryRun": false
- }
- }
+ "Name": "МояКонфигурация",
+ "Synonym": "Моя конфигурация",
+ "OutputDir": "test-tmp/cf"
}
```
### С версией и поставщиком
+ Поля, которые должен нести записанный файл:
+
```json
{
- "jsonrpc": "2.0",
- "method": "tools/call",
- "params": {
- "name": "unica.cf.init",
- "arguments": {
- "cwd": "<workspace>",
- "Name": "TestCfg",
- "Synonym": "Тестовая",
- "Version": "1.0.0.1",
- "Vendor": "Фирма 1С",
- "OutputDir": "test-tmp/cf2",
- "dryRun": false
- }
- }
+ "Name": "TestCfg",
+ "Synonym": "Тестовая",
+ "Version": "1.0.0.1",
+ "Vendor": "Фирма 1С",
+ "OutputDir": "test-tmp/cf2"
}
```
### Другой режим совместимости
+ Поля, которые должен нести записанный файл:
+
```json
{
- "jsonrpc": "2.0",
- "method": "tools/call",
- "params": {
- "name": "unica.cf.init",
- "arguments": {
- "cwd": "<workspace>",
- "Name": "TestCfg",
- "CompatibilityMode": "Version8_3_27",
- "OutputDir": "test-tmp/cf3",
- "dryRun": false
- }
- }
+ "Name": "TestCfg",
+ "CompatibilityMode": "Version8_3_27",
+ "OutputDir": "test-tmp/cf3"
}
```
## Верификация
После создания проверь каталог конфигурации через MCP `unica` read-only инструменты.
### Проверить созданную структуру
```json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.view",
"arguments": {
"at": "main:Configuration"
}
}
}
```
### Валидировать XML конфигурации
```json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.check",
"arguments": {
"at": "<sourceSet>:Configuration"
}
}
}
```