Рекурсивная структура
Папки содержат дочерние элементы. Дочерние элементы могут быть папками. Бесконечная вложенность.
Для разработчиков
Единая рекурсивная JSON-структура для всего. Страницы, таблицы, контент и файлы.
Протокол
Строгая, читаемая JSON-схема. Каждый объект следует единому интерфейсу Node.
Папки содержат дочерние элементы. Дочерние элементы могут быть папками. Бесконечная вложенность.
У каждого узла есть определенный тип и предсказуемая схема данных.
Встроенные примитивы для создания любой модели контента без сложных миграций.
{ children: [...] }{ data: { content: "..." } }{ data: { url: "...", size: 1024 } }{ data: { fields: [...] }, children: [row] }{ data: { [slug]: value } }{ data: { content: "# Markdown..." } }Будь то лендинг (папки и блоки) или база знаний (таблицы и строки) — это просто дерево узлов.
folder (landing) ├─ folder (hero) │ ├─ text (title) │ └─ image (cover) └─ folder (about)
folder (docs) ├─ table (categories) └─ table (articles) └─ row (article_1)
Поскольку вся структура — это просто дерево JSON, вы можете экспортировать состояние проекта в файл, закоммитить в Git или мгновенно импортировать в новую среду.
npm-пакет
Библиотека на npm (TypeScript / JavaScript). Оборачивает тот же HTTP API: от статического HTML до Next.js App Router. React подключается по желанию.
HttpContentFetcher дергает GET /content/{projectSlug}/{path}. Coreless.getPage() возвращает ContentClient с хелперами по путям.
CorelessProvider + HttpContentFetcher в корне; useContent(slug) даёт те же методы плюс loading, error и refresh().
API
Та же логика, что в проекте → API docs: одно JSON-дерево на страницу и типизированные хелперы по путям полей.
Пример: slug проекта acme-studio, страница home — пути совпадают со slug папок и блоков в дереве.
Эндпоинт отдаёт дерево страницы. Тот же GET, что использует админка (api.nodes.getContent).
После cms.getPage(slug страницы) — .text(), .image(), .table()… с путями вроде hero/title, как в автогенерации в API docs.
Прямой fetch с тем же URL и заголовками, что в lib/api.ts.
Оставьте заявку на доступ или посмотрите демо — как выглядит редактирование.