mcpField
M
meta-edit

meta-edit

github.com/nikolay-shirokovDevelopment74154 installsUpdated today
Repository

About meta-edit

meta-edit is a skill for developers maintaining 1C configurations. It performs atomic edits to existing XML metadata objects through single operations or JSON definitions, with optional validation.

Key features

  1. 01Add and remove metadata elements
  2. 02Modify attributes and object properties
  3. 03Batch operations with ;;
  4. 04Insert elements at a chosen position
  5. 05Optional post-edit validation

Use cases

  1. 01Add attributes or tabular sections
  2. 02Rename or change metadata types
  3. 03Remove obsolete metadata fields

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill meta-edit

After installing, type/meta-editin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

reference/
attributes.md
external-data-source.md
json-dsl.md
other-children.md
predefined.md
properties.md
tabular-sections.md
scripts/
meta-edit.ps1
meta-edit.py

Details

From the project README

/meta-edit — точечное редактирование метаданных 1С

Атомарные операции модификации существующих XML объектов метаданных.

Команда

Inline mode (простые операции)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-edit.ps1" -ObjectPath "<path>" -Operation <op> -Value "<val>"
JSON mode (сложные/комбинированные)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-edit.ps1" -DefinitionFile "<json>" -ObjectPath "<path>"
ПараметрОписание
ObjectPathXML-файл или директория объекта (обязательный, авторезолв <dirName>.xml)
OperationInline-операция (альтернатива DefinitionFile)
ValueЗначение для inline-операции
DefinitionFileJSON-файл с операциями (альтернатива Operation)
NoValidateНе запускать валидацию после правки

Частые операции

Batch через ;; во всех операциях.

ОперацияФормат ValueПример
add-attributeИмя: Тип | флаги"Сумма: Число(15,2) | req, index"
add-dimensionИмя: Тип | флаги"Организация: CatalogRef.Организации | master"
add-resourceИмя: Тип"Сумма: Число(15,2)"
add-columnИмя: Тип"Тип: EnumRef.ТипыДокументов"
add-tsТЧ: Рекв1: Тип1, Рекв2: Тип2"Товары: Ном: CatalogRef.Ном, Кол: Число(15,3)"
add-ts-attributeТЧ.Имя: Тип"Товары.Скидка: Число(15,2)"
remove-*Имя"СтарыйРеквизит ;; ЕщёОдин"
remove-ts-attributeТЧ.Имя"Товары.УстаревшийРекв"
modify-attributeИмя: ключ=значение"СтароеИмя: name=НовоеИмя, type=Строка(500)"
modify-ts-attributeТЧ.Имя: ключ=значение"Товары.Рекв: name=НовоеИмя"
modify-tsТЧ: ключ=значение"Товары: synonym=Товарный состав"
modify-propertyКлюч=Значение"CodeLength=11 ;; DescriptionLength=150"

Позиционная вставка: "Склад: CatalogRef.Склады >> after Организация".

Составной тип — через +: "Значение: Строка + Число(15,2) + Дата".

Быстрые примеры

# Добавить реквизиты
-Operation add-attribute -Value "Комментарий: Строка(200) ;; Сумма: Число(15,2) | index"

# Добавить ТЧ с реквизитами
-Operation add-ts -Value "Товары: Ном: CatalogRef.Ном | req, Кол: Число(15,3), Цена: Число(15,2)"

# Удалить реквизит
-Operation remove-attribute -Value "УстаревшийРеквизит"

# Переименовать + сменить тип
-Operation modify-attribute -Value "СтароеИмя: name=НовоеИмя, type=Строка(500)"

# Изменить свойства объекта
-Operation modify-property -Value "CodeLength=11 ;; DescriptionLength=150"

# Владельцы справочника
-Operation set-owners -Value "Catalog.Контрагенты ;; Catalog.Организации"

Индекс: что правишь → файл

Что нужноФайл
Реквизит, измерение, ресурс, графа: флаги, составные типы, структурные свойства (Format, ChoiceParameters, FillValue, …)reference/attributes.md
Табличная часть и её реквизитыreference/tabular-sections.md
Свойства самого объекта, списочные свойства (владельцы, движения, основание, ввод по строке)reference/properties.md
Предопределённые элементыreference/predefined.md
Значения перечисления, командыreference/other-children.md
Внешний источник данных: поля, таблицы, функцииreference/external-data-source.md
Комбинированные операции в одном JSON, синонимы ключей и типов, какие дети допустимы у типа объектаreference/json-dsl.md

Форму добавляет и удаляет навык form-add / form-remove, макет — навык template-add / template-remove: кроме записи в ChildObjects у них есть собственные файлы, и meta-edit их не трогает.

Верификация

/meta-validate <ObjectPath>    — валидация после редактирования
/meta-info <ObjectPath>        — визуальная сводка

Comments

Markdown supported