Стек и архитектура
Почему Fumadocs, shadcncraft и Next.js здесь не конкурируют, а выполняют разные роли.
Базовый принцип
Архитектура работает хорошо только тогда, когда каждый инструмент используется по назначению.
В этом проекте роли разделены так:
- OpenClaw — принимает инструкции, меняет проект и помогает вести рабочий цикл;
- чат — интерфейс постановки задач и правок;
- shadcncraft — библиотека готовых блоков для видимой части сайта;
- Markdown / MDX — содержательная основа контентных страниц;
- Fumadocs — движок контента и рендеринга rich text;
- Next.js — каркас приложения и кодовая база.
Почему не всё строится на одном инструменте
Если оставить весь сайт на UI-слое документационного фреймворка, он начинает выглядеть как docs-тема с натянутым сверху лендингом. Если, наоборот, выкинуть контентный движок и решить всё только маркетинговыми блоками, страдает длинный текст, документация и поддерживаемость.
Поэтому разделение такое:
- shadcncraft отвечает за продуктовые и маркетинговые секции;
- Fumadocs отвечает за markdown-пайплайн и rich text;
- Next.js держит всё вместе как нормальный проект.
Что это даёт practically
1. Лендинг остаётся лендингом
Главная страница может быть собрана из готовых hero, benefits, FAQ, CTA, testimonials, contact и footer-блоков. Она не выглядит как документационный шаблон.
2. Документация остаётся документацией
Длинные тексты, списки, заголовки, архитектурные пояснения и контентные страницы удобно рендерятся через Fumadocs, не теряя читабельности.
3. Проект остаётся переносимым
Контент лежит в файлах, блоки находятся в кодовой базе, маршруты прозрачны. Это означает, что сайт можно продолжать развивать без скрытой платформенной зависимости.
Почему это agent-friendly
Для агента такая структура тоже выгодна:
- легко понять, где живёт контент;
- легко увидеть, какие блоки составляют страницу;
- легче вносить изменения целиком, а не искать одно поле в админке;
- проще поддерживать согласованность между посадочной страницей, документацией и supporting pages.
Вывод
Хороший результат получается не тогда, когда один инструмент делает всё подряд, а когда каждый слой решает именно свою задачу. Эта архитектура собрана именно по такому принципу.