- Удалена английская версия документации (docs/en/) и артефакты en - Контент перенесён docs/ru/ → docs/docs/, URL /ru/ заменён на /docs/ - Из .vitepress/config.ts убраны locales и enSidebar, оставлен один sidebar - Из лендинга удалён переключатель языка ru/en и en-словарь - generate-llms.ts переписан без параметра lang; llms.txt, llms-full.txt и nextjs-style-guide.zip генерируются в корень docs/public/ - README_RU.md занял место корневого README.md - Обновлены CONTRIBUTING.md, custom.css, комментарий в Dockerfile
70 lines
4.4 KiB
Markdown
70 lines
4.4 KiB
Markdown
# NextJS Style Guide
|
||
|
||
Соглашения по разработке Next.js проектов: архитектура и слои приложения, структура кода, организация модулей, стилизация, типизация и инфраструктура.
|
||
|
||
## Использование
|
||
|
||
**Для AI-агентов:**
|
||
|
||
- [Карта разделов](https://nextjs-style-guide.gromlab.ru/llms.txt) — `llms.txt`, оглавление со ссылками на разделы.
|
||
- [Полный текст](https://nextjs-style-guide.gromlab.ru/llms-full.txt) — `llms-full.txt`, вся документация одним файлом.
|
||
|
||
**Для проекта:**
|
||
|
||
- [Архив с правилами](https://nextjs-style-guide.gromlab.ru/nextjs-style-guide.zip) — `nextjs-style-guide.zip`, набор Markdown-файлов для распаковки в `./ai/nextjs-style-guide/` или другую папку проекта.
|
||
|
||
## Структура документации
|
||
|
||
### Workflow
|
||
|
||
**Что делать и в каком порядке** — пошаговые инструкции.
|
||
|
||
| Раздел | Отвечает на вопрос |
|
||
|--------|-------------------|
|
||
| Начало работы | Что нужно знать перед началом разработки? |
|
||
| Создание проекта | Как начать новый проект? |
|
||
| Генерация кода | Какие модули должны генерироваться из шаблонов? |
|
||
| Добавление страницы | Как добавить новую страницу в проект? |
|
||
| Добавление UI-модуля | Как создать компонент, бизнес-модуль, виджет или layout? |
|
||
| Стилизация | Как стилизовать компоненты в проекте? |
|
||
| Получение данных | Как получать данные с сервера? |
|
||
| Управление состоянием | Как работать с состоянием? |
|
||
| Локализация | Как добавлять переводы и подключать локализацию? |
|
||
|
||
### Базовые правила
|
||
|
||
**Каким должен быть код** — стандарты, не привязанные к конкретной технологии.
|
||
|
||
| Раздел | Отвечает на вопрос |
|
||
|--------|-------------------|
|
||
| Технологии и библиотеки | Какой стек используем? |
|
||
| Архитектура | Как устроены слои SLM, зависимости, публичный API? |
|
||
| Стиль кода | Как оформлять код: отступы, кавычки, импорты, early return? |
|
||
| Именование | Как называть файлы, переменные, компоненты, хуки? |
|
||
| Документирование | Как писать JSDoc: что документировать, а что нет? |
|
||
| Типизация | Как типизировать: type vs interface, any/unknown? |
|
||
|
||
### Прикладные разделы
|
||
|
||
**Как это настроить и использовать** — конфигурация, структура и примеры кода для конкретных областей.
|
||
|
||
| Раздел | Отвечает на вопрос |
|
||
|--------|-------------------|
|
||
| Настройка VS Code | Как настроить редактор для проекта? |
|
||
| Структура проекта | Как организованы папки и файлы по SLM? |
|
||
| Компоненты | Как устроен компонент: файлы, пропсы, clsx? |
|
||
| Page-level компоненты | Как описывать layout, page, loading, error, not-found? |
|
||
| Шаблоны и генерация кода | Как работают шаблоны, синтаксис и инструменты генерации? |
|
||
| Стили | Как писать CSS: PostCSS Modules, вложенность, медиа, токены? |
|
||
| Изображения | _(не заполнен)_ |
|
||
| SVG-спрайты | _(не заполнен)_ |
|
||
| Видео | _(не заполнен)_ |
|
||
| API | _(не заполнен)_ |
|
||
| Stores | _(не заполнен)_ |
|
||
| Хуки | _(не заполнен)_ |
|
||
| Шрифты | _(не заполнен)_ |
|
||
| Локализация | _(не заполнен)_ |
|
||
|
||
|
||
|