Files
nextjs-style-guide/docs/ru/applied/project-structure.md
S.Gromov f5732904f4
All checks were successful
CI/CD Pipeline / docker (push) Successful in 39s
CI/CD Pipeline / deploy (push) Successful in 7s
refactor(architecture): декомпозировать раздел на 4 файла
- architecture.md разбит на architecture/index.md + reference/layers.md, modules.md, segments.md
- добавлена вложенность в сайдбар (Слои, Модули, Сегменты)
- обновлён fileOrder в concat-md.js для 4 файлов
- исправлены dead links на /basics/architecture (добавлен слеш)
- перегенерированы RULES.md и README
2026-04-20 11:40:49 +03:00

4.8 KiB
Raw Blame History

title
title
Структура проекта

Структура проекта

Раздел описывает расположение файлов и папок в проекте Next.js (App Router).

Корень репозитория

project-root/
├── .templates/           # Шаблоны для генерации модулей
├── .vscode/              # Настройки и рекомендуемые расширения VS Code
├── public/               # Статика, доступная по прямому URL
├── src/                  # Исходный код приложения
├── .env.example          # Переменные окружения проекта (шаблон)
├── .env                  # Переменные окружения проекта (не коммитить)
├── .gitignore
├── AGENTS.md             # Инструкции для AI-агентов
├── biome.json            # Линтер и форматтер (вместо ESLint + Prettier)
├── next.config.ts        # Конфигурация Next.js
├── package.json          # Зависимости и скрипты
├── postcss.config.mjs    # Конфигурация PostCSS
└── tsconfig.json         # Конфигурация TypeScript

Папка public/

Хранит статические файлы, которые отдаются по прямому URL без обработки сборщиком:

public/
└── og-image.png

Компоненты, стили и другой исходный код здесь не размещаются.

Папка src/

src/
├── app/        # Роутинг Next.js, провайдеры, глобальные стили
├── layouts/        # Каркасы страниц (header, footer, sidebar)
├── screens/        # Контент конкретной страницы
├── widgets/        # Составные блоки интерфейса, не привязанные к домену
├── business/       # Бизнес-домены (auth, catalog, orders)
├── infrastructure/ # Техсервисы (theme, i18n, API-адаптеры)
├── ui/             # UI-кит без бизнес-логики
└── shared/         # Общие ресурсы (утилиты, типы, стили)

Принципы организации слоёв описаны в разделе Архитектура.

Папка app/

Точка входа приложения: инициализация (провайдеры, глобальные стили) и файловый роутинг Next.js (layout.tsx, page.tsx, route-сегменты).

src/app/
├── providers/    # Провайдеры приложения
├── styles/       # Глобальные стили
├── layout.tsx    # Корневой layout
└── page.tsx      # Главная страница

Папка .templates/

Содержит шаблоны для генерации кода. Каждый подкаталог — шаблон отдельного типа модуля:

.templates/
├── component/    # Шаблон компонента
├── screen/       # Шаблон экрана
├── layout/       # Шаблон layout
├── widget/       # Шаблон виджета
├── module/       # Шаблон бизнес-модуля
└── store/        # Шаблон стора

Подробнее о генерации описано в разделе Шаблоны и генерация кода.

Конфигурационные файлы

Файл Назначение
next.config.ts Настройки Next.js: редиректы, переменные окружения, webpack
tsconfig.json Настройки TypeScript: пути, строгость, таргет
biome.json Правила линтера и форматтера Biome
postcss.config.mjs Подключение PostCSS-плагинов (CSS Modules, custom media)
package.json Зависимости, версии, npm-скрипты
AGENTS.md Инструкции для AI-агентов, работающих в проекте

Переменные окружения

  • .env — переменные окружения проекта, запрещено коммитить
  • .env.example — шаблон, коммитится в репозиторий

Переменные с префиксом NEXT_PUBLIC_ доступны в клиентском коде. Остальные доступны только на сервере.