Files
nextjs-style-guide/README_RU.md
S.Gromov 99c0995cb6
All checks were successful
CI/CD Pipeline / docker (push) Successful in 1m10s
CI/CD Pipeline / deploy (push) Successful in 8s
feat: генерация llms.txt, лендинг с выбором языка и ZIP-архивов
- удалён concat-md.js: вместо единого RULES.md теперь llms.txt
- добавлен generate-llms.ts: собирает llms.txt из sidebar config, копирует
  .md-файлы для отдачи LLM и упаковывает ZIP-архивы по локалям
- добавлен корневой /llms.txt как роутер на /ru/llms.txt и /en/llms.txt
- добавлен манифест /manifest.json со ссылками и версией сборки
- добавлен лендинг docs/index.md (layout: false) с автоопределением
  языка, переключателями языка и темы
- английская локаль временно заблокирована: карточки как заглушки,
  ссылка на /en/ в роутере без href
- добавлены поля llmsBlockquote и llmsContext в локали для
  технодокументационного описания в llms.txt
- разделены VitePress-локали: root (только лендинг), ru (/ru/), en (/en/)
- добавлен srcExclude: ['public/**'] чтобы VitePress не рендерил
  сгенерированные .md как страницы
- добавлен Vite-плагин для отдачи .txt и .md с charset=utf-8
- добавлена секция в Caddyfile для текстовых файлов
- BUILD_VERSION пробрасывается из Gitea CI через docker --build-arg
  и подставляется в лендинг через Vite define
- Dockerfile: установка zip, npm run llms перед npm run build
- обновлены внутренние ссылки в docs/ru/**/*.md на префикс /ru/
- обновлены AGENTS.md и CONTRIBUTING.md под новый процесс
- README/README_RU генерируются из docs/{lang}/index.md, остаются в репо
2026-04-25 18:06:27 +03:00

3.9 KiB
Raw Permalink Blame History

NextJS Style Guide

Правила и стандарты разработки на NextJS и TypeScript: архитектура, типизация, стили, компоненты, API и инфраструктурные разделы.

Для ассистентов

Карта документации со ссылками на все разделы (формат llmstxt.org): https://gromlab.ru/docs/nextjs-style-guide/raw/branch/main/generated/ru/llms.txt

Структура документации

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 (не заполнен)
Хуки (не заполнен)
Шрифты (не заполнен)
Локализация (не заполнен)