К содержанию

Навигация

Developer и AI SDK

SDK помогает добавить Smart-компонент или design-композицию, не меняя движок. Он не создаёт новый renderer: все проверки и preview используют те же registries, SmartComponentGateway, LayoutComposer и PageBuilder, что и обычная сборка.

Короткий LEGO-путь

Запускайте команды из корня инициализированного проекта:

Bash
docara capabilities --json
docara doctor
docara list smart
docara inspect smart ui.alert --json
docara schema smart --json

PLAN_SHA256="$(docara scaffold smart project.notice-card --dry-run --json | php -r '$r=json_decode(stream_get_contents(STDIN),true,512,JSON_THROW_ON_ERROR); echo $r["data"]["plan_id"];')"
docara scaffold --apply="$PLAN_SHA256" --json
docara validate smart project.notice-card
docara preview smart --page=/ru/project-demos/ --selector=ui.dropdown
docara test smart ui.dropdown --page=/ru/project-demos/ --json

capabilities — первая команда для любого AI-агента. Она сообщает фактические операции, параметры, schemas и lifecycle-возможности именно установленной в этом проекте версии. Агент не должен переносить предположения из другого проекта или из более новой Docara.

--dry-run возвращает список создаваемых файлов, SHA-256 их содержимого, текущие hashes входов и plan_id. Apply принимает только этот plan и ещё раз проверяет namespace, config, target paths и hashes. Если что-либо изменилось, команда завершится ошибкой, ничего не дописывая частично.

Что можно посмотреть

list, inspect и schema работают для Smart, layout, view, section, block, provider, fixture, state и schema. Human и --json — два представления одного docara.operation_result.v1: у diagnostics стабильны code, severity, owner, provenance, source location и suggestion.

schema smart --json возвращает byte-exact Framework-owned схему переносимого manifest, который создаёт scaffold smart: smart.manifest.schema.json из зафиксированной owner revision. После неё применяется отдельно названная Docara policy docara.smart_admission.v1; это не второй формат. В результате также есть машинная identity контракта: sf.smart_artifact_abi / 1.0.0 / sf-smart-artifact-abi-v1. Поэтому manifest из dry-run можно проверить этой схемой напрямую, без конвертации в package-specific формат.

inspect smart показывает эту же neutral identity для Framework-, Docara- и project-owned компонентов. Поля provider_adapter и template_abi отдельно объясняют, как конкретный provider подключил artifact. Историческое имя sf5.smart.artifact.v1 публикуется только как storage_compatibility_alias, а не как второй Smart-контракт.

Границы записи

Scaffold создаёт только новые project-owned файлы под smart/ или design/. Он не перезаписывает существующий ID и не пишет в src/, resources/, content/, assets/, lock, build output либо внешний repository. Traversal, symlink, hardlink, duplicate namespace и stale plan отклоняются.

Smart scaffold следует portable SIMAI Framework 5 Smart ABI v1. Design scaffold создаёт связанный docs-shell-compatible layout, layout View Tree, section, section View Tree и block. Результат сразу проходит registry validation и может быть выбран в JSON-настройках страницы. Их можно доработать только в пределах проверяемых JSON-схем.

Structured QA

Bash
docara qa smart ui.dropdown \
  --page=/ru/project-demos/ --dry-run --json

Команда сначала публикует isolated production-path preview, затем создаёт hash-bound draft-план для desktop/mobile, light/dark и LTR/RTL. План явно фиксирует проверяемую поверхность и locator: сам Smart, выбранный region или весь layout. Browser runner остаётся необязательным development-инструментом и сначала записывает reference draft. Затем PHP-команда docara qa --finalize-reference=<draft-plan-id> проверяет все PNG и создаёт новый immutable finalized plan. Его reference_id охватывает полный manifest: target, страницу, artifact, упорядоченные scenario ID, screenshot paths и SHA-256 каждого изображения.

Только finalized plan передаётся browser runner для сравнения и команде docara qa --verify=<finalized-plan-id>. Verification повторно вычисляет полную identity и manifest seal, проверяет реальные candidate/reference bytes и не доверяет одному полю visual_diff_pixels=0. Report принимается только при полном наборе screenshots и нулевых a11y, console, overflow и visual-diff дефектах. init и verify-static выполняются через PHP. Команда build дополнительно использует Node.js и точную поставку Framework для сборки Recipe. Подготовка описана в быстром старте.

Для test layout и qa layout указанный route обязан фактически выбирать этот layout. Несовпадение останавливается кодом SDK_TEST_LAYOUT_CONTEXT_MISMATCH или QA_LAYOUT_CONTEXT_MISMATCH: команда не подменяет проверяемый artifact похожей страницей.

Optional MCP

Локальный stdio adapter запускается отдельно:

Bash
php tools/mcp-docara/server.php

Он публикует те же capabilities/doctor/list/inspect/schema/plan/validate/test/QA operations и не содержит собственной логики validation или rendering. По умолчанию apply запрещён. После ручного просмотра plan можно запустить локальный процесс с --allow-writes; root всё равно фиксируется текущим project directory, а apply принимает только точный plan_id. MCP не входит в normal static runtime и не добавляет Node либо daemon dependency.

Когда нужна полная сборка

Изменение существующей Markdown-страницы можно проверить single-page build. Добавление, переименование или удаление route, глобальная config/lang-правка и изменение общих registries требуют full build, чтобы синхронно обновились menu, search, navigation и receipts.

Поиск по документации

Введите минимум 2 символа

    Настройки

    Тема
    Размер шрифта
    Ширина страницы