Files
frontend/AGENTS.md
T

3.4 KiB
Raw Blame History

Frontend

Назначение

React/Vite-клиент WealthLedger. Функциональные изменения сначала планируются в ../specs/openspec; контракт API задает backend OpenAPI, а не ручные DTO.

Проверка

npm ci
npm run verify

Node 22 обязателен (.nvmrc). npm run openapi:sync - единственная команда, обращающаяся к ${VITE_API_BASE_URL:-http://localhost:3000}/api/docs-json; она атомарно обновляет snapshot и generated types. openapi:generate и openapi:check работают только с committed snapshot.

Для read-only сверки backend runtime OpenAPI с committed snapshot под Node 22 запускать из workspace bash specs/scripts/verify-runtime-openapi.sh.

Документация для агента

  • Перед изменением API или transport types прочитать docs/API-LAYER.md.
  • Перед созданием формы, страницы или UI-состояний прочитать docs/UI-PATTERN.md.
  • Перед изменением структуры слайса или импортов прочитать docs/STRUCTURE.md.
  • Перед кодом, тестами или quality checks прочитать docs/CONVENTIONS.md и docs/TESTING.md.
  • Route-level runtime errors обрабатываются одним native route-keyed ErrorBoundary вокруг AppRoutes; expected API states остаются локальными.
  • Для задачи по Audit ID, продолжения remediation или выбора следующего улучшения сначала прочитать ../docs/development/audit-remediation.md; единственный canonical OpenSpec store — wealth-ledger-specs в ../specs/openspec, а OpenSpec commands, читающие или изменяющие change, выполнять с --store wealth-ledger-specs.

Границы

  • Текущий baseline использует FSD, React Router, i18n, Mantine, React Query и typed API scaffold.
  • Зависимости FSD идут app -> pages -> features -> entities -> shared; слайсы импортируются только через публичный index.ts.
  • HTTP идет только через типизированный клиент; request/response types выводятся из generated OpenAPI paths[...], а не дублируются вручную. UI-строки - только через i18n. Каждый маршрут имеет loading, error и empty состояния.
  • Соблюдать strict TypeScript: import type для типов, без enum и namespace.
  • Не добавлять прямые вызовы T-Bank и не переносить Todo-код из ../references/.
  • Не добавлять Storybook, Playwright, CI configuration, browser MSW worker или mock development mode.
  • Не создавать и не коммитить framework-specific planning/spec/task/design artifacts: versioned SDD-артефакты хранятся только в ../specs/openspec; ../references/** остаётся read-only исключением.