Skip to content

Releases: borzov/gostdocs

v1.0.0 — Первый стабильный релиз

Choose a tag to compare

@borzov borzov released this 25 Apr 06:57

Первый стабильный релиз. Скилл переработан под полноценную сборку пакета документации на информационную систему по ГОСТ — без ручной возни со скриншотами, нумерацией рисунков и подгонкой шрифтов.

Что нового

  • Шесть типов документов вместо четырёх: добавлены архитектурный документ и руководство по развёртыванию. Архитектурный документ собирает диаграммы компонентов, последовательность авторизации и потоки данных; руководство по развёртыванию даёт готовые docker compose и curl-команды с тестовыми учётными записями.
  • Многоролевые скриншоты в параллельных сессиях. Каждая роль (гость, администратор, пользователь и любые произвольные) снимается в свою папку. Авторизация по умолчанию идёт через API; если API нет — плагин откатывается на форму. После логина выполняется проверка, что роль действительно вошла, а не вернулась обратно на страницу входа.
  • Анализ интерфейса через vision-модель. Каждый PNG превращается в JSON: заголовок страницы, хлебные крошки, кнопки, фильтры, таблицы, модальные окна. По умолчанию работает Claude, опционально подключается gpt-4o от OpenAI. Если на скриншоте авторизованной роли всё равно вылезает форма логина — это попадает в отчёт как подозрительный кадр.
  • Параллельный сбор знаний о проекте. Два субагента одновременно изучают код и техническое задание; отдельный адаптер извлекает схему БД (Prisma — нативно, остальные ORM — через pg_dump --schema-only); ещё один разбирает локальный OpenAPI или Swagger. Результаты кешируются по хешу содержимого, поэтому повторные запуски не тратят токены на одну и ту же работу.
  • Автоопределение стека. PHP (Laravel, Yii2, Symfony), Python (Django, Flask, FastAPI), JVM (Spring Boot), Ruby on Rails, Go (Gin, Echo, Fiber), .NET (ASP.NET Core), Elixir (Phoenix), Node.js (Express, Fastify, NestJS), фронтенд (Next.js, Nuxt, SvelteKit, Remix, Astro, Angular, Vue, React) — в том числе в монорепах с раздельными backend/ и frontend/.
  • Mermaid-диаграммы. Архитектурная схема компонентов, последовательность авторизации, поток данных. Если mmdc не установлен или рендер упал — диаграмма попадает в документ текстовым блоком, а в отчёт пишется предупреждение.
  • Многоязычный вывод. Русский и английский, общий глоссарий, рендер DOCX отдельно на каждый язык — без двойного прогона всей пайплайны.
  • Пользовательские сценарии. Отдельный файл journeys.yaml со сквозными бизнес-процессами; в документ они попадают как "Шаг 1, Шаг 2, …" с привязанными скриншотами.
  • Структурированный документ-модель. Раздел документа описывается JSON-структурой, рисунки и таблицы нумеруются автоматически по разделу ("Рисунок 2.3 — …"). Ручная нумерация и битые ссылки на рисунки больше невозможны.
  • Отчёт по результату. REPORT.md суммирует покрытие по ролям, группирует одинаковые скриншоты по SHA-256, ловит пустые разделы и подозрительные кадры. FINALIZATION_REPORT.md отдельно проверяет готовый DOCX на остатки шаблонных плейсхолдеров перед сдачей.
  • Два режима оформления ГОСТ. Строгий (Times New Roman 14, интервал 1.5, титульный лист) и облегчённый (Arial 12, интервал 1.15). В строгом режиме пустой обязательный раздел блокирует выпуск; в облегчённом — становится предупреждением.
  • Самодостаточный sandbox. Плагин больше не требует, чтобы пользователь сам ставил Playwright или Chromium. При первом запуске всё нужное скачивается в skills/gostdocs/node_modules/ и больше никогда не лезет в глобальное окружение.
  • Автозаполнение метаданных. Версия, организация, ответственный, год берутся из git, package.json, composer.json, pyproject.toml — пользователю остаётся ответить только на действительно недостающие вопросы.
  • Интерактивный сборщик meta.yaml. Скилл сам сканирует проект, формирует черновик конфига, задаёт точечные вопросы только по тому, что не смог определить. При повторном запуске переспрашивать не нужно.
  • Пофазный запуск. Каждую стадию (precheck, research, plan-capture, capture, ui-inspection, generation, validation, finalisation) можно перезапустить отдельно через --only, переснять только одну роль через --rerun-screenshots, или пропустить съёмку целиком через --skip-screenshots.
  • Безопасность по умолчанию. Пароли и API-ключи никогда не попадают в логи, OPENAI_API_KEY не эхо-логируется даже на ошибках провайдера, meta.yaml автоматически добавляется в .gitignore при первом сохранении.

Несовместимые изменения

  • Структура meta.yaml изменилась относительно 0.2 — роли вынесены в auth.roles, появились блоки capture, pages, vision, metadata. Старые конфиги мигрируются автоматически при первом запуске.
  • Папка скриншотов теперь разделена по ролям: docs/screenshots/<role>/<viewport>/<theme>/<locale>/.

v0.2.0 — Multi-role authentication

Choose a tag to compare

@borzov borzov released this 14 Apr 20:31

Поддержка авторизации с несколькими ролями в агенте для скриншотов.

Что нового

  • Автоматическое определение защищённых роутов: гостевой браузерный проход классифицирует каждый роут как public или auth_required
  • Скриншоты по ролям в отдельных папках: screenshots/{role}/ (guest, admin, user и т.д.)
  • Параллельные браузерные сессии через Promise.all — отдельный BrowserContext на каждую роль
  • Автообнаружение полей формы входа из DOM (логин, пароль, кнопка submit)
  • Секция auth_roles в meta.yaml — учётные данные для каждой роли с явными или авто-определёнными CSS-селекторами
  • Поле skill_version в meta.yaml — проверка совместимости версий при загрузке
  • Новый блок вопросов Q5-auth в фазе сбора параметров
  • Расширенный manifest.json: поля role и access для каждого скриншота
  • Jest-тесты — 13 юнит-тестов для функций screenshotter
  • CHANGELOG.md

Изменения

  • authenticate() теперь принимает BrowserContext вместо одной page
  • captureScreenshot() сохраняет файлы в подпапку {role}/, результат включает поля role и access
  • run() оркестрирует probe-проход и параллельные сессии по ролям
  • SKILL.md обновлён: вопросы про авторизацию, схема meta.yaml, промпт screenshotter, структура output

Безопасность

meta.yaml содержит пароли — добавьте его в .gitignore проекта. Скилл делает это автоматически при первом сохранении параметров.

v0.1.0 — Первый релиз

Choose a tag to compare

@borzov borzov released this 09 Apr 13:43

Первый релиз gen-docs — плагина для генерации документации по ГОСТ.

Что внутри

  • Генерация четырёх типов документов: руководство пользователя, администратора, оператора и техническое описание
  • Два режима ГОСТ: строгий (Times New Roman 14pt, титульный лист, полные реквизиты) и облегчённый (Arial 12pt, упрощённое оформление)
  • Автоматические скриншоты интерфейса через Playwright
  • Анализ кодовой базы и ТЗ/спецификаций через субагентов
  • Конвертация Markdown в DOCX через pandoc с корректными стилями по ГОСТ 2.105
  • Постпроцессинг DOCX: рамки таблиц, нумерация рисунков, отступы, жирные заголовки таблиц

Установка

Добавьте в ~/.claude/settings.json:

{
  "extraKnownMarketplaces": {
    "gen-docs": {
      "source": { "source": "github", "repo": "borzov/gen-docs" }
    }
  }
}

Затем: /plugin install gen-docs@gen-docs

Зависимости

brew install pandoc
npm install -g @playwright/test
npx playwright install chromium
pip3 install python-docx