Команды
Справочник команд и опций xbsl: проверка исходников, серверы LSP и MCP, веб-панель, шаблоны кода.
Справочник собран из самого инструмента – это то же, что показывает xbsl --help, только на одной странице и целиком.
Без команды xbsl проверяет указанные пути: это режим по умолчанию, и его опции перечислены в первом блоке. Остальные команды адресуют другие части инструментария.
Язык вывода переключается флагом --lang, переменной XBSL_LANG или берётся из локали системы.
Без команды: проверка исходников
Линтер исходников 1С:Элемент (пары .yaml/.xbsl).
usage: xbsl [пути] [опции] (без команды: проверка исходников)
xbsl <команда> [опции]
Аргументы
| Параметр | Описание |
|---|---|
paths |
файлы или каталоги для проверки |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--select ID/ГРУППА/ТИР |
проверять только эти правила (через запятую или повтором флага: id, группа – часть id до ‘/’ (напр. style) – или буква тира A/B/C/D) |
--ignore ID/ГРУППА/ТИР |
исключить эти правила (через запятую или повтором флага: id, группа или буква тира) |
--enable ID/ГРУППА/ТИР |
добавить выключенные по умолчанию правила ПОВЕРХ стандартного набора (--select набор заменяет); формы значений те же |
--other-system СИСТЕМА |
другая система, которую проект называет в комментариях: имя рядом с ней comment/unknown-name не судит. Повторяемый; несколько имен через запятую |
--as-ci [ФАЙЛ] |
проверять тем же набором правил, что и задача CI проекта: ключи --select/--ignore/--enable и список принятых замечаний берутся из .gitlab-ci.yml (или рабочего процесса GitHub) рядом с проектом; файл можно назвать явно |
--as-ci-job ЗАДАЧА |
какую задачу файла CI брать: конвейер запускает линтер не один раз, когда проект проверяет второе дерево (перевод) своим набором; имя можно назвать частью (--as-ci-job english), включает --as-ci |
--baseline ФАЙЛ |
гасить находки, записанные в файл принятых замечаний (его создаёт --write-baseline); новые находки выводятся как обычно |
--write-baseline ФАЙЛ |
вместо отчёта записать все текущие находки в файл принятых замечаний (заморозить долг; пути в файле – относительно его каталога) |
--no-baseline |
не искать файл принятых замечаний рядом с исходниками (по умолчанию найденный .xbsllint-baseline применяется сам) |
--stale-baseline |
перечислить записи файла принятых, которые больше ничего не гасят, с их причинами (вместе с --baseline) |
--prune-baseline |
перечислить устаревшие записи файла принятых с их причинами и удалить их из файла (вместе с --baseline; порядок файла и счётчики живых записей не трогаются) |
--fix |
применить однозначные правки оформления и кода вне списка принятых замечаний и вывести оставшиеся |
--jobs N |
процессов для файловых правил: 0 – авто (включается на больших проверках), 1 – последовательно, N – явное число процессов |
--list-rules |
вывести список правил (с их параметрами и величинами) и выйти; вместе с --select/--ignore список сужается так же, как набор проверки, а --rules-filter сужает его ещё; с --format json те же записи выводятся для машинной обработки |
--rules-filter СЛОВО |
сузить --list-rules. Слово, совпадающее с именем группы (часть id до ‘/’), выводит только эту группу; любое другое ищется как подстрока id или слово названия либо описания – весь текст i18n под id правила (название и шаблоны сообщений) на любом из языков, плюс докстринг по-английски; docs/RULES.md не читается. Без учёта регистра; сочетается с --select/--ignore |
--where |
показать установку движка, интерпретатор и данные Элемента (путь, источник, версии) и выйти |
--element-version ВЕРСИЯ |
версия данных Элемента (по умолчанию – env XBSL_ELEMENT_VERSION, а без него – default в index.json корня данных) |
--data-dir КАТАЛОГ |
корень данных Элемента (каталог с index.json); также env XBSL_DATA_DIR |
--lang {ru,en} |
язык вывода линтера (по умолчанию: env XBSL_LANG / локаль системы / ru) |
--format {text,json,codeclimate} |
формат вывода: text (по умолчанию), json (машиночитаемый: diagnostics + summary) или codeclimate (отчёт GitLab Code Quality – виджет в merge request) |
--out ФАЙЛ |
записать отчёт проверки в файл UTF-8 без BOM вместо stdout (перенаправление оболочки на Windows добавляет BOM, и разбор JSON на нём падает); действует для всех значений --format |
--summary |
вывести вместо находок их счёт по правилам: правило, число файлов и находок, а под таблицей итог запуска |
--compare ФАЙЛ |
сравнить находки с запуском, сохранённым в ФАЙЛ, и вывести только разницу: что появилось и что исчезло; этот запуск сохраняется в тот же файл. Первый запуск выводит счёт, как --summary |
--stdin |
проверить один буфер из stdin (для интеграции с редактором); вид файла и путь в позициях задаёт --filename |
--index |
вместо проверки вывести JSON-индекс проекта (объекты, методы, компоненты форм) для навигации в редакторе; путь – корень проекта |
--filename ИМЯ |
имя проверяемого буфера при --stdin (напр. Форма.xbsl); расширение задаёт вид файла |
--version |
показать версию и путь установки движка и выйти |
Команды
| Команда | Описание |
|---|---|
lint <пути> |
проверить исходники – то же, что без команды |
lsp |
сервер LSP для редактора |
mcp |
сервер MCP для агента |
web |
веб-панель |
templates |
шаблоны кода: list, export, import, save |
baseline |
список принятых замечаний: add – дописать находки одного правила с причиной |
extract |
сгенерировать данные о языке из дистрибутива Элемента (--dist) |
data-diff |
сравнить две версии данных: что изменилось в платформе |
data-pack |
Упаковать данные в общий каталог |
data-export |
Выгрузить данные в прежний формат |
data-verify |
Проверить целостность данных |
data-prune |
Найти или удалить неиспользуемые общие объекты |
translate |
перевести исходники проекта на английские написания |
self-update |
обновить xbsl распаковкой колеса с PyPI |
mcp-log |
журнал MCP-сервера: когда серверы запускались, как завершились и кто их остановил |
fold-comments |
свернуть комментарии yaml в описание узла, которое читает среда разработки: по умолчанию только показать план |
Опции команды: xbsl <команда> --help. Опции выше относятся к режиму проверки.
xbsl lsp
LSP-сервер xbsl (stdio)
usage: xbsl-lsp [-h] [--project-root PROJECT_ROOT] [--select SELECT] [--ignore IGNORE]
[--enable ENABLE] [--other-system OTHER_SYSTEM] [--as-ci [AS_CI]]
[--as-ci-job AS_CI_JOB] [--baseline BASELINE] [--templates TEMPLATES]
[--data-dir DATA_DIR] [--lang {ru,en}]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--project-root PROJECT_ROOT |
корень исходников (абсолютный или относительно рабочей папки) |
--select SELECT |
только эти правила (через запятую) |
--ignore IGNORE |
исключить правила (через запятую) |
--enable ENABLE |
включить правила поверх набора по умолчанию |
--other-system OTHER_SYSTEM |
другие системы, которые проект называет в комментариях, через запятую (для comment/unknown-name) |
--as-ci [AS_CI] |
судить тем же набором правил, что и задача CI проекта: ключи --select/--ignore/--enable и список принятых замечаний берутся из команды xbsl в файле конвейера (файл можно назвать явно); файла конвейера нет – остаётся набор настроек, причина пишется в stderr |
--as-ci-job AS_CI_JOB |
какую задачу файла CI брать (включает --as-ci); имя можно назвать частью |
--baseline BASELINE |
файл принятых замечаний (абсолютный или относительно рабочей папки) – перечисленные там находки гасятся; отсутствующий файл не ошибка, он появится с первым исключением |
--templates TEMPLATES |
файл шаблонов кода (абсолютный или относительно рабочей папки) – дополняет встроенный набор, одноимённые шаблоны замещает |
--data-dir DATA_DIR |
корень данных Элемента (папка с index.json) |
--lang {ru,en} |
язык текста замечаний |
xbsl mcp
MCP-сервер xbsl (stdio): линт, документация Элемента и создание метаданных как инструменты агента.
usage: xbsl mcp [-h]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
Флагов нет: сервер запускается без параметров и общается по stdio. Язык замечаний – переменная XBSL_LANG (иначе локаль системы, иначе ru). xbsl-mcp запускает этот сервер за супервизором, и сессия переживает обновление движка. Регистрация в Claude Code: claude mcp add xbsl – xbsl-mcp
xbsl web
Веб-интерфейс линтера XBSL
usage: xbsl-web [-h] [--host HOST] [--port PORT]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--host HOST |
адрес (по умолчанию 127.0.0.1) |
--port PORT |
порт (по умолчанию 8771) |
xbsl templates
шаблоны кода: встроенный набор и файл пользователя (формат выгрузки EDT)
usage: xbsl templates [-h] {list,export,import,save} ...
Аргументы
| Параметр | Описание |
|---|---|
list |
перечислить шаблоны (встроенные и пользовательские) |
export |
выгрузить шаблоны в файл формата EDT |
import |
влить выгрузку в файл шаблонов пользователя |
save |
заменить файл шаблонов пользователя (конверт JSON из stdin) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
xbsl templates list
usage: xbsl templates list [-h] [--format {text,json}] [--file FILE]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--format {text,json} |
формат вывода: text (по умолчанию) или json |
--file FILE |
файл шаблонов пользователя (по умолчанию .xbsl-templates.json); дополняет встроенный набор, одноимённые шаблоны замещает |
xbsl templates export
usage: xbsl templates export [-h] --output OUTPUT [--custom-only] [--file FILE]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--output OUTPUT |
куда писать выгрузку |
--custom-only |
только шаблоны пользователя, без встроенных |
--file FILE |
файл шаблонов пользователя (по умолчанию .xbsl-templates.json); дополняет встроенный набор, одноимённые шаблоны замещает |
xbsl templates import
usage: xbsl templates import [-h] [--file FILE] source
Аргументы
| Параметр | Описание |
|---|---|
source |
выгрузка (наша или из 1С:EDT) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--file FILE |
файл шаблонов пользователя (по умолчанию .xbsl-templates.json); дополняет встроенный набор, одноимённые шаблоны замещает |
xbsl templates save
usage: xbsl templates save [-h] [--file FILE]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--file FILE |
файл шаблонов пользователя (по умолчанию .xbsl-templates.json); дополняет встроенный набор, одноимённые шаблоны замещает |
xbsl baseline
Список принятых замечаний: точечные правки файла.
usage: xbsl baseline [-h] {add} ...
Аргументы
| Параметр | Описание |
|---|---|
add |
дописать в список принятых новые находки одного правила по указанным путям: порядок и чужие причины не трогаются, повторный вызов ничего не меняет |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
xbsl baseline add
usage: xbsl baseline add [-h] --rule ID/ГРУППА/ТИР [--reason REASON] [--baseline ФАЙЛ]
[--format {text,json}] [--jobs N] [--lang {ru,en}]
[--element-version ВЕРСИЯ] [--data-dir КАТАЛОГ]
paths [paths ...]
Аргументы
| Параметр | Описание |
|---|---|
paths |
файлы или каталоги, находки которых заморозить |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--rule ID/ГРУППА/ТИР |
правило (группа или уровень – как в --select), находки которого дописать; можно повторять |
--reason REASON |
причина исключения: пишется в новые записи и в записи без причины, записанные причины не заменяются |
--baseline ФАЙЛ |
файл принятых замечаний; без флага ищется .xbsllint-baseline над проверяемыми путями |
--format {text,json} |
формат вывода: text – список добавленного, json – {baseline, added, findings, written} |
--jobs N |
процессов для файловых правил: 0 – авто (включается на больших проверках), 1 – последовательно, N – явное число процессов |
--lang {ru,en} |
язык вывода линтера (по умолчанию: env XBSL_LANG / локаль системы / ru) |
--element-version ВЕРСИЯ |
версия данных Элемента (по умолчанию – env XBSL_ELEMENT_VERSION, а без него – default в index.json корня данных) |
--data-dir КАТАЛОГ |
корень данных Элемента (каталог с index.json); также env XBSL_DATA_DIR |
xbsl self-update
обновить xbsl распаковкой колеса с PyPI
usage: xbsl self-update [-h] [--version VERSION] [--stop-holders [{servers,all}]]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--version VERSION |
целевая версия (по умолчанию – последняя с PyPI) |
--stop-holders [{servers,all}] |
снять серверы, держащие установку (LSP-сервер редактора, MCP-сессии), и обновиться. Идущие команды xbsl других сессий называются по pid и не трогаются; со значением all снимаются и они, и такая команда обрывается без результата. Без флага держатели только называются |
xbsl mcp-log
журнал MCP-сервера: когда серверы запускались, как завершились и кто их остановил
usage: xbsl mcp-log [-h] [--last LAST] [--json]
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--last LAST |
сколько последних событий показать (по умолчанию 20; 0 – все) |
--json |
события в JSON, по объекту на строку журнала |
xbsl fold-comments
свернуть комментарии yaml в описание узла, которое читает среда разработки: по умолчанию только показать план
usage: xbsl fold-comments [-h] [--write] [--all] [--format {text,json}] [--compact]
paths [paths ...]
Аргументы
| Параметр | Описание |
|---|---|
paths |
файлы и каталоги с описаниями элементов |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--write |
записать свернутые файлы; файл, не прошедший проверку, не пишется |
--all |
применить и предложенные переносы - те, что можно прочитать двояко |
--format {text,json} |
формат вывода: text - план и разница, json - для агентов |
--compact |
кратко: переносы по файлам и спорные переносы вместо каждого переноса и разницы (с --format json - краткий отчет, как у meta_fold_comments с compact) |
Создание метаданных
Команды создают и правят исходники: объекты, поля, маршруты, методы, формы, подсистемы. Каждая печатает результат в JSON и проверяет линтером то, что записала; --dry-run считает изменения, не трогая файлы.
xbsl new-project
создать проект: Проект.yaml + Проект.xbsl + подсистема; см. также add-subsystem и new-object – чем наполняется новый проект
usage: xbsl new-project [-h] [--representation REPRESENTATION] [--version VERSION]
[--compatibility COMPATIBILITY] [--subsystem SUBSYSTEM] [--library]
[--dry-run]
root vendor name
Аргументы
| Параметр | Описание |
|---|---|
root |
каталог, в котором появится пара поставщик/имя (обычно .) |
vendor |
поставщик – первая часть пространства имён проекта |
name |
имя проекта; так же называется его каталог |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--representation REPRESENTATION |
представление проекта в интерфейсе (по умолчанию – имя) |
--version VERSION |
версия проекта, три числа (по умолчанию 1.0.0) |
--compatibility COMPATIBILITY |
версия платформы, с которой совместим проект (по умолчанию 9.0) |
--subsystem SUBSYSTEM |
имя первой подсистемы (по умолчанию Основное) |
--library |
создать библиотеку (ВидПроекта: Библиотека), а не приложение |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl new-object
создать объект конфигурации (yaml + модуль по виду); см. также add-field – его реквизиты, add-form – его формы
usage: xbsl new-object [-h] [--scope SCOPE] [--environment ENVIRONMENT] [--access ACCESS]
[--routes ROUTES] [--report REPORT] [--presentation PRESENTATION]
[--object-presentation OBJECT_PRESENTATION]
[--record-presentation RECORD_PRESENTATION] [--periodicity PERIODICITY]
[--base BASE] [--dry-run]
directory kind name
Аргументы
| Параметр | Описание |
|---|---|
directory |
каталог подсистемы, в котором создать объект |
kind |
вид объекта на языке проекта: Справочник, Документ, ВиртуальнаяТаблица, …; неизвестный вид перечислит доступные |
name |
имя объекта |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--scope SCOPE |
область видимости; по умолчанию платформенная ВПодсистеме |
--environment ENVIRONMENT |
окружение – для ОбщийМодуль и Структура |
--access ACCESS |
способ доступа, русским или английским именем (РазрешеноВсем или PermitEveryone): у HttpСервис пишется в Разрешения.Вызов, у объектов данных – в Разрешения.ПоУмолчанию (отдельные права ставит set-access) |
--routes ROUTES |
маршруты HttpСервис: “GET /, POST /, GET /{id}” |
--report REPORT |
описание отчёта (JSON: source, rows, columns, measures) |
--presentation PRESENTATION |
заголовок элемента: пишется туда, где его держит вид – в Представление или, у справочника, документа, регистра, набора констант и обработки, в раздел Интерфейс; у справочника, документа, регистра и периодического набора констант это заголовок списка, а заголовок объекта задает --object-presentation, заголовок записи регистра сведений и периодического набора – --record-presentation (без заголовка первый же линт дает naming/presentation) |
--object-presentation OBJECT_PRESENTATION |
заголовок объекта в единственном числе: пишется в Интерфейс.Объект.Представление справочника, документа, плана обмена и хранилища настроек, другой вид его не принимает; вместе с --presentation новый объект проходит naming/presentation |
--record-presentation RECORD_PRESENTATION |
заголовок записи в единственном числе: пишется в Интерфейс.Запись.Представление регистра сведений и периодического набора констант, другой вид его не принимает (у непериодического набора заголовок записи пишет --presentation); вместе с --presentation новый регистр или набор проходит naming/presentation |
--periodicity PERIODICITY |
периодичность набора констант: День, Месяц, Квартал или Год (Непериодический – значение по умолчанию); у периодического набора есть список, поэтому --presentation пишет заголовок списка, а --record-presentation – заголовок записи; другой вид параметр не принимает |
--base BASE |
базовый тип компонента интерфейса (Группа, ФормаОбъекта<Товар.Объект>); только для вида КомпонентИнтерфейса |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl add-field
добавить элемент в секцию объекта: реквизит, измерение, табличную часть и другие (виды перечислены у field_kind); см. также set-field-property – свойства уже существующего элемента, set-localization – тексты строки ЛокализованныеСтроки по языкам
usage: xbsl add-field [-h] [--type TYPE] [--tabular TABULAR] [--prop КЛЮЧ=ЗНАЧЕНИЕ] [--doc DOC]
[--dry-run]
yaml_path field_kind name
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml объекта, в который добавить поле |
field_kind |
реквизит (attribute), измерение (dimension), ресурс (resource), значение (value), параметр (parameter), поле (field), константа (constant), свойство (property), событие (event), операция (operation), индекс (index), параметр-запроса (query-parameter), табличная-часть (tabular-part), строка (string), шаблон (template) |
name |
имя поля |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--type TYPE |
тип поля (по умолчанию Строка, у события компонента СобытиеКомпонента; у стандартного реквизита – тип его класса); у вида строка или шаблон – текст на языке по умолчанию, без него текстом становится сам ключ |
--tabular TABULAR |
имя табличной части (реквизит добавляется в неё) |
--prop КЛЮЧ=ЗНАЧЕНИЕ |
свойство элемента (можно повторять): ЗначениеПоУмолчанию=https://example.com, Представление=Адрес сервиса; вложенный блок – ключом через точку: Автонумерация.Префикс=ЗА |
--doc DOC |
описание поля – документирующий комментарий: строки ## в начале элемента, которые среда разработки показывает и сохраняет |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl add-route
добавить маршруты в существующий HttpСервис; см. также new-object --routes – маршруты сразу при создании сервиса
usage: xbsl add-route [-h] [--dry-run] yaml_path routes
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml HttpСервис, в который добавить маршруты |
routes |
маршруты через запятую: “DELETE /{id}, GET /health” |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl add-method
добавить метод в модуль .xbsl, не разрывая аннотации; см. также form-handlers – заготовка обработчика события компонента
usage: xbsl add-method [-h] [--params PARAMS] [--returns RETURNS] [--annotations ANNOTATIONS]
[--after AFTER] [--before BEFORE] [--body BODY] [--dry-run]
module_path name
Аргументы
| Параметр | Описание |
|---|---|
module_path |
модуль .xbsl, в который добавить метод |
name |
имя метода |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--params PARAMS |
список параметров как в сигнатуре |
--returns RETURNS |
тип возвращаемого значения |
--annotations ANNOTATIONS |
аннотации через пробел, например ‘НаСервере ВПроекте’ |
--after AFTER |
вставить после этого метода |
--before BEFORE |
вставить перед этим методом |
--body BODY |
одна строка тела вместо заготовки // TODO |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl add-form
создать формы объекта и зарегистрировать в Интерфейс; см. также form-tree – дерево созданной формы, form-handlers – её обработчики
usage: xbsl add-form [-h] [--name NAME] [--path PATH] [--forms FORMS]
[--card-min-width CARD_MIN_WIDTH] [--card-placeholder CARD_PLACEHOLDER]
[--overwrite] [--dry-run]
root
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--name NAME |
имя объекта, для которого создать формы |
--path PATH |
yaml объекта (вместо --name) |
--forms FORMS |
подмножество object,list,list-cards,report,processing через запятую (list-cards – список карточками, вместо list; processing – форма обработки) |
--card-min-width CARD_MIN_WIDTH |
ширина колонки сетки карточек (по умолчанию 400, с фото – 250) |
--card-placeholder CARD_PLACEHOLDER |
выражение картинки-заглушки, напр. “Ресурс{Аккаунт.svg}.Ссылка” |
--overwrite |
перезаписать формы, если они уже созданы |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl add-subsystem
создать подсистему (папка + Подсистема.yaml); см. также new-object – объект создаётся в каталоге подсистемы
usage: xbsl add-subsystem [-h] [--representation REPRESENTATION] [--no-auto-interface]
[--uses USES] [--dry-run]
parent_dir name
Аргументы
| Параметр | Описание |
|---|---|
parent_dir |
каталог, внутри которого создать подсистему |
name |
имя подсистемы |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--representation REPRESENTATION |
представление подсистемы в интерфейсе |
--no-auto-interface |
не включать подсистему в автоинтерфейс |
--uses USES |
имена подсистем через запятую |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl add-dependency
подключить библиотеку к проекту (секция Библиотеки Проект.yaml); см. также project-info – какие библиотеки уже подключены
usage: xbsl add-dependency [-h] [--path PATH] [--dry-run] root vendor name version
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
vendor |
поставщик библиотеки |
name |
имя библиотеки |
version |
версия релиза библиотеки, например 2.0 |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--path PATH |
Проект.yaml (при нескольких проектах под корнем) |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl add-localization
добавить файл перевода (секция Локализация) в элемент ЛокализованныеСтроки; см. также set-localization – текст строки сразу во всех языках
usage: xbsl add-localization [-h] [--dry-run] yaml_path language
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml элемента ЛокализованныеСтроки |
language |
язык перевода: название на любом языке проекта (Вьетнамский, Vietnamese) или код папки (Vi); языки и нужный им режим совместимости берутся из данных платформы |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl set-localization
записать строку локализации во все языки сразу: в элемент и в его переводы; см. также add-localization – добавить язык, add-field – завести саму строку
usage: xbsl set-localization [-h] [--value ЯЗЫК=ТЕКСТ] [--section SECTION] [--entries-file ФАЙЛ]
[--entry КЛЮЧ=JSON] [--full-text] [--dry-run]
yaml_path [name]
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml элемента ЛокализованныеСтроки |
name |
ключ строки локализации (одно слово) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--value ЯЗЫК=ТЕКСТ |
текст на языке: --value Русский=Текст --value En=Text (можно несколько раз) |
--section SECTION |
секция: Строки или Шаблоны (по умолчанию – та, где ключ уже есть, иначе Строки) |
--entries-file ФАЙЛ |
пакет ключей из файла JSON или YAML: {Ключ: {Язык: Текст}}; сочетается с name и с --entry |
--entry КЛЮЧ=JSON |
ещё один ключ пакета: --entry Заголовок={“Русский”:“Текст”} (можно несколько раз, сочетается с name и с --entries-file) |
--full-text |
с --dry-run: добавить полный текст изменённых файлов к сводке по ключам |
--dry-run |
показать сводку по ключам (язык, файл, прежнее и новое значение), ничего не записывая; --full-text добавляет и полный текст файлов |
xbsl set-field-property
задать свойства существующего элемента секции (константы, реквизита, свойства или события компонента …); см. также add-field – добавить элемент, rename-object – переименование
usage: xbsl set-field-property [-h] --prop КЛЮЧ=ЗНАЧЕНИЕ [--tabular TABULAR] [--dry-run]
yaml_path field_kind name
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml объекта, элементу которого задаются свойства |
field_kind |
реквизит (attribute), измерение (dimension), ресурс (resource), значение (value), параметр (parameter), поле (field), константа (constant), свойство (property), событие (event), операция (operation), индекс (index), параметр-запроса (query-parameter), табличная-часть (tabular-part) |
name |
имя элемента в секции |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--prop КЛЮЧ=ЗНАЧЕНИЕ |
свойство элемента (можно повторять): ЗначениеПоУмолчанию=https://example.com, Представление=Адрес сервиса; вложенный блок – ключом через точку: Автонумерация.Префикс=ЗА |
--tabular TABULAR |
имя табличной части, в которой лежит реквизит |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl rename-object
переименовать объект (файлы, формы) и обновить ссылки по всему проекту; см. также delete-object – удалить объект целиком
usage: xbsl rename-object [-h] [--new-presentation NEW_PRESENTATION]
[--old-presentation OLD_PRESENTATION] [--path PATH] [--dry-run]
root old_name new_name
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
old_name |
текущее имя объекта |
new_name |
новое имя – переименуются и файлы, и ссылки по проекту |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--new-presentation NEW_PRESENTATION |
новое Представление/Заголовок (по умолчанию – новое имя) |
--old-presentation OLD_PRESENTATION |
старое представление (для замены в Заголовок/Представление) |
--path PATH |
yaml объекта (при нескольких объектах с одним именем) |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl delete-object
удалить объект целиком (пара yaml+xbsl, формы, строка списка) и перечислить оставшиеся упоминания; без --apply – только план; см. также rename-object – переименовать вместо удаления
usage: xbsl delete-object [-h] [--name NAME] [--path PATH] [--apply] [--dry-run] root
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--name NAME |
имя объекта в проекте |
--path PATH |
yaml объекта (вместо --name) |
--apply |
выполнить удаление (без флага печатается план: удаление необратимо) |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl move-object
перенести объект в другой каталог проекта – пакет подсистемы (новый каталог становится пакетом), её корень или другую подсистему; дописывает импорт нового пространства имён туда, где он теперь нужен, и переписывает полные имена; см. также rename-package – переименовать пакет
usage: xbsl move-object [-h] [--dry-run] root yaml_path target_dir
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
yaml_path |
yaml переносимого объекта; формы, модули и строка списка переносятся вместе с ним |
target_dir |
каталог назначения – каталог подсистемы или пакета (несуществующий создаётся) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl rename-package
переименовать пакет подсистемы: каталог со всеми файлами и имена Подсистема::Пакет в импортах и полных именах по проекту; см. также move-object – перенести объект в пакет
usage: xbsl rename-package [-h] [--dry-run] root package_dir new_name
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
package_dir |
каталог пакета (внутри каталога подсистемы) |
new_name |
новое имя пакета – идентификатор |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl move-resource
перенести файл ресурса или папку в другую папку того же каталога Ресурсы (несуществующая папка создаётся): ключи Ресурс{…} и значения свойств-картинок, которые указывают на перенесённые файлы, переписываются, обращения по строке перечисляются в заметках; см. также rename-resource-folder – переименовать папку
usage: xbsl move-resource [-h] [--dry-run] root resource_path target_dir
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
resource_path |
файл ресурса или папка внутри каталога Ресурсы подсистемы или пакета |
target_dir |
папка назначения в том же каталоге Ресурсы или сам этот каталог |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl rename-resource-folder
переименовать папку внутри каталога Ресурсы: файлы переносятся, ключи Ресурс{…}, которые на них указывают, переписываются по проекту, обращения по строке перечисляются в заметках; см. также move-resource – перенести ресурс в папку, delete-resource-folder – удалить папку
usage: xbsl rename-resource-folder [-h] [--dry-run] root folder_dir new_name
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
folder_dir |
папка внутри каталога Ресурсы подсистемы или пакета |
new_name |
новое имя папки – оно становится частью ключа ресурса |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl delete-resource-folder
удалить папку внутри каталога Ресурсы со всеми файлами и перечислить ключи Ресурс{…} и обращения по строке, которые на них указывают; без --apply – только план; см. также rename-resource-folder – переименовать вместо удаления
usage: xbsl delete-resource-folder [-h] [--apply] [--dry-run] root folder_dir
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
folder_dir |
папка внутри каталога Ресурсы подсистемы или пакета |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--apply |
выполнить удаление (без флага печатается план: удаление необратимо) |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl set-access
задать КонтрольДоступа.Разрешения объекта; см. также object-info – текущие права и их набор у этого вида
usage: xbsl set-access [-h] [--name NAME] [--path PATH] [--default DEFAULT]
[--permission ПРАВО=СПОСОБ] [--calc-by CALC_BY] [--dry-run]
root
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--name NAME |
имя объекта в проекте |
--path PATH |
yaml объекта (вместо --name) |
--default DEFAULT |
способ для права ПоУмолчанию, русским или английским именем (РазрешеноВсем или PermitEveryone) |
--permission ПРАВО=СПОСОБ |
способ отдельного права (повторяемый), напр. Чтение=РазрешеноВсем или Read=PermitEveryone |
--calc-by CALC_BY |
поля РасчетРазрешенийПо через запятую (обязательны для РазрешенияВычисляютсяДляКаждогоОбъекта) |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl object-info
сводка объекта: реквизиты, ТЧ, формы, namespace
usage: xbsl object-info [-h] [--name NAME] [--path PATH] root
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--name NAME |
имя объекта в проекте |
--path PATH |
yaml объекта (вместо --name) |
xbsl project-info
обзор исходников: проекты, подсистемы, объекты
usage: xbsl project-info [-h] [--kind KIND] [--subsystem SUBSYSTEM] [--package PACKAGE]
[--project PROJECT] [--brief] [--reference]
root
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--kind KIND |
только объекты этого вида |
--subsystem SUBSYSTEM |
только объекты этой подсистемы (с её пакетами) |
--package PACKAGE |
только объекты этого пакета: путь под подсистемой или Подсистема::Пакет; вложенный пакет входит в тот, где лежит |
--project PROJECT |
обходить только проекты с этим именем (Имя или Поставщик::Имя) либо проект в этом каталоге – корень репозитория держит не один проект |
--brief |
без перечней объектов и пакетов: счётчики по видам и справочные разделы |
--reference |
добавить справочные разделы (виды объектов, виды секций, методы доступа) – около 4 КБ, от исходников не зависят |
xbsl resource-references
найти места, которые называют файл ресурса или папку: ключи Ресурс{…}, значения свойств-картинок и обращения по строке; ответ – JSON с файлом, диапазоном и текстом строки каждого места; см. также move-resource – перенести ресурс с правкой ключей
usage: xbsl resource-references [-h] [--limit LIMIT] root resource_path
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
resource_path |
файл ресурса или папка внутри каталога Ресурсы подсистемы или пакета |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--limit LIMIT |
не более N мест в списке references; total считает все места, а hasMore: true и строка в stderr говорят, что список обрезан (по умолчанию 100, как у meta_resource_references) |
xbsl unused-resources
найти файлы в каталогах Ресурсы, до которых не дошли статические ссылки, ограниченные вычисляемые пути и ссылки из достигнутых JSON/CSS/HTML/SVG/JS; результат – кандидаты для проверки, команда ничего не удаляет
usage: xbsl unused-resources [-h] [--include-protected] [--limit LIMIT] root
Аргументы
| Параметр | Описание |
|---|---|
root |
корень проекта – каталог с Проект.yaml (обычно .) |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--include-protected |
включить отдельно файлы, защищенные вычисляемыми и неопределенными путями |
--limit LIMIT |
не более N записей в каждом возвращаемом списке; итоги всегда полные (по умолчанию 100) |
xbsl localization-info
языки и переводы элемента ЛокализованныеСтроки (кандидаты для add-localization; тексты пишет set-localization)
usage: xbsl localization-info [-h] yaml_path
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml элемента ЛокализованныеСтроки |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
xbsl form-tree
дерево компонента интерфейса (узлы, слоты, свойства со спанами); см. также form-edit – правки узлов по их ид, form-handlers – их обработчики
usage: xbsl form-tree [-h] [--at СМЕЩЕНИЕ] [--node УЗЕЛ] [--name ИМЯ] [--max-depth УРОВНЕЙ]
[--no-properties] [--brief]
yaml_path
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml формы |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--at СМЕЩЕНИЕ |
вместо дерева вернуть узел по смещению в файле (синхронизация курсора) |
--node УЗЕЛ |
поддерево этого узла вместо всей формы (путь из дерева или Имя компонента, единственное в форме) |
--name ИМЯ |
поддерево компонента с этим Имя; несколько совпадений приходят в “roots” |
--max-depth УРОВНЕЙ |
сколько уровней раскрывать (0 – без предела); у обрезанного узла появляется childrenOmitted |
--no-properties |
без записей свойств – только имена и идентификаторы плюс propertyCount |
--brief |
скелет дерева: идентификатор, вид, тип, имя и слот узла – без спанов и свойств |
xbsl form-edit
операция конструктора форм: точечная правка yaml компонента интерфейса. Узел задаётся путём из дерева или Имя компонента, если оно в форме одно; см. также form-tree – пути узлов, которыми адресуются правки
usage: xbsl form-edit [-h] [--parent PARENT] [--slot SLOT] [--type TYPE] [--name NAME]
[--node NODE] [--nodes ID[,ID...]] [--new-parent NEW_PARENT]
[--container CONTAINER] [--new-name NEW_NAME] [--before BEFORE]
[--after AFTER] [--key KEY] [--value VALUE] [--value-yaml VALUE_YAML]
[--fragment FRAGMENT] [--fragment-file ФАЙЛ] [--new-type NEW_TYPE]
[--dry-run]
yaml_path операция
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml формы |
операция |
insert, insert-fragment, move, move-nodes, remove, remove-nodes, wrap, unwrap, duplicate, rename, set-property, reset-property, property-add, property-retype, property-remove, property-rename |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--parent PARENT |
узел-контейнер: путь или Имя компонента (insert/insert-fragment) |
--slot SLOT |
слот детей: Содержимое, Страницы, Колонки, … (insert/move) |
--type TYPE |
Тип нового компонента (insert) или свойства (property-add) |
--name NAME |
Имя нового компонента (insert), обёртки (wrap) или свойства секции Свойства (property-*) |
--node NODE |
узел операции: путь или Имя компонента, единственное в форме (move/remove/wrap/unwrap/duplicate/rename/set-property/reset-property) |
--nodes ID[,ID...] |
узлы пачковой операции (move-nodes/remove-nodes): пути или имена компонентов через запятую или повтором флага; порядок не важен |
--new-parent NEW_PARENT |
новый контейнер: путь или Имя компонента (move/move-nodes) |
--container CONTAINER |
Тип контейнера-обёртки (wrap) |
--new-name NEW_NAME |
новое Имя узла (rename) или свойства (property-rename); для rename без флага Имя удаляется |
--before BEFORE |
сосед (путь или Имя): вставить/переместить ПЕРЕД ним |
--after AFTER |
сосед (путь или Имя): вставить/переместить ПОСЛЕ него |
--key KEY |
имя свойства узла (set-property/reset-property) |
--value VALUE |
скалярное значение или биндинг (set-property) |
--value-yaml VALUE_YAML |
составное значение готовым yaml-фрагментом (set-property) |
--fragment FRAGMENT |
yaml-блок компонента или нескольких – список “-” или блоки подряд (insert-fragment) |
--fragment-file ФАЙЛ |
файл с yaml-блоком компонента (insert-fragment, вместо --fragment) |
--new-type NEW_TYPE |
новый Тип свойства (property-retype) |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |
xbsl form-handlers
обработчики парного модуля компонента: список методов или заготовка обработчика; см. также form-tree – ид узлов, add-method – метод вне события
usage: xbsl form-handlers [-h] [--node NODE] [--key KEY] [--method METHOD] [--signature SIGNATURE]
[--dry-run]
yaml_path
Аргументы
| Параметр | Описание |
|---|---|
yaml_path |
yaml формы |
Параметры
| Параметр | Описание |
|---|---|
-h, --help |
показать эту справку и выйти |
--node NODE |
узел: путь или Имя компонента (создание обработчика; без --node/--key – список методов модуля) |
--key KEY |
ключ события узла: ПриНажатии, ПослеСоздания, … |
--method METHOD |
имя метода-обработчика (по умолчанию <Имя узла><Ключ>; существующий метод – только привязка в yaml) |
--signature SIGNATURE |
сигнатура события из ui-схемы, напр. “(Кнопка, СобытиеПриНажатии)->ничто” (без флага ищется в локальных данных) |
--dry-run |
показать изменения (с текстами файлов), ничего не записывая |