Files
2026-08-14 09:49:55 +03:00

2.7 KiB
Raw Permalink Blame History

1. Воспроизводимый baseline

  • 1.1 Зафиксировать Node 22, exact dependency versions и обновлённый lockfile; обновить совместимые React/Mantine/TypeScript toolchain configuration.
  • 1.2 Настроить Vite/TypeScript aliases, Knip и dependency-cruiser; перевести существующие межслайсовые импорты на public index.ts APIs и устранить все findings новых checks.

2. Локальный OpenAPI contract

  • 2.1 Добавить committed raw OpenAPI JSON snapshot и явную атомарную sync-команду, получающую опубликованный backend contract только по запросу разработчика.
  • 2.2 Генерировать schema.d.ts из committed snapshot и добавить offline openapi:check, который обнаруживает устаревший или вручную изменённый generated artifact.

3. Типизированный API и тесты

  • 3.1 Подключить openapi-react-query к shared typed client и мигрировать текущие API queries и mutations, сохранив cache, retry и UI error semantics.
  • 3.2 Сделать authenticated fetch единственным владельцем Bearer header; сохранить refresh single-flight/retry semantics и синхронизацию token reference при initial session restoration.
  • 3.3 Добавить MSW только в Vitest и handlers текущего API; покрыть transport auth invariants и изолированные успешные и ошибочные API scenarios.

4. Единый quality gate

  • 4.1 Добавить coverage report и npm run verify с OpenAPI drift, typecheck, Biome, unit tests, coverage, Knip, FSD dependency checks и production build.
  • 4.2 Настроить Husky, lint-staged и Conventional Commits: быстрый pre-commit для staged formatting, contract/dependency checks и commit-msg validation.

5. Документация и проверка

  • 5.1 Обновить frontend AGENTS.md и тематические docs для agent-oriented workflow без UI, Storybook и e2e guidance.
  • 5.2 Добавить в docs/development/ постоянную документацию реализованного frontend workflow: Node version, contract sync и quality gate.
  • 5.3 Выполнить npm ci и npm run verify; убедиться, что baseline проходит без suppressions и без доступного backend после завершения sync.