# Правки контента (content-edits) Один файл очереди для агента и режима правок на `http://localhost:4175` (`npm run serve`). ## Файл **`texts/content-edits/pending.json`** — все страницы, все правки. Старые файлы `cases--.json` при первом запросе к API переносятся в `pending.json` и удаляются. ## Формат (version 2) ```json { "version": 2, "updatedAt": "2026-05-16T12:00:00.000Z", "items": [ { "n": 1, "page": "cases/ai-platform-primo-rpa.html", "instruction": "Перенести «Вид редактора…» ниже «Добавил режим…»", "target": { "selector": "main#case-main #patterns > p.section__prose:nth-of-type(1)", "anchorId": "patterns", "tag": "p", "content": "полный текст основного блока (до ~2000 символов)", "snippet": "первые ~80 символов" }, "refs": [ { "label": "Вид редактора в режиме «Во весь экран»", "target": { "selector": "main#case-main #zadachi > figure.case-media-gallery:nth-of-type(2)", "anchorId": "zadachi", "tag": "figure", "content": "первые ~200 символов", "snippet": "первые ~80 символов" } } ] } ] } ``` - **`page`** — путь относительно `public/` (как в адресной строке без ведущего `/`). - **`n`** — порядок apply по всему файлу (на странице в FAB-списке снова 1, 2, 3… только для текущей страницы). - **`target`** — основной блок правки (обычный клик). Для **общей правки страницы** без блока: `"scope": "page"`. - **`refs`** — дополнительные блоки (Shift+клик в инструкции). `label` (~50 символов) вставляется в текст как `«…»`; `target.content` у ref короче (~200), чем у основного `target`. ## Apply В Cursor: **«примени правки»** / **`/apply-edits`** — агент читает `pending.json`, правит `src/pages/`, `humanizer-ru`, `npm run build:pages`. После apply **`items` не трогаем** — очередь для проверки; удаление пунктов вручную в dock или повторный apply с уточнённой instruction. См. `.cursor/rules/content-edit-apply.mdc`.