Files
svg-sprites/preview/ai/applied/project-structure.md
S.Gromov e77e7dfcf1 refactor: заменить shiki на самописный highlighter и обновить архитектуру
- Удалён shiki (9.5→0 МБ), создан regex-токенизатор для html/css/xml
- CLI переведён с аргументов на конфиг-файл svg-sprites.config.ts
- Превью переработано: React-приложение вместо инлайн HTML
- Добавлен футер с названием пакета и ссылкой на репозиторий
- Исправлена загрузка dev-data.js для Vite 8
- Футер прижат к низу, содержимое центрировано
2026-04-22 16:54:35 +03:00

5.0 KiB
Raw Blame History

title, scope, keywords, when
title scope keywords when
Структура проекта applied
структура проекта
папки
src/app
src/shared
SLM Design
Next.js структура
Организация папок и файлов в Next.js проекте

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

Раздел описывает расположение файлов и папок в проекте 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-кит без бизнес-логики (button, modal, toast)
└── 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/       # Шаблон виджета
├── business/     # Шаблон бизнес-модуля
└── 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_ доступны в клиентском коде. Остальные доступны только на сервере.