Files
frontend/AGENTS.md
T

2.8 KiB

Frontend

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

React/Vite-клиент WealthLedger. Canonical OpenSpec store — wealth-ledger-specs в ../specs/openspec; OpenSpec commands, читающие или изменяющие change, всегда выполняются с --store wealth-ledger-specs. Versioned planning artifacts вне canonical store запрещены, включая superpowers/plans; ../references/** read-only.

Перед изменением поставленного поведения прочитать ../docs/architecture/system-overview.md, а для доменных терминов — ../docs/architecture/domain-glossary.md. Testing, build-versus-buy и Delivery Map определены в ../docs/development/engineering-governance.md. Audit-derived работа начинается с ../docs/development/audit-remediation.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.

Enforceable boundaries

  • Code style и i18n: docs/CONVENTIONS.md, исполняются Biome и TypeScript.
  • 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: docs/UI-PATTERN.md; route runtime failures обрабатывает единый route-keyed ErrorBoundary, expected API states остаются локальными.
  • Тесты: docs/TESTING.md; новый тест обязателен по risk trigger, а не из-за появления файла или coverage процента.

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