Сравнение инструментов Docs as Code
Документация как код — это не просто модный термин. Это смена парадигмы: документация живет рядом с кодом, обновляется в том же пайплайне, проходит ревью в pull request и деплоится автоматически. Если вы слышали про Everything as Code — Docs as Code это его конкретная реализация для технических писателей и разработчиков.
В этой статье мы разберем четыре инструмента — Gramax, Docusaurus, MkDocs и GitBook по трем критериям, которые реально влияют на жизнь команды: гибкость, скорость настройки и удобство работы.
Что такое Docs as Code и зачем это вообще нужно
Классическая документация живет в Confluence, Notion или Word. Редактируют ее вручную, версионирование — в лучшем случае история правок. Когда разработчик меняет поведение API, документация обновляется позже, если вообще обновляется.
Docs as Code решает эту проблему структурно:
Документация хранится в Git вместе с кодом (или в отдельном репозитории, но по тем же правилам).
Изменения проходят через pull request — можно делать ревью, оставлять комментарии, требовать апрув.
CI/CD автоматически публикует обновления при мерже.
Контент в Markdown или MDX — читается без инструментов, диффится как код.
Это часть более широкого тренда Everything as Code, где инфраструктура, конфигурация, политики безопасности и теперь документация управляются одними и теми же инструментами — Git, YAML, CI/CD пайплайны.
Инструменты Docs as Code: кто есть кто
Прежде чем сравнивать, давайте зафиксируем, о чем вообще речь.
Docusaurus — опенсорсный генератор статических сайтов от Meta. Построен на React, поддерживает MDX (Markdown + JSX), имеет огромную экосистему плагинов.
MkDocs — Python-инструмент с простым YAML-конфигом. Легкий, быстрый, с популярной темой Material for MkDocs. Хорош для небольших и средних проектов.
GitBook — облачная платформа с Git-синхронизацией. Есть визуальный редактор, красивый дефолтный дизайн. Платный для большинства сценариев.
Gramax — российский инструмент для Docs as Code, ориентированный на корпоративные команды. Работает только локально. Имеет WYSIWYG-редактор поверх Git + Markdown, что делает его доступным не только для разработчиков.
Гибкость: насколько инструмент подстраивается под вас, а не вы под него
Docusaurus
Очень гибкий — если вы готовы писать на React. MDX позволяет встраивать интерактивные элементы прямо в документацию — диаграммы, live-примеры кода, кастомные блоки.
Обратная сторона: гибкость требует ресурсов. Чтобы добавить нестандартный блок или поменять структуру навигации, нужен фронтенд-разработчик или технический писатель с навыками React.
MkDocs
Гибкость ограничена Python-экосистемой и плагинами. Тема Material for MkDocs покрывает большинство потребностей из коробки — адаптивность, поиск, темная тема, мультиязычность. Но если нужно что-то нестандартное, придется писать собственный плагин или шаблон на Jinja2.
GitBook
Гибкость сознательно ограничена: платформа делает ставку на консистентный внешний вид. Кастомизация — в основном цвета, логотип и домен. Если нужна нестандартная структура страниц или кастомные компоненты — GitBook не для вас.
Gramax
Gramax дает гибкость там, где она нужна большинству команд, без необходимости лезть в код для стандартных сценариев. Структура документации, навигация, версионирование разделов — все настраивается через интерфейс. Стили, лого, шрифты — через CSS.
Скорость настройки: от нуля до работающей документации
Docusaurus
npx create-docusaurus@latest my-website classic cd my-website npm start
Три команды — и у вас есть работающий сайт. Это быстро. Но дальше начинается. Настройка навигации в docusaurus.config.js не очевидна. Sidebars.js требует понимания структуры. Деплой в CI нужно настраивать вручную. Если документация большая — работы на неделю-две.
MkDocs
pip install mkdocs-material mkdocs new my-project mkdocs serve
Еще быстрее для простых случаев: mkdocs.yml читается как человеческий текст. Структура навигации прозрачна. Для стандартного сценария — все настраивается за несколько часов.
Проблема возникает при масштабировании: мультиверсионность, сложные ролевые доступы — это уже требует заметных усилий.
GitBook
Самый быстрый старт — создал аккаунт, подключил репозиторий, нажал синхронизировать. Для команды без DevOps-экспертизы это критически важно: ничего не надо деплоить, сертификаты настраиваются автоматически, CDN включен. Цена быстроты — зависимость от вендора и платная подписка для большинства реальных кейсов.
Gramax
Gramax сделал ставку именно на скорость онбординга — причем не только технической части, но и для нетехнических авторов. Чтобы начать писать — один клик на сайте. Репозиторий подключается через интерфейс, без ручного редактирования конфига. Опубликовать в облако Gramax — за несколько кликов. На свой сервер или хостинг — за пару часов с помощью CLI или Docker.
Важный момент: в Gramax не нужно объяснять технической команде, как работает Git, чтобы технические писатели могли делать коммиты. WYSIWYG-редактор скрывает Git-операции за привычным интерфейсом — кнопка «Опубликовать» делает коммит и пуш.
Удобство работы: ежедневный опыт авторов
Это, пожалуй, самый важный критерий — потому что документацию пишут каждый день. И именно здесь инструменты разошлись сильнее всего.
Docusaurus
Для разработчика с настроенным VS Code и prettier — отличный опыт. Пишешь в редакторе, видишь превью в браузере, коммитишь, CI деплоит.
Для технического писателя без опыта Git — это квест. Создать файл в правильной директории, добавить frontmatter с правильными полями, добавить в sidebar, сделать коммит с правильным именем ветки — каждый шаг требует понимания контекста. Ошибка в YAML ломает сборку.
MkDocs
Чуть лучше — структура проще, конфиг понятнее. Но базовый опыт такой же: текстовый редактор + Git. Для опытных технических писателей, которые дружат с Markdown и консолью — вполне комфортно. Для остальных — порог входа есть.
GitBook
Максимально прост и доступен для всех. Редактор — Notion-подобный блоковый интерфейс с drag-and-drop. Версионирование скрыто под понятными концепциями «черновик» и «опубликованная версия». Ограничение — в коллаборации. Для большой команды нужен платный тариф.
Gramax
Gраmax строится на идее, что редактор документации должен работать как Notion, но под капотом хранить Git + Markdown. Авторы видят визуальный редактор — заголовки, таблицы, вставки кода с подсветкой синтаксиса .
При этом разработчики могут работать напрямую с файлами в VS Code или любом другом редакторе. Изменения из обоих источников сливаются через Git. Это редкий случай, когда инструмент одинаково хорошо работает для двух принципиально разных типов пользователей в одной команде.
Функционал для командной работы включает ревью прямо в интерфейсе, комментарии к конкретным абзацам и статусы публикации. Для технических писателей, которые привыкли согласовывать изменения в Google Docs, переход ощущается органично.
Кому что подойдет
Выбирайте Docusaurus, если у вас опенсорс-проект с активным сообществом, React-разработчики готовы поддерживать документацию.
Выбирайте MkDocs, если документация небольшая или средняя, команда технически грамотна, и вы хотите минимальный overhead при хорошем результате.
Выбирайте GitBook, если нет DevOps-ресурса, документация публичная, а команда не готова разбираться с деплоем и инфраструктурой. Готовьтесь платить и принять ограничения.
Выбирайте Gramax, если у вас большая команда, где разработчики и нетехнические авторы работают вместе. Если нужен self-hosted с контролем над данными. Если хотите Docs as Code без необходимости убеждать каждого технического писателя освоить Git.
Итог
Docs as Code — это правильный подход к документации для любой команды, где она имеет значение. Выбор инструмента зависит не от того, какой из них «лучший», а от того, кто будет с ним работать каждый день.
Инструменты для разработчиков (Docusaurus, MkDocs) дают максимум контроля, но требуют технической зрелости команды. Инструменты с редакторами (GitBook, Gramax) снижают порог входа — Gramax при этом не жертвует ни опенсорсом, ни self-hosted, ни совместимостью с Git-воркфлоу разработчиков.
Everything as Code работает только тогда, когда «все» действительно включает документацию — а не только ту ее часть, которую успевают обновлять разработчики в свободное время.