diff --git a/.claude/skills/meta-compile/SKILL.md b/.claude/skills/meta-compile/SKILL.md index e6d60e5d..e0a6bcc5 100644 --- a/.claude/skills/meta-compile/SKILL.md +++ b/.claude/skills/meta-compile/SKILL.md @@ -29,17 +29,17 @@ powershell.exe -NoProfile -File .claude/skills/meta-compile/scripts/meta-compile ### Общая структура ```json -{ "type": "Catalog", "name": "Номенклатура", "synonym": "авто", ...свойства типа... } +{ "type": "Catalog", "name": "Номенклатура", ...свойства типа... } ``` -`type` и `name` — обязательные. `synonym` генерируется из `name` автоматически. +`type` и `name` — обязательные. `synonym` генерируется из `name` автоматически (CamelCase → слова через пробел). Можно задать явно: `"synonym": "Мой синоним"`. ### Shorthand реквизитов Используется в `attributes`, `dimensions`, `resources`, `tabularSections`: ``` -"ИмяРеквизита" → String без квалификаторов +"ИмяРеквизита" → String(10) по умолчанию "ИмяРеквизита: Тип" → с типом "ИмяРеквизита: Тип | req, index" → с флагами ``` diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1 index 0efa10fe..ed8cc6f4 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.ps1 +++ b/.claude/skills/meta-compile/scripts/meta-compile.ps1 @@ -239,7 +239,7 @@ function Emit-TypeContent { # String or String(N) if ($typeStr -match '^String(\((\d+)\))?$') { - $len = if ($Matches[2]) { $Matches[2] } else { "0" } + $len = if ($Matches[2]) { $Matches[2] } else { "10" } X "$indentxs:string" X "$indent" X "$indent`t$len" diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py index f2528cc1..f1e9db8b 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.py +++ b/.claude/skills/meta-compile/scripts/meta-compile.py @@ -244,7 +244,7 @@ def emit_type_content(indent, type_str): # String or String(N) m = re.match(r'^String(\((\d+)\))?$', type_str) if m: - length = m.group(2) if m.group(2) else '0' + length = m.group(2) if m.group(2) else '10' X(f'{indent}xs:string') X(f'{indent}') X(f'{indent}\t{length}') diff --git a/docs/meta-dsl-spec.md b/docs/meta-dsl-spec.md index 3f986e8d..dee4aba0 100644 --- a/docs/meta-dsl-spec.md +++ b/docs/meta-dsl-spec.md @@ -112,7 +112,7 @@ JSON DSL для описания объектов метаданных конф ### 4.1 Строковая форма ``` -"ИмяРеквизита" → String (без квалификаторов) +"ИмяРеквизита" → String(10) по умолчанию "ИмяРеквизита: Тип" → с типом "ИмяРеквизита: Тип | req, index" → с флагами ```