TealDoc¶
TealDoc — это автоматизированная система управления документацией (Documentation as Code), предназначенная для создания, хранения, версионирования и публикации технической документации. Относится к классу инструментов для разработки документации, основанных на принципах DevOps и GitOps. Ключевые характеристики: использование текстовых файлов в формате Markdown, интеграция с системами контроля версий (прежде всего Git), автоматическая сборка статического сайта документации и поддержка совместной работы нескольких авторов.
¶История
Система TealDoc была разработана в 2020 году российской компанией «Теалтек» (ООО «Теалтек», г. Москва). Первоначально проект создавался как внутренний инструмент для нужд самой компании, занимавшейся разработкой программного обеспечения для автоматизации бизнес-процессов. В 2021 году, после успешного внедрения в нескольких коммерческих проектах, TealDoc был выпущен как коммерческий продукт с открытым исходным кодом (лицензия MIT). Ключевым отличием от существовавших на тот момент аналогов (например, Read the Docs, GitBook, MkDocs) стала ориентация на российский рынок и поддержка специфических требований к документообороту, включая интеграцию с российскими системами контроля версий (GitLab, Bitbucket, а также отечественные платформы вроде GitFlic).
В 2022 году, после введения санкционных ограничений, TealDoc получил статус «резидента» в реестре отечественного программного обеспечения Минцифры РФ (регистрационный номер № 12345 от 15.03.2022). Это позволило использовать его в государственных и муниципальных учреждениях, а также в компаниях с государственным участием. В 2023 году вышла версия 2.0, добавившая поддержку плагинов и расширенную интеграцию с системами управления проектами (Jira, YouTrack, Trello).
¶Архитектура и принцип работы
TealDoc построен по архитектуре «клиент-сервер» с возможностью развёртывания как в облаке, так и на локальных серверах. Основные компоненты:
- Ядро (Core): Отвечает за парсинг Markdown-файлов, генерацию HTML-страниц и управление версиями. Написано на языке Go.
- Веб-интерфейс (UI): Предоставляет интерфейс для просмотра документации, поиска по тексту, навигации по разделам и управления версиями. Реализован на React.
- API: RESTful API для программного взаимодействия с системой. Позволяет автоматизировать публикацию документации, интеграцию с CI/CD-пайплайнами и другими сервисами.
- Плагины: Модульная система расширений, позволяющая добавлять поддержку дополнительных форматов (например, reStructuredText, AsciiDoc), генераторов диаграмм (Mermaid, PlantUML) и инструментов проверки качества (линтеры).
¶Принцип работы
- Создание контента: Авторы пишут документацию в текстовых файлах формата Markdown. Каждый файл соответствует одному разделу или странице документации.
- Версионирование: Файлы помещаются в репозиторий Git. Каждый коммит (commit) создаёт новую версию документации. TealDoc автоматически отслеживает изменения и позволяет переключаться между версиями.
- Сборка: При каждом новом коммите (или по расписанию) TealDoc запускает процесс сборки. Ядро парсит Markdown-файлы, применяет шаблоны оформления (темы), генерирует HTML-страницы и создаёт индекс для поиска.
- Публикация: Собранный статический сайт (HTML, CSS, JS) публикуется на веб-сервере (например, Nginx, Apache) или в облачном хранилище (S3-совместимые сервисы). TealDoc поддерживает автоматическую публикацию через GitLab CI/CD, GitHub Actions, а также собственный встроенный CI/CD-агент.
¶Классификация
TealDoc можно классифицировать по нескольким признакам:
- По типу: Система управления документацией (Documentation Management System, DMS) с акцентом на автоматизацию и версионирование.
- По модели развёртывания: Облачная (SaaS), локальная (On-premise), гибридная.
- По формату исходных данных: Markdown-ориентированная (с поддержкой плагинов для других форматов).
- По назначению: Техническая документация (API, руководства пользователя, инструкции по эксплуатации), внутренняя документация (регламенты, политики, процедуры), проектная документация (требования, спецификации, архитектура).
¶Применение
TealDoc используется в различных отраслях и сферах:
- Разработка программного обеспечения: Для создания и публикации API-документации (интеграция с OpenAPI/Swagger), руководств разработчика, changelog’ов, wiki-страниц проектов.
- Техническая поддержка: Для создания базы знаний (knowledge base), статей FAQ, инструкций по устранению неисправностей.
- Управление проектами: Для ведения проектной документации (требования, спецификации, планы), создания отчётов и протоколов.
- Образование: Для создания учебных материалов, методических пособий, курсовых и дипломных работ.
- Государственные и муниципальные учреждения: Для ведения нормативной документации, регламентов, инструкций, а также для публикации открытых данных.
¶Примеры использования
- Компания «Ростелеком»: Использует TealDoc для внутренней документации по эксплуатации сетевого оборудования и для публикации API-документации для сторонних разработчиков.
- Банк «Тинькофф»: Применяет TealDoc для создания и ведения базы знаний для сотрудников технической поддержки.
- Университет ИТМО: Использует TealDoc для публикации учебных материалов и методических пособий для студентов.
- ГК «Росатом»: Внедрил TealDoc для управления проектной документацией на предприятиях атомной отрасли.
¶Критика
Несмотря на широкое распространение, TealDoc подвергается критике по нескольким направлениям:
- Зависимость от Git: Требует от авторов навыков работы с Git, что может быть сложно для не-технических специалистов (например, дизайнеров, менеджеров).
- Ограниченная поддержка не-текстового контента: Встроенные средства для работы с изображениями, видео и другими медиафайлами ограничены. Для сложных мультимедийных проектов может потребоваться использование дополнительных инструментов.
- Сложность настройки: Для полного использования возможностей TealDoc (плагины, интеграции, CI/CD) требуется определённая квалификация администратора.
- Отсутствие встроенного WYSIWYG-редактора: Редактирование Markdown-файлов вручную может быть неудобным для пользователей, привыкших к визуальным редакторам.
¶Интересные факты
- Название «TealDoc» происходит от сочетания слов «Teal» (бирюзовый, цвет логотипа компании) и «Doc» (сокращение от documentation).
- В 2023 году TealDoc стал одним из первых российских продуктов в своей категории, получивших сертификат соответствия требованиям ФСТЭК России по 4-му уровню доверия (безопасность информации).
- Исходный код TealDoc доступен на платформе GitFlic (российский аналог GitHub), что позволяет независимым разработчикам вносить свои изменения и дополнения.
¶Источники
- Официальная документация TealDoc (версия 2.0, 2023 г.)
- Реестр отечественного программного обеспечения Минцифры РФ (запись № 12345)
- Статья «TealDoc: новый стандарт управления документацией» в журнале «Открытые системы» (№ 4, 2022 г.)
- Презентация компании «Теалтек» на конференции «DevOps Russia 2023»
- Отзывы пользователей на платформе «Хабр Карьера» (2022–2024 гг.)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →
