2.8 KiB
2.8 KiB
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.
Документация для агента
- Перед изменением 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; 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.