Files
frontend/AGENTS.md
T

3.2 KiB

Frontend

Назначение и authority

React/Vite-клиент WealthLedger. Workspace layout и reference policy — в root AGENTS.md. Для planning, implementation, validation и завершения читай canonical lifecycle; для recovery и выбора relevant evidence — context discipline. Они доступны без optional agent skills или commands.

Frontend-specific conventions: docs/CONVENTIONS.md, docs/STRUCTURE.md, docs/API-LAYER.md, docs/UI-PATTERN.md и docs/TESTING.md.

Canonical gate

Перед Node-командами активировать .nvmrc через nvm use --silent; это выбирает Node 22. Не запускать отдельную проверку версии, кроме диагностики runtime issue. После lockfile install единственный completion gate:

npm ci
npm run verify

Gate non-mutating и проверяет strict TypeScript, Biome, risk-based tests/coverage ratchet, Knip, dependency boundaries и build. Если backend API contract меняется, committed frontend snapshot src/shared/api/spec/openapi.json обновляется явным копированием backend OpenAPI document, затем npm run openapi:generate регенерирует committed types; обе стороны API contract сверяются отдельной backend командой npm run test:openapi-contract. Актуальные scripts проверять в package.json/npm run.

Enforceable boundaries

  • Code style и i18n: docs/CONVENTIONS.md, исполняются Biome и TypeScript.
  • React component declaration, props и export style: docs/CONVENTIONS.md, часть исполняется Biome, часть является mandatory review convention.
  • FSD и public API: docs/STRUCTURE.md, исполняются dependency-cruiser и Knip; направление app → pages → features → entities → shared.
  • HTTP и types: docs/API-LAYER.md; только typed client и generated OpenAPI paths[...], без ручных transport DTO и прямых T-Bank calls.
  • UI states и VM/view boundary: docs/UI-PATTERN.md; container вызывает page VM hook, VM владеет data/state/derived presentation data, *.view.tsx получает props и рендерит. View files дробить по semantic responsibility, когда section/state можно назвать отдельно.
  • Тесты: docs/TESTING.md; новый тест обязателен по risk trigger, а не из-за появления файла или coverage процента.

Непроверяемые эстетические предпочтения считаются guidance. Не добавлять Storybook, Playwright, CI, browser MSW worker или mock development mode без утверждённого change.