NextJS Style Guide
Правила и стандарты разработки на NextJS и TypeScript: архитектура, типизация, стили, компоненты, API и инфраструктурные разделы.
Для ассистентов
Полная документация в одном MD файле: https://gromlab.ru/docs/frontend-style-guide/raw/branch/main/generated/ru/RULES.md
Структура документации
Workflow
Что делать в конкретной ситуации — пошаговые инструкции.
| Раздел | Отвечает на вопрос |
|---|---|
| Начало работы | Какие инструменты установить перед началом разработки? |
| Создание приложения | Как создать новый проект, откуда взять шаблон? |
| Создание страниц | Как добавить страницу: роутинг и экран? |
| Создание компонентов | Как генерировать компоненты через шаблоны? |
| Стилизация | Чем стилизовать: Mantine, токены или PostCSS? |
| Работа с данными | Как получать данные: SWR, кодген, сокеты? |
| Управление состоянием | Когда и как создавать стор (Zustand)? |
| Локализация | Как добавлять переводы и работать с i18next? |
Базовые правила
Каким должен быть код — стандарты, не привязанные к конкретной технологии.
| Раздел | Отвечает на вопрос |
|---|---|
| Технологии и библиотеки | Какой стек используем? |
| Архитектура | Как устроены слои FSD, зависимости, публичный API? |
| Стиль кода | Как оформлять код: отступы, кавычки, импорты, early return? |
| Именование | Как называть файлы, переменные, компоненты, хуки? |
| Документирование | Как писать JSDoc: что документировать, а что нет? |
| Типизация | Как типизировать: type vs interface, any/unknown, FC? |
Прикладные разделы
Как устроена конкретная область — правила, структура и примеры кода для отдельных технологий и инструментов.
| Раздел | Отвечает на вопрос |
|---|---|
| Структура проекта | Как организованы папки и файлы по FSD? |
| Компоненты | Как устроен компонент: файлы, пропсы, clsx, FC? |
| Шаблоны и генерация | Как работают шаблоны: синтаксис, переменные, модификаторы? |
| Стили | Как писать CSS: PostCSS Modules, вложенность, медиа, токены? |
| Изображения | (не заполнен) |
| SVG-спрайты | (не заполнен) |
| Видео | (не заполнен) |
| API | (не заполнен) |
| Stores | (не заполнен) |
| Хуки | (не заполнен) |
| Шрифты | (не заполнен) |
| Локализация | (не заполнен) |