Плагин «Документация Astra DS» (plugin/README.md)

Источник: ds-skills/src/skills/astra-figma-doc-build/plugin/README.md — часть скилла astra-figma-doc-build. Код плагина (core.js, plugin.js, ui.html, build.mjs, code.ts) в вики не выложен, лежит в папке plugin/.

Тот же конвейер, что в скилле, но внутри Figma: дизайнер выделяет компонент, нажимает «Собрать документацию», и рядом появляется секция из трёх страниц. Claude для этого не нужен.

ИмяДокументация Astra DS
Типгенеративный плагин Figma (custom tool), библиотека аккаунта
idfa7aba23-ce36-437e-babd-a46001280a22
КомандаRossel (team::1564090805656460101)
Версияe79f87904efc8daed712ebd68f1a7fcd3eae89c2 от 22.10.2026

Попробовать в новом файле: https://www.figma.com/file/new?try-tool-resource-content-id=fa7aba23-ce36-437e-babd-a46001280a22&try-tool-resource-type=gen_tool&type=design&mode=design

В существующем файле — к ссылке на файл добавить те же два параметра: ?try-tool-resource-content-id=fa7aba23-ce36-437e-babd-a46001280a22&try-tool-resource-type=gen_tool.

Что умеет панель

  • показывает выделенный компонент: число вариантов, свойства, переключатели;
  • если у компонента уже есть секция документации — предупреждает, что новая встанет рядом, и открывает поля «Тип изменения» и «Что изменилось» для новой записи журнала;
  • переключатель «Аннотации в «Структуре»» — по умолчанию включён;
  • после сборки — отчёт: что собрано, что написал плагин, свойства без блока, оси без подписи, разреженные строки, что проверить, и кнопка «Показать секцию»;
  • на секцию ставится кнопка перезапуска «Пересобрать документацию компонента».

Если сборка падает, плагин возвращает набор вариантов на прежнее место и удаляет недособранную секцию.

Файлы

core.jsядро сборки — общее для плагина и для прогонов скилла через use_figma
plugin.jsобвязка: панель, выделение, отчёт
ui.htmlпанель на компонентах PropsKit (fig-*)
build.mjsсобирает code.ts = core.js + plugin.js
code.tsто, что уходит в Figma; руками не править

Как выпустить новую версию

  1. Править core.js, plugin.js или ui.html.
  2. node build.mjs — пересобрать code.ts.
  3. Проверить ядро прогоном через use_figma в песочнице aJofduPmuvIoKNoH1ikroj (набор «Tag Test»): вставить core.js и вызвать buildDocs.
  4. update_generative_plugin с code.ts и ui.html; записать новую версию сюда и в ../CHANGELOG.md.

Сборщик Figma прогоняет eslint: неиспользуемая переменная в catch должна начинаться с _, неразрывного пробела в исходнике быть не должно (NBSP = String.fromCharCode(160)), @ts-nocheck разрешён только вместе с eslint-disable @typescript-eslint/ban-ts-comment.