mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
chore: update verify tasks, add ci jobs
This commit is contained in:
+2
-1
@@ -20,6 +20,7 @@
|
||||
| `AGENTS.md` | Краткий обязательный контракт для агента | active |
|
||||
| `docs/plan-codebase-quality.md` | План quality gates, тестов и lint-правил | draft |
|
||||
| `docs/agent-workflow.md` | Подробный порядок исследования, изменения и проверки | active |
|
||||
| `docs/quality-gates.md` | Команды проверки, warnings и CI | active |
|
||||
| `docs/backlog.md` | Продуктовые, UX- и инфраструктурные задачи | active |
|
||||
| `docs/roadmap.md` | Общие направления развития | active |
|
||||
| `docs/plan-redesign.md` | Новый дизайн и границы `/v1` | active |
|
||||
@@ -39,7 +40,7 @@
|
||||
|
||||
- Поведение, которое агент обязан соблюдать сразу, — кратко в `AGENTS.md`.
|
||||
- Точные команды, параметры скриптов и критерии качества — в
|
||||
`docs/quality-gates.md` после Q1 или в README соответствующей подсистемы.
|
||||
`docs/quality-gates.md` или в README соответствующей подсистемы.
|
||||
- Архитектура, потоки данных и границы модулей — в отдельном architecture-плане
|
||||
или документе, не дублируя существующие планы.
|
||||
- Реализация lint-правил, fixtures и технические детали ESLint — в
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
|
||||
## 3. Проверки
|
||||
|
||||
Команды и их область применения перечислены в `AGENTS.md`; после Q1 их точная
|
||||
матрица будет поддерживаться в `docs/quality-gates.md`.
|
||||
Команды и их область применения перечислены в `AGENTS.md`; точная матрица и
|
||||
текущая политика warnings/errors поддерживаются в `docs/quality-gates.md`.
|
||||
|
||||
| Изменение | Минимальная проверка |
|
||||
| ------------------------------------------------------- | ------------------------------------------------------ |
|
||||
@@ -72,7 +72,7 @@ E2E запускается отдельно от быстрых проверок
|
||||
|
||||
- обязательное поведение агента — `AGENTS.md`;
|
||||
- индекс и карта документов — `docs/README.md`;
|
||||
- качество и точные команды — `docs/quality-gates.md` после Q1;
|
||||
- качество и точные команды — `docs/quality-gates.md`;
|
||||
- тестовая архитектура — `docs/testing-strategy.md` после Q3;
|
||||
- lint implementation — `web/eslint-plugins/README.md`;
|
||||
- продуктовые решения — backlog и активные планы.
|
||||
|
||||
+6
-7
@@ -215,14 +215,13 @@
|
||||
12. **HARD-серия** (glitch, barcode, signature-extract, handwritten-digital). Из
|
||||
`archive/plan-gap-waves.md`.
|
||||
|
||||
13. **Контраст текста на акцентных кнопках — пересмотреть после готовности
|
||||
сайта**. Текст `--color-background` на фоне `--color-main`/`--color-accent`
|
||||
(тон 48) даёт контраст ~4.1–4.3 (light) — ниже AA 4.5 для обычного текста;
|
||||
`palette.test.ts` держит для кнопок порог 4.0 (AA large-text) осознанно, как
|
||||
компромисс текущего дизайна. После полного завершения редизайна пересмотреть
|
||||
тона (например поднять tone кнопок до ~55) и вернуть порог 4.5. Также
|
||||
13. **Контраст текста на акцентных кнопках — частично закрыт**. Для dark-темы
|
||||
`--color-main`/`--color-accent` подняты до tone 56, чтобы пройти текущий
|
||||
порог `palette.test.ts` 4.0; targeted-тест проходит. Light-тема сохраняет
|
||||
контраст ~4.1–4.3, что ниже AA 4.5 для обычного текста, поэтому после
|
||||
завершения редизайна нужно повторно поднять тона и вернуть порог 4.5. Также
|
||||
проверить `--color-danger` (dark, тон 55): текст на нём 4.93 — ок, но
|
||||
light-danger тон 48 = 4.25 на границе.
|
||||
light-danger tone 48 = 4.25 на границе.
|
||||
|
||||
14. **Отображение маски для инструментов (runMask/preview-mask)** — придумать и
|
||||
реализовать процесс показа маски результата. **Контекст:** в старом
|
||||
|
||||
@@ -74,7 +74,8 @@
|
||||
|
||||
### Q1. Единый quality gate и CI
|
||||
|
||||
**Оценка:** S–M. **Зависимости:** Q0.
|
||||
**Статус:** готов к ревью. **Проверено:** `pnpm verify` проходит; E2E оставлен
|
||||
отдельным non-blocking job. **Оценка:** S–M. **Зависимости:** Q0.
|
||||
|
||||
Добавить read-only `verify`-команду, которая запускает:
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
# Quality gates
|
||||
|
||||
> Статус: **active**. Каноническое описание быстрых проверок репозитория.
|
||||
> Краткие обязательные команды остаются в `AGENTS.md`.
|
||||
|
||||
## Каноническая команда
|
||||
|
||||
Запускать из корня репозитория:
|
||||
|
||||
```text
|
||||
pnpm verify
|
||||
```
|
||||
|
||||
`verify` выполняет последовательно:
|
||||
|
||||
1. `pnpm --dir web check` — SvelteKit sync и `svelte-check`.
|
||||
2. `pnpm --dir web test` — полный Vitest-набор.
|
||||
3. `pnpm --dir web test:rules` — отдельный быстрый прогон тестов ESLint-правил.
|
||||
4. `pnpm --dir web lint:all` — ESLint, Stylelint и token audit.
|
||||
5. `pnpm --dir web exec prettier --check .` — форматирование кода `web/`.
|
||||
6. `pnpm check:docs` — форматирование Markdown.
|
||||
7. `pnpm --dir web build` — production build.
|
||||
|
||||
Полный `test` уже включает тесты lint-правил; отдельный `test:rules` в `verify`
|
||||
оставлен как явный быстрый диагностический этап.
|
||||
|
||||
## E2E
|
||||
|
||||
E2E не входит в `verify`, потому что Playwright поднимает build и статический
|
||||
сервер:
|
||||
|
||||
```text
|
||||
pnpm --dir web test:e2e
|
||||
```
|
||||
|
||||
Запускать его обязательно для изменений маршрутов, загрузки файла, результата,
|
||||
download, темы или локализации. В текущем CI это отдельный non-blocking
|
||||
baseline; после закрытия известных ошибок его можно сделать blocking.
|
||||
|
||||
## Быстрые подмножества
|
||||
|
||||
| Изменение | Команда |
|
||||
| ---------------------------- | ------------------------------------------------------- |
|
||||
| Только Markdown | `pnpm check:docs` |
|
||||
| TypeScript/Svelte | `pnpm --dir web check` и `pnpm --dir web test` |
|
||||
| Lint-правило или lint-конфиг | `pnpm --dir web test:rules` и `pnpm --dir web lint:all` |
|
||||
| Пользовательский поток | `pnpm --dir web test:e2e` |
|
||||
| Полный локальный gate | `pnpm verify` |
|
||||
|
||||
## Errors и warnings
|
||||
|
||||
- `errors` завершают соответствующий инструмент ненулевым кодом.
|
||||
- `warnings` не завершают текущий lint автоматически, пока не включён строгий
|
||||
режим.
|
||||
- На baseline Q0 `lint:all` даёт 0 errors, 188 `i18n/dict-consistency` warnings
|
||||
и 4 unused-token warnings. Это известные долги, а не чистый результат.
|
||||
- После Q2 parity-линтер должен перейти к zero-warning, после чего можно
|
||||
включить `--max-warnings=0` без обходных allowlist-ов.
|
||||
|
||||
## CI
|
||||
|
||||
`.github/workflows/quality.yml`:
|
||||
|
||||
- `verify` блокирует PR при typecheck, unit, rule-test, lint, format, docs или
|
||||
build ошибке;
|
||||
- `e2e` запускается отдельным job после verify и пока не блокирует PR.
|
||||
|
||||
`.github/workflows/deploy.yml` перед production build запускает тот же
|
||||
`pnpm verify`, поэтому deploy не должен проходить при ошибке быстрых проверок.
|
||||
|
||||
## Локальная диагностика
|
||||
|
||||
При медленном полном прогоне сначала запускай минимальную команду из таблицы, а
|
||||
перед ревью или merge — `pnpm verify`. После каждого шага плана результат команд
|
||||
и текущий baseline фиксируются в отчёте агента.
|
||||
Reference in New Issue
Block a user