Files
frontend/docs/CONVENTIONS.md
T
2026-08-13 15:03:59 +03:00

19 lines
1.1 KiB
Markdown

# Conventions
## Must
- Использовать Biome: `npm run lint`; табы и двойные кавычки определяет `biome.json`.
- Для type-only импортов использовать `import type`; не использовать `enum` и `namespace`.
- UI-строки хранить в `src/shared/i18n/locales/ru.ts` и получать через `useTranslation()`.
- Zod-схемы не содержат пользовательских строк: использовать `validationMessage(key)` из `src/shared/i18n/zod.ts`.
- Публичный импорт слайса идёт через его `index.ts`.
- Тесты лежат рядом с исходником как `*.test.tsx`.
## File roles
- `Component.tsx` - контейнер или публичный компонент.
- `Component.vm.ts` - hook с данными и действиями.
- `Component.view.tsx` - чистое представление.
- `Component.types.ts` - props и локальные типы.
- `Component.module.css` - локальные стили.