XBSL Skills AI-инструменты для 1С:Элемент
Скилл

xbsl-init

Инициализация нового проекта 1С:Элемент (XBSL) с нуля. Используй этот скилл когда пользователь хочет создать новый проект: создаёт корректную структуру папок, Проект.yaml, Проект.xbsl и Подсистема.yaml по эталонному формату. Вызывай при запросах «создай проект», «новый проект», «инициализируй проект», «init проект», «с нуля». Работает даже если в репозитории уже есть другие проекты. НЕ для: создания объектов метаданных, добавления форм, движений по регистрам.

Инициализация проекта 1С:Элемент

Шаг 0: Собери параметры

Из запроса пользователя определи:

Параметр Обязательный Дефолт
Поставщик Да
ИмяПроекта Да
Представление Нет {ИмяПроекта}
ИмяПодсистемы Нет Основное
Версия Нет 1.0
РежимСовместимости Нет 9.0
ВидПроекта Нет — (только если явно “библиотека”)

Если Поставщик или ИмяПроекта не указаны — спроси пользователя.

Примечание: если проект использует библиотеки — РежимСовместимости должен совпадать со всеми библиотеками.

Шаг 1: Проверь конфликт

Убедись, что проект с таким именем ещё не существует:

find . -name "Проект.yaml" -not -path "*/.claude/*"

Если найден файл в директории {Поставщик}/{ИмяПроекта}/ — сообщи об этом и остановись.

Шаг 2: Сгенерируй UUID

Вызови скилл xbsl-uuid с N=1. Сохрани результат как {ПроектУИД}.

Шаг 3: Создай файлы

Создай три файла:

{Поставщик}/{ИмяПроекта}/Проект.yaml

Ид: {ПроектУИД}
Представление: "{Представление}"
Версия: {Версия}
Поставщик: {Поставщик}
Имя: {ИмяПроекта}
ПредставлениеПоставщика: "{Поставщик}"
РежимСовместимости: {РежимСовместимости}
ЯзыкиЛокализации: [Русский]
ЯзыкПоУмолчанию: Русский
ЯзыкРазработки: Русский

Важно: не добавляй поле ВидЭлемента — его нет в Проект.yaml.

Если пользователь создаёт библиотеку — добавь строку после Ид: yaml ВидПроекта: Библиотека

{Поставщик}/{ИмяПроекта}/Проект.xbsl

// @НастройкаПриложения(Ид = "НастройкаПриложения", Номер = 1)
// метод НастройкаПриложения(НоваяВерсия: Версия)
// TODO Раскомментируйте метод и вставьте код обработчика. Метод с таким Ид будет выполнен только один раз!
// ;

// @ОбновлениеПроекта(Ид = "КонвертацияДанных", Номер = 1)
// метод КонвертацияДанных(ИсходнаяВерсия: Версия, ЦелеваяВерсия: Версия)
// TODO Раскомментируйте метод и вставьте код обработчика. Метод с таким Ид будет выполнен только один раз!
// ;

{Поставщик}/{ИмяПроекта}/{ИмяПодсистемы}/Подсистема.yaml

Интерфейс:
    ВключатьВАвтоИнтерфейс: Истина

Шаг 4: Выведи итог

Сообщи пользователю созданные пути:

Проект создан:
  {Поставщик}/{ИмяПроекта}/Проект.yaml
  {Поставщик}/{ИмяПроекта}/Проект.xbsl
  {Поставщик}/{ИмяПроекта}/{ИмяПодсистемы}/Подсистема.yaml

Если создавалось обычное приложение:

Следующий шаг: создай объекты метаданных через xbsl-meta-add

Если создавалась библиотека (ВидПроекта: Библиотека):

⚠️ Библиотека: этот проект нельзя развернуть как самостоятельное приложение —
платформа не поддерживает деплой библиотек. Библиотека подключается через
`Импорт` в другой проект.

Следующий шаг: добавь объекты через xbsl-meta-add, затем подключи библиотеку
к нужному приложению через поле `Импорт` в Подсистема.yaml или .xbsl файле.