Ошибки инструментов разработчика
Эти ошибки возвращают команды, которые создают и проверяют части проекта:
scaffold, preview, qa, documentation и тот же набор операций через
локальный MCP. Как устроены эти команды, описано в разделе
«SDK для разработчика и AI-агента».
Большинство команд работает в два шага: сначала --dry-run составляет план
и возвращает его хеш plan_id, затем --apply=<plan_id> применяет именно
этот план. Если проект изменился между шагами, план не применяется.
Проект
| Код | Причина и что сделать |
|---|---|
SDK_PROJECT_ROOT_INVALID |
Папка проекта — символическая ссылка или её нет. Что сделать: Запускайте команду из настоящей папки проекта. |
SDK_PROJECT_CONFIG_MISSING |
В папке нет обычного файла docara.json. Что сделать: Перейдите в папку сайта или создайте проект командой docara init. |
SDK_PROJECT_CONFIG_INVALID |
docara.json — не корректный JSON. Что сделать: Исправьте синтаксис файла. |
SDK_PROJECT_NAMESPACE_INVALID |
smart.namespace в docara.json содержит недопустимые символы. Что сделать: Начните имя со строчной латинской буквы и используйте только строчные буквы, цифры, _ и -, например project. |
SDK_PROJECT_OWNED_ROOT_UNSAFE |
Папка smart/ или design/, куда пишут команды, — символическая ссылка. Что сделать: Замените ссылку обычной папкой. |
SDK_WRITE_PATH_UNSAFE, SDK_WRITE_COLLISION |
Команда не может безопасно записать файл: путь ведёт за пределы проекта, проходит через ссылку или файл уже есть. Что сделать: Уберите ссылку или существующий файл, названный в сообщении, и повторите --dry-run. |
SDK_DISCOVERY_KIND_UNKNOWN, SDK_SCHEMA_KIND_UNKNOWN |
Команда list, inspect или schema получила неизвестный вид. Что сделать: Возьмите вид из docara list или справки команды --help. |
SDK_TEST_LAYOUT_CONTEXT_MISMATCH |
docara test layout получил страницу, которая использует другой макет. Что сделать: Укажите в --page страницу, где этот макет действительно выбран. |
SDK_ARGUMENT_REQUIRED |
Команде не хватает обязательного аргумента; его имя — после двоеточия в сообщении. Что сделать: Добавьте аргумент, например id для validate smart <id>. |
SDK_DISCOVERY_SUBJECT_UNKNOWN |
inspect не нашёл объект с таким id. Что сделать: Возьмите id из docara list <вид>. |
SDK_VALIDATION_KIND_UNKNOWN, SDK_TEST_KIND_UNKNOWN |
validate или test получил неизвестный вид. Что сделать: Для validate укажите project, page, source, smart, layout, view, section или block; для test — smart или layout. |
SDK_TEST_PAGE_REQUIRED |
docara test запущен без страницы. Что сделать: Добавьте --page=/ru/адрес/. |
SDK_OPERATION_UNKNOWN |
Через MCP или SDK вызвана неизвестная операция. Что сделать: Используйте операции из docara capabilities --json. |
SDK_INPUT_INVALID |
Аргумент команды записан неверно. Что сделать: Сверьтесь со справкой docara <команда> --help. |
SDK_OPERATION_FAILED |
Операция остановилась по причине, у которой нет своего кода. Что сделать: Прочитайте текст сообщения; если он не помогает, см. «Внутренние ошибки». |
Заготовки: scaffold
| Код | Причина и что сделать |
|---|---|
SCAFFOLD_KIND_INVALID |
Неизвестный вид заготовки. Что сделать: Укажите smart, design или page. |
SCAFFOLD_NAMESPACE_FORBIDDEN |
Имя компонента не начинается с пространства имён проекта. Что сделать: Пишите project.имя, если в docara.json указано "namespace": "project". |
SCAFFOLD_TARGET_EXISTS |
Файл или папка заготовки уже есть. Что сделать: Выберите другое имя или удалите старую заготовку. |
SCAFFOLD_PAGE_ARGUMENT_REQUIRED |
Для страницы не указаны язык или заголовок. Что сделать: Добавьте --locale=ru --title="…". |
SCAFFOLD_PAGE_ROUTE_INVALID |
Адрес страницы записан неверно. Что сделать: Пишите строчными латинскими буквами, цифрами и дефисами внутри языка: guides/new-page. |
SCAFFOLD_PAGE_PROFILE_INVALID |
Неизвестный тип страницы в --type, или у шаблона из --template нет профиля, а --type не указан. Что сделать: Укажите landing, article, tutorial, how_to, reference или explanation, или добавьте шаблону profile. |
SCAFFOLD_PAGE_SOURCE_ARGUMENT_INVALID |
Указан только один из --source и --entity. Что сделать: Укажите оба или ни одного. |
SCAFFOLD_PAGE_VALIDATION_FAILED |
Страница создана, но сборка её не находит, например её закрывает настройка навигации. Что сделать: Проверьте section.json раздела и запустите docara validate page <адрес>. |
SCAFFOLD_DRY_RUN_REQUIRED |
План применяется без предварительного просмотра. Что сделать: Сначала выполните команду с --dry-run, затем --apply=<plan_id>. |
SCAFFOLD_PLAN_ID_INVALID |
В --apply передан не тот хеш. Что сделать: Скопируйте plan_id из ответа --dry-run целиком. |
SCAFFOLD_PLAN_INVALID, SCAFFOLD_PLAN_HASH_MISMATCH |
Файл плана в .docara/sdk-plans/ повреждён или изменён вручную. Что сделать: Составьте план заново командой --dry-run. |
SCAFFOLD_PLAN_STALE, SCAFFOLD_CONTENT_HASH_MISMATCH |
После --dry-run изменились docara.json или файлы, которые план собирался записать. Что сделать: Повторите --dry-run и примените новый план. |
SCAFFOLD_PLAN_COLLISION |
План с таким хешем уже записан. Что сделать: Примените его --apply=<plan_id> или удалите файл плана из .docara/sdk-plans/. |
SCAFFOLD_SOURCE_TEMPLATE_INVALID |
Шаблон примера из источника документации повреждён. Что сделать: Обновите источник и повторите --dry-run. |
Просмотр фрагмента: preview
docara preview показывает один компонент, область или макет с готовой
страницы сайта.
| Код | Причина и что сделать |
|---|---|
PREVIEW_PAGE_INVALID, PREVIEW_PAGE_UNKNOWN |
Страница в --page записана не как публичный адрес или такой страницы нет. Что сделать: Укажите адрес с / в начале и в конце: /ru/project-demos/. |
PREVIEW_PAGE_MISSING, PREVIEW_PAGE_OUTPUT_INVALID, PREVIEW_RECEIPT_INVALID |
Страница ещё не собрана или сборка устарела. Что сделать: Выполните полную сборку и повторите. |
PREVIEW_SELECTOR_INVALID, PREVIEW_SELECTOR_FORBIDDEN |
Для page и layout указан --selector, а для других видов его нет или он записан неверно. Что сделать: Для page и layout уберите --selector; для остальных укажите имя строчными буквами: --selector=ui.dropdown. |
PREVIEW_TARGET_NOT_FOUND |
На странице нет такого компонента или области. Что сделать: Выберите страницу, где он стоит, или проверьте имя. |
PREVIEW_WATCH_OPTIONS_INVALID |
--interval или --max-cycles вне допустимых значений. Что сделать: Укажите интервал от 50 до 5000 миллисекунд и число циклов не меньше 0. |
PREVIEW_DEPENDENCY_PATH_INVALID |
Файл, за которым следит --watch, лежит вне проекта или стал ссылкой. Что сделать: Уберите ссылку и перезапустите просмотр. |
PREVIEW_OUTPUT_COLLISION, PREVIEW_PUBLIC_ROOT_INVALID, PREVIEW_PUBLIC_ROOT_PURPOSE_INVALID, PREVIEW_PUBLIC_FILE_INVALID, PREVIEW_HTML_INVALID, PREVIEW_ASSET_PROVENANCE_INVALID |
Папка просмотра занята, повреждена или собрана не для просмотра. Что сделать: Удалите папку просмотра, названную в сообщении, и повторите команду. |
Визуальная проверка: qa
docara qa снимает компонент, область или макет в светлой и тёмной теме, на
широком и узком экране и сравнивает снимки с эталоном.
| Код | Причина и что сделать |
|---|---|
QA_KIND_INVALID |
Неизвестный вид проверки. Что сделать: Укажите smart, region или layout. |
QA_LAYOUT_CONTEXT_MISMATCH |
Страница в --page использует другой макет. Что сделать: Укажите страницу, где этот макет выбран. |
QA_TARGET_LOCATOR_MISSING, QA_TARGET_BINDING_INVALID |
На странице не найден проверяемый элемент или план относится к другому элементу. Что сделать: Проверьте имя и страницу, составьте план заново --dry-run. |
QA_PLAN_ID_INVALID, QA_PLAN_ID_MISMATCH, QA_ARTIFACT_INVALID, QA_PREVIEW_BINDING_INVALID, QA_PLAN_COLLISION |
План в .docara-qa/plans/ не совпадает с хешем, повреждён или уже есть. Что сделать: Передайте точный plan_id из ответа --dry-run или составьте план заново. |
QA_REFERENCE_DRAFT_INVALID, QA_REFERENCE_DRAFT_BINDING_INVALID, QA_REFERENCE_DRAFT_SCENARIOS_INVALID, QA_REFERENCE_COLLISION |
Черновик эталона неполный, снят по другому плану или уже утверждён. Что сделать: Снимите эталон заново по текущему плану и повторите --finalize-reference. |
QA_REFERENCE_INVALID, QA_REFERENCE_BINDING_INVALID, QA_REFERENCE_ID_MISMATCH, QA_REFERENCE_MANIFEST_MISMATCH |
Утверждённый эталон изменён после утверждения. Что сделать: Не правьте снимки эталона вручную — утвердите новый эталон. |
QA_SCREENSHOT_INVALID, QA_REPORT_BINDING_INVALID, QA_REPORT_SCENARIOS_INCOMPLETE |
Снимков меньше, чем в плане, или отчёт снят по другому плану. Что сделать: Запустите сравнение заново по утверждённому плану. |
QA_VISUAL_DIFF_MISMATCH |
Снимок отличается от эталона. Что сделать: Посмотрите разницу; если изменение задумано, утвердите новый эталон. |
QA_ACCEPTANCE_FAILED |
Есть ошибки доступности, ошибки в консоли браузера или горизонтальная прокрутка. Что сделать: Исправьте найденные в отчёте проблемы и повторите проверку. |
Отслеживание документации
Отслеживание сравнивает страницы с источниками, например с описанием компонентов SIMAI Framework. Настройка описана в разделе «Актуальность документации».
| Код | Причина и что сделать |
|---|---|
DOCUMENTATION_TRACKING_DISABLED |
Отслеживание выключено. Что сделать: Включите documentation_tracking в docara.json. |
DOCUMENTATION_PROVIDER_UNKNOWN |
Неизвестный поставщик источника. Что сделать: Укажите simai_framework или contract_json. |
DOCUMENTATION_SOURCE_UNKNOWN, DOCUMENTATION_SOURCE_DUPLICATE, DOCUMENTATION_SOURCE_ID_MISMATCH |
Источник не настроен, указан дважды или его id в настройках не совпадает с id в файле источника. Что сделать: Оставьте один источник с одинаковым id в обоих местах. |
DOCUMENTATION_SOURCE_CONTRACT_INVALID, DOCUMENTATION_SOURCE_HASH_MISMATCH |
Файл источника повреждён или не совпадает с закреплённой версией. Что сделать: Верните файл источника из той же версии, что указана в simai-framework.lock.json. |
DOCUMENTATION_FRAMEWORK_LOCK_INVALID, DOCUMENTATION_FRAMEWORK_RULES_INVALID, DOCUMENTATION_FRAMEWORK_RULES_MISSING |
Закреплённая версия SIMAI Framework не подходит этой версии Docara. Что сделать: Обновите Docara или верните закрепление, которое она поставляет. |
DOCUMENTATION_ENTITY_UNKNOWN, DOCUMENTATION_ENTITY_DUPLICATE |
В источнике нет сущности с таким ключом или ключ повторяется. Что сделать: Возьмите ключ из docara documentation status --json. |
DOCUMENTATION_ROUTE_INVALID, DOCUMENTATION_ROUTE_LOCALE_INVALID |
Страница сущности не найдена, найдено несколько или она не на основном языке источника. Что сделать: Свяжите сущность с одной страницей на языке source_locale. |
DOCUMENTATION_EXAMPLE_CASES_MISSING |
На странице нет обязательных примеров, перечисленных в источнике. Что сделать: Добавьте примеры, названные в сообщении. |
DOCUMENTATION_EXCLUSION_REASON_REQUIRED |
Сущность исключена без причины. Что сделать: Напишите причину исключения. |
DOCUMENTATION_REVIEW_INVALID |
Неизвестный вид проверки в --review. Что сделать: Укажите ai_verified или human_reviewed. |
DOCUMENTATION_STATUS_FILTER_INVALID |
Неизвестный статус в --status. Что сделать: Возьмите статус из раздела «Статусы». |
DOCUMENTATION_LOCK_INVALID, DOCUMENTATION_LOCK_DUPLICATE, DOCUMENTATION_LOCK_SOURCE_LOCALE_MISMATCH |
documentation.lock.json повреждён, сущность записана в нём дважды или язык в нём не совпадает с настройками. Что сделать: Не правьте файл вручную: верните его из истории и примите изменения командой docara documentation accept. |
DOCUMENTATION_LINKAGE_NOT_CONFIGURED |
Команда docara documentation linkage запущена, но ни у одного источника нет linkage. Что сделать: Добавьте linkage к источнику в documentation_tracking.sources. |
DOCUMENTATION_LINKAGE_INVENTORY_INVALID, DOCUMENTATION_LINKAGE_CHANGES_INVALID, DOCUMENTATION_LINKAGE_JOURNAL_INVALID |
Перечень компонентов, отчёт об изменениях или журнал изменений SIMAI Framework не того формата, повреждён или лежит вне проекта. Что сделать: Скопируйте файл выпуска без изменений: simai.framework.unit-inventory, simai.framework.unit-change-report или simai.change-journal. |
DOCUMENTATION_LINKAGE_USAGE_INVALID |
Запись использования в linkage.usage не соответствует simai.framework.unit-usage версии 1; в сообщении перечислены поля. Что сделать: Исправьте названные поля. |
DOCUMENTATION_LINKAGE_BASELINE_REQUIRED |
Неизвестно, к какому выпуску страницы приведены в последний раз. Что сделать: Укажите linkage.since — перечень компонентов того выпуска — или linkage.usage. |
DOCUMENTATION_LINKAGE_RELEASE_MISMATCH |
Предупреждение: перечень в linkage.inventory — не от того выпуска, который закреплён в simai-framework.lock.json. Что сделать: Возьмите перечень закреплённого выпуска. |
DOCUMENTATION_PLAN_ID_INVALID, DOCUMENTATION_PLAN_INVALID, DOCUMENTATION_PLAN_HASH_MISMATCH, DOCUMENTATION_PLAN_COLLISION |
План в .docara/documentation-plans/ не совпадает с хешем, повреждён или уже есть. Что сделать: Передайте точный plan_id из ответа --dry-run или составьте план заново. |
DOCUMENTATION_PLAN_STALE |
Страница или источник изменились после --dry-run. Что сделать: Повторите --dry-run и примените новый план. |
DOCUMENTATION_PAGE_INVALID, DOCUMENTATION_INPUT_UNSAFE |
Страница или файл источника — ссылка или лежат вне проекта. Что сделать: Замените ссылку обычным файлом внутри проекта. |
DOCUMENTATION_WRITE_FAILED, DOCUMENTATION_WRITE_PATH_UNSAFE, DOCUMENTATION_WRITE_CASE_COLLISION |
Не удалось записать файл: нет прав, путь проходит через ссылку или отличается от существующего только регистром. Что сделать: Исправьте путь или права и повторите. |
DOCUMENTATION_SOURCE_COMPATIBILITY_ADAPTER |
Предупреждение: закреплённая версия SIMAI Framework не содержит своего описания для отслеживания, и Docara строит его из правил Framework, которые поставляет сама. Что сделать: Ничего; предупреждение уйдёт, когда закреплённая версия Framework начнёт поставлять своё описание. |
Локальный MCP
| Код | Причина и что сделать |
|---|---|
MCP_METHOD_NOT_FOUND, MCP_TOOL_UNKNOWN |
Клиент вызвал метод или инструмент, которого у Docara нет. Что сделать: Получите список инструментов методом tools/list и вызывайте только их. |
MCP_WRITE_CAPABILITY_REQUIRED |
Применение плана запрещено: MCP запущен только для чтения. Что сделать: Просмотрите план, затем перезапустите локальный MCP с --allow-writes. |