Скилл Reference

Diátaxis Docs Taxonomy

Мандат на таксономию документации для всех репозиториев и сайтов под управлением Datarim: четыре ортогональные категории (tutorials, how-to, reference, explanation), закрытая таблица маппинга, список исключений, определения анти-паттернов. Загружается /dr-init, /dr-optimize, /dr-archive.

Обзор

Diátaxis Docs Taxonomy — контракт на структуру документации в экосистеме Arcanada. Каждый репозиторий и продуктовый сайт под управлением Datarim обязан организовать документацию ровно в четыре ортогональные категории: tutorials, how-to, reference и explanation. Никакие новые категории верхнего уровня не могут быть введены. Все типы контента, включая FAQ, glossary, troubleshooting, examples и overview, должны быть сопоставлены одной из четырёх канонических категорий. Мандат не зависит от выбора генератора статических сайтов.

Четыре категории

  • Tutorials — Обучающая категория для начинающих. Цель читателя: получить фундаментальные знания через пошаговое руководство. Типичный контент: руководства по началу работы, интерактивные уроки, первые приложения.
  • How-to — Задачно-ориентированная категория для практиков. Цель читателя: решить конкретную проблему или выполнить задачу. Типичный контент: руководства по развёртыванию, рецепты тестирования, инструкции по отладке.
  • Reference — Информационно-ориентированная категория для поиска. Цель читателя: найти точные параметры, сигнатуры API, ключи конфигурации. Типичный контент: API-документация, флаги командной строки, схема конфигурации.
  • Explanation — Категория для глубокого понимания. Цель читателя: понять почему что-то работает именно так. Типичный контент: архитектурные обзоры, дизайн-решения, анализ компромиссов.

Структура репозитория

<project-root>/docs/
├── tutorials/
│   └── README.md
├── how-to/
│   ├── README.md
│   ├── testing.md           (*)
│   ├── deployment.md        (*)
│   └── gotchas.md           (*)
├── reference/
│   ├── README.md
│   └── architecture.md      (*)
├── explanation/
│   └── README.md
├── ephemeral/                (рабочие материалы)
│   ├── plans/
│   ├── research/
│   └── reviews/

(*) — legacy stubs, автоматически сопоставленные из прежней плоской структуры. Идемпотентность: файл или директория создаётся только если не существует.

Таблица сопоставления

Legacy-типКатегория DiátaxisОбоснование
architecture (default)referenceИнформационно — описание структуры системы
architecture (why)explanationПонимание — дизайн-решения, компромиссы
testinghow-toРешение задач — как запускать тесты
deploymenthow-toРешение задач — как развернуть приложение
gotchashow-toРешение задач — что делать при типичных ошибках
apireferenceИнформационно — поиск документации
clireferenceИнформационно — сигнатуры команд
configreferenceИнформационно — схема конфигурации
conceptsexplanationПонимание — концептуальная база
designexplanationПонимание — обоснование дизайна
tutorialtutorialsОбучение — первый end-to-end опыт
quickstarttutorialsОбучение — минимальная настройка
faqhow-to or explanationПроцедурное в how-to; концептуальное в explanation
troubleshootinghow-toРешение проблем — что делать при сбоях
exampleshow-to or referenceПримеры с задачами в how-to; каталоги в reference
glossaryreferenceИнформационно — определения

Это закрытый набор. Никакие новые типы документации не могут быть введены как отдельные категории.

Анти-паттерны

  1. FAQ как пятая категория. FAQ — конгломерат how-to и explanation. Решение: разделить записи FAQ по категориям с перекрёстными ссылками.
  2. Examples как пятая категория. Примеры — либо how-to (задачи), либо reference (каталоги). Решение: размещать каждый пример в семантической категории.
  3. Architecture всегда reference. Контент о дизайн-решениях должен быть в explanation/. Решение: оценить намерение читателя.
  4. Index-страница как категория. docs/index.md — точка входа, не тип документации. Решение: index — навигация, не контейнер контента.
  5. Troubleshooting как отдельная категория. Решение: размещать в how-to/ с явными заголовками проблем.
  6. Межкатегорийный дрейф. Со временем контент накапливает материал других категорий. Решение: при ревью проверять каждый файл на соответствие определению категории.

Список исключений

  • Research-only репозитории (без пользовательской документации).
  • Archive-only репозитории (снэпшоты, бэкапы, история).
  • Obsidian vaults с PARA-структурой.
  • Отдельные заметки-файлы или черновики (временные, непубличные).
  • Legacy репозитории, созданные до даты утверждения мандата.
  • Временные директории (temp/*, scratch/*, test-scaffold/*).

Оператор может явно пометить репозиторий как намеренное исключение в реестре исключений.

Stack-Agnostic Boundary

Мандат НЕ ДОЛЖЕН называть конкретный SSG или CMS (Docusaurus, Mintlify, VitePress, Hugo, Sphinx). Выбор генератора документации — ответственность проекта и лежит вне рамок мандата таксономии.

Slogan Compliance

Каждый обновлённый публичный сайт экосистемы должен отображать слоган на видном месте (footer, header, splash-страница). Соответствие проверяется в /dr-publish workflow и /dr-archive surface scan.

Drift Detection

Соответствие мандату проверяется /dr-optimize Step 6 через filesystem-presence check. Обнаружение мягкое — только предупреждение, не блокировка. Жёсткий CI gate (exit code 1) отложен в INFRA-* backlog до принятия мандата как минимум тремя потребителями.