- Убран FC из всех шаблонов и компонентов - Заменён interface на type, .interface.ts на .type.ts - Добавлен паттерн Params/Props/RootAttrs в типы - Деструктуризация пропсов перенесена в тело компонента - Добавлены styles/ и types/ для feature, entity, widget, screen - Добавлен расширенный JSDoc-шаблон с назначением и сценариями - Исправлен баг в index.ts шаблона component - Добавлены .editorconfig, .env.example - Добавлен organizeImports.biome в .vscode/settings.json - Исправлен .gitignore для .env.example - Переписан README под проект-шаблон - Удалён CLAUDE.md
2.3 KiB
2.3 KiB
Next.js Template
Шаблон проекта на Next.js, построенный по стайлгайду.
Стек
- Next.js 16 — фреймворк
- React 19 / TypeScript 5 — UI и типизация
- Mantine UI 8 — компоненты
- Zustand 5 — глобальное состояние
- SWR 2 — получение данных
- PostCSS Modules — стили
- Biome — линтер и форматтер
- clsx — конкатенация CSS-классов
Архитектура
Проект использует кастомизированный FSD (Feature-Sliced Design):
src/
├── app/ # Роутинг Next.js, провайдеры, глобальные стили
├── screens/ # Собранные страницы (UI)
├── layouts/ # Каркасы и шаблоны страниц
├── widgets/ # Крупные самостоятельные блоки интерфейса
├── features/ # Пользовательские сценарии
├── entities/ # Бизнес-сущности
└── shared/ # Переиспользуемый код (UI, утилиты, типы)
Зависимости идут строго сверху вниз: app -> screens -> layouts -> widgets -> features -> entities -> shared.
Быстрый старт
npx tiged git@gromlab.ru:templates/nextjs.git my-app
cd my-app
npm install
npm run dev
Генерация кода
Модули создаются из шаблонов .templates/:
npx @gromlab/create component button src/shared/ui
npx @gromlab/create feature auth src/features
npx @gromlab/create widget header src/widgets
npx @gromlab/create entity user src/entities
npx @gromlab/create layout admin src/layouts
npx @gromlab/create screen profile src/screens
npx @gromlab/create store auth src/shared/model
Скрипты
| Команда | Описание |
|---|---|
npm run dev |
Запуск dev-сервера |
npm run build |
Сборка для продакшена |
npm run start |
Запуск продакшен-сервера |
npm run lint |
Проверка кода (Biome) |
npm run format |
Форматирование кода (Biome) |