Дата: 2026-08-31 Статус: Устарело — заменено ADR-0009
Этот ADR сохраняется как история промежуточного решения. Три entrypoint-файла были удалены после проверки на реальных отчётах: пользователю удобнее выбирать режим в одном
main.typ.
В текущем корне служебные каталоги конкурируют с chapters/ и assets/, а main.typ смешивает демонстрационные данные, настройку и сборку. Автору после форка нужен короткий маршрут без изучения DDD-слоёв, тестов и примеров.
Одновременно должны поддерживаться три выпуска одного содержания и четыре вида документов. Обратная совместимость со старыми путями не требуется.
.template/ — сохраняет разработку и визуально отделяет её от пользовательских файлов.Выбрали один скрытый каталог .template/, общий document.typ и три корневые точки входа:
main.typ передаёт mode: "final";draft.typ передаёт mode: "draft";clean-copy.typ передаёт mode: "clean-copy".Все entrypoints импортируют render(mode:) из document.typ. Report, letter, commercial-offer и contract starters реализуют одинаковый контракт, поэтому выбор типа документа не меняет entrypoints.
В starter явно записываются все семантически важные параметры, включая осознанные none, false и (). Низкоуровневые параметры layout остаются внутри библиотеки.
Становится проще: первый fork, переключение режима, выбор starter и обновление внутренней реализации.
Становится сложнее: document.typ является обязательным стабильным контрактом, а каждый starter должен проходить contract-tests.
Закрывает дверь на: compatibility-файлы в корне и отдельные копии полной конфигурации для каждого режима.