Files
frontend/AGENTS.md
T

2.9 KiB

Frontend

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

React/Vite-клиент WealthLedger. Shared SDD policy, common reading pointers, audit routing и ../references/** policy задаёт root AGENTS.md.

Canonical SDD authority находится в wealth-ledger-specs, физически в ../specs/openspec от этого репозитория. Любая OpenSpec command, читающая или изменяющая change, должна использовать --store wealth-ledger-specs.

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

Canonical gate

Node 22 обязателен. После lockfile install единственный completion gate:

npm ci
npm run verify

Gate non-mutating и проверяет runtime, OpenAPI snapshot, hygiene, strict TypeScript, Biome, risk-based tests/coverage ratchet, Knip, dependency boundaries, build и bundle budget. npm run openapi:sync — отдельная записывающая команда для атомарного обновления snapshot/types; runtime contract обеих сторон сверяется из workspace через bash specs/scripts/verify-runtime-openapi.sh. Актуальные 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.