Files
frontend/docs/CONVENTIONS.md
T
2026-08-14 09:43:19 +03:00

1.4 KiB

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.
  • Зависимости используют exact versions; не добавлять semver ranges.
  • Полный локальный gate: npm run verify. Pre-commit запускает staged formatting, OpenAPI check и FSD dependency checks; commit message должен следовать Conventional Commits.

File roles

  • Component.tsx - контейнер или публичный компонент.
  • Component.vm.ts - hook с данными и действиями.
  • Component.view.tsx - чистое представление.
  • Component.types.ts - props и локальные типы.
  • Component.module.css - локальные стили.