Інструкції для AI-платформ
Вайбкодінг- та ШІ-платформи: Cursor · Bolt · Windsurf · інші
Мультимовність і адмінка
Для вайбкодінг- та ШІ-платформ: Cursor, Bolt, Windsurf та інших. Прочитай README.md і TRANSLATE-ALL.md установленого пакета. Не копіюй реалізацію пакета в src, не замінюй router і затверджений дизайн.
Готове завдання
Підключи @tykonpm/multilang до цього сайта. Українська — джерело. Перевір npm version і exports: якщо /translate-all ще не опубліковано, повідом це й не імітуй наявність модуля. Прочитай node_modules/@tykonpm/multilang/README.md, TRANSLATE-ALL.md та AI-GUIDE.md; зафіксуй перевірену версію в lockfile.
Збережи UI. Додай MultilangProvider, useT/T, lazy-словники та LanguageSwitcher через render prop під дизайн сайта. Store overrides мають перевагу; fallback — українська. Не створюй мовні URL/hreflang без вимоги. Збери літеральні фрази CLI і перевір результат; CMS зареєструй окремими TranslationSource зі стабільними key, uk text, current/currentHash. Coverage охоплює тільки зареєстровані джерела.
Додай захищену адмінку TranslateAllPanel: рядки — джерела, стовпці — мови; запуск по клітинці, рядку, мові та всьому сайту. Panel містить Review: відкриття job у черзі показує перевірку. За потреби використовуй окремі компоненти. Вибір одного пункту реалізуй через scope item/keys і власний список. mode missing — відсутні й застарілі; mode all — повторно все. Stale залежить від hash uk text, не en. Записи без hash не стають stale автоматично; перейменовані текстові ключі простої адмінки потребують міграції або стануть missing.
Забезпеч обидва режими: autoApply true та ручна перевірка false. Review застосовує один пункт або всі успішні пункти одного job, не всього сайта. Для затвердження джерела/черги зроби явний вибір jobs і підтвердження. Не змінюй дизайн заради готового UI: classNames/labels або власний екран на API.
Реалізуй TranslationProvider через підтримуваний серверний SDK/сервіс сайта, без прив’язки ядра пакета до провайдера. Ключі тільки на сервері. Маскування й глосарій не є HTML-санітизацією. Поясни бюджет перед новими платними підключеннями.
Реалізуй стійкий JobStore на існуючому сховищі. Не створюй дубль бази/акаунтів. Supabase адаптер необов’язковий; default list limit 500, для великої черги потрібна повна пагінація. Не застосовуй SQL без аналізу схеми/grants/RLS/ролей. ui_translations має lang/source/text/source_hash/origin/updated_at і unique(lang, source); SQL-помічник сам не створює повну таблицю.
TranslateAllApi у браузері — proxy до захищених handler-ів. Перевір session/роль/source/job у КОЖНОМУ coverage/plan/enqueue/jobs/processNext/action/apply. createdBy бери із session. Source.apply атомарно звіряє previous та hash актуального українського джерела; конфлікт не перезаписує. Privileged client не використовуй для звичайного читання.
plan — dry-run; сервер відхиляє overLimit/завеликі пакети до enqueue, бо maxJobTokens не забезпечується виконанням автоматично. Денний облік приблизний; для жорсткого бюджету потрібен ledger. Один процесор або зовнішній lock; немає built-in глобального дедупу/exactly-once. pause/cancel не переривають поточний запит. Reload зберігає jobs, але для фонового виконання потрібен worker сайта.
Перевір поведінку: item/source/site, клітинка/рядок/мова/все, missing/all, зміна hash uk, previous/source conflict, manual/auto apply, retry/timeout/маркери, reload, права. Почни з mock без витрат; один реальний AI-пакет окремо з дозволеним бюджетом. Перевір читання результату в UI під належною роллю. Не називай real AI перевіреним за mock.
Прийняття й оновлення
Повідом установлену версію, джерела, перевірені сценарії та обмеження. Не обіцяй весь сайт перекладеним за часткового реєстру; не стверджуй production/npm-публікацію без доказу.
Для оновлення: прочитай changelog і документи нового npm-релізу, збережи адаптери/ролі/дизайн, перевір exports та наскрізний plan → enqueue → review → apply → read back. Не копіюй пакет у src.