diff --git a/AGENTS.md b/AGENTS.md index 58c6dfc..35202ed 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,6 +27,13 @@ реальные маршруты), на C19 при переименовании `kit/`→`ui/` — и компонентный glob. Не оставлять устаревшие пути в `eslint.config.js`. - Для `*.svelte` выключен `prefer-const` (пропсы в Svelte 5 пишутся через `let`). +- **Единый запуск всей дизайн-проверки: `pnpm --dir web lint:all`** + (`web/scripts/lint-all.mjs`) — гоняет по очереди: ESLint (все правила, + включая design-tokens), stylelint (`lint:css`) и токен-аудит + (`lint:tokens`). Каждый шаг выполняется, даже если предыдущий упал; выход + ненулевой, если хоть один не прошёл. Текущие «ожидаемые долги» (hardcoded + размеры в kit, не-Prefix токены в preview.css и т.п.) — техдолг: чинить + только по заведённым tasks, не игнорировать правилом. ## Правила кода @@ -70,6 +77,58 @@ используется. - Все повторяющиеся визуальные элементы — отдельные компоненты в `web/src/lib/components/kit/`, даже «просто div с двумя стилями». -- Токены нового дизайна живут в `design2.css`; `refs/` и `refs-html/` — - одноразовый источник, не поддерживаемый (правки дизайна — сразу в код). + +### Линтинг дизайн-токенов («единая точка правды» дизайна) + +Запрещено «захардкоживать» дизайн: цвета, размеры, длительности и z-index +обязаны приходить из CSS-переменных. Стек: **stylelint** прогоняется по всем +CSS-файлам (`web/stylelint.config.js`), **ESLint** лезет в `