2026-04-30 19:32:10 +03:00
---
title: Создание проекта вручную
description: Поэтапное создание нового проекта без использования шаблона.
keywords: [создать проект, новый проект, с нуля, init, initialize, scaffold, create-next-app, начать проект, поднять проект, эталонный проект, ручная установка]
---
# Создание проекта вручную
Поэтапное создание нового проекта без использования шаблона.
## Состав эталонного проекта
| Компонент | Роль | Раздел |
|-----------|------|--------|
| Next.js | Фреймворк (роутинг, сборка, SSR) | [Next.js ](./nextjs.md ) |
2026-05-08 19:34:39 +03:00
| Алиасы | Импорты по слоям SLM | [Алиасы ](../aliases.md ) |
| Biome | Линтер и форматтер (замена ESLint + Prettier) | [Biome ](../biome.md ) |
| Стили | Глобальные токены и breakpoints | [Стили ](../styles/styles-setup.md ) |
| PostCSS | CSS-процессор для custom-media и вложенности | [PostCSS ](../postcss.md ) |
| SVG-спрайты | Иконки через `<SvgSprite/>` , управление цветом | [SVG-спрайты ](../svg-sprites/svg-sprites-setup.md ) |
| VS Code | Настройки редактора и расширения | [VS Code ](../vscode.md ) |
| Шаблоны генерации | `.templates/` для `@gromlab/create` | [Шаблоны генерации ](../templates/templates-setup.md ) |
2026-04-30 19:32:10 +03:00
Убрать компонент из состава — значит согласованно отказаться от части стайлгайда. Частичные проекты возможны (только Next.js, Next.js + стили и т.п.), но не являются эталоном.
## Канон раскладки
2026-05-08 19:34:39 +03:00
В `src/` допустимы только слои SLM: `app/` , `layouts/` , `screens/` , `widgets/` , `business/` , `infra/` , `ui/` , `shared/` . Любая другая папка в `src/` — нарушение канона ([Структура проекта ](../project-structure.md ), [Архитектура ](../../basics/architecture/index.md )).
2026-04-30 19:32:10 +03:00
В частности: `src/app/` содержит только файлы роутинга Next.js и инициализации, без каталогов `styles/` , `assets/` , `components/` .
## Порядок установки
Подсистемы ставятся в фиксированном порядке — он отражает зависимости между шагами.
### 1. Next.js
Скелет фреймворка — обязательный первый шаг, остальное опирается на него.
См. [Next.js ](./nextjs.md ). После выполнения проверки этого раздела `npm run build` должен проходить.
### 2. Алиасы
Заменить дефолтный `"@/*"` в `tsconfig.json` на канонический список из восьми слой-префиксов.
2026-05-08 19:34:39 +03:00
См. [Алиасы ](../aliases.md ).
2026-04-30 19:32:10 +03:00
### 3. Biome
Линтер и форматтер. Подключается **до** написания кода, иначе в проекте копятся несогласованные правки.
2026-05-08 19:34:39 +03:00
См. [Biome ](../biome.md ).
2026-04-30 19:32:10 +03:00
### 4. Стили (базовая инфраструктура)
Файлы `variables.css` , `media.css` , `global.css` в `src/shared/styles/` и подключение `global.css` в `src/app/layout.tsx` . CSS-процессор на этом шаге не ставится.
2026-05-08 19:34:39 +03:00
См. [Стили ](../styles/styles-setup.md ).
2026-04-30 19:32:10 +03:00
### 5. PostCSS
CSS-процессор поверх базовых стилей: `@custom-media` , вложенность, autoprefixer. Ставится **только после шага 4** — опирается на `src/shared/styles/media.css` .
2026-05-08 19:34:39 +03:00
См. [PostCSS ](../postcss.md ).
2026-04-30 19:32:10 +03:00
### 6. SVG-спрайты
Пакет `@gromlab/svg-sprites` , генерация спрайт-файла и React-компонента `<SvgSprite/>` .
2026-05-08 19:34:39 +03:00
См. [SVG-спрайты ](../svg-sprites/svg-sprites-setup.md ).
2026-04-30 19:32:10 +03:00
### 7. VS Code
Расширения и настройки редактора. Опирается на установленный Biome (форматирование при сохранении) и PostCSS (ассоциация `*.css` ).
2026-05-08 19:34:39 +03:00
См. [VS Code ](../vscode.md ).
2026-04-30 19:32:10 +03:00
### 8. Шаблоны генерации
Папка `.templates/` для генератора модулей `@gromlab/create` .
2026-05-08 19:34:39 +03:00
См. [Шаблоны генерации ](../templates/templates-setup.md ).
2026-04-30 19:32:10 +03:00
## Правила
- **Порядок шагов фиксирован.** Перестановка ломает зависимости (PostCSS требует базовых стилей, VS Code — установленного Biome).
- **Между шагами обязательна проверка** из соответствующего раздела. Н е переходить дальше, пока чеклист текущего шага не пройден.
2026-05-08 08:21:34 +03:00
- **Слои `src/` ** (`layouts/` , `screens/` , `widgets/` , `business/` , `infra/` , `ui/` ) не создавать авансом. Появляются по мере первого модуля. Исключения — `src/app/` (создаётся `create-next-app` ), `src/shared/styles/` (шаг 1) и `src/shared/sprites/icons/` (шаг 6).
2026-04-30 19:32:10 +03:00
- **Посторонние каталоги в `src/` ** (`assets/` , `utils/` , `lib/` , `components/` и т.п.) — запрещены.
- **Подмножество шагов допустимо.** Можно ставить только Next.js и часть инструментов; полный набор — это эталон, а не обязательство.