Какие слои на каких уровнях и ПОЧЕМУ
Версия: 1.0.0
Дата: 2026-02-07
| Уровень | .biz | .ops | .str | .prj | .arc | .dsg | .spc | .api | .pmt | .tst | src/ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. organization | ✅ | ✅ | ✅ | — | — | — | — | — | — | — | ❌ |
| 2. domain | ✅ | ✅ | — | — | ✅ | — | — | — | — | — | ❌ |
| 3. project | ✅ | ⚠️ | — | ✅ | ✅ | — | — | — | — | — | ⚠️ |
| 4. engine | — | ⚠️ | — | — | — | — | — | — | — | — | ✅ |
| 5. module | ⚠️ | — | — | — | — | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 6. component | — | — | — | — | — | — | ✅ | — | ✅ | ⚠️ | ✅ |
Обозначения:
- ✅ — рекомендуется (создавать почти всегда)
- ⚠️ — опционально (создавать только если нужно)
- ❌ — не использовать (неправильный уровень)
- — — не применимо (не имеет смысла)
| Слой | Расширение | О чём | Уровни |
|---|---|---|---|
| Бизнес | .biz.md |
Зачем, ценность, требования | org, domain, project, module |
| Операции | .ops.md |
Процессы, деплой, backup | org, domain |
| Структура | .str.md |
Оргструктура, отделы | org |
| Проект | .prj.md |
План проекта, роадмап | project |
| Архитектура | .arc.md |
Техстек, архитектура системы | domain, project |
| Дизайн | .dsg.md |
Техническое решение | module |
| Спецификация | .spc.md |
Детальное описание функций | module, component |
| API | .api.md |
Интерфейсы, методы | module |
| Промпт | .pmt.md |
Инструкции для AI-кодера | module, component |
| Тесты | .tst.md |
Тест-план, тест-кейсы | module |
Компания, организация верхнего уровня.
Пример: lideravto (компания)
| Слой | Зачем | Пример файла |
|---|---|---|
| .biz ✅ | Видение компании, миссия, стратегия | vision.biz.md, strategy.biz.md |
| .ops ✅ | Бизнес-процессы верхнего уровня | processes.ops.md, governance.ops.md |
| .str ✅ | Оргструктура, отделы | departments.str.md, org-chart.str.md |
vision.biz.md:
# Видение: ЛидерАвто
## Миссия
Лидер в продаже б/у запчастей для грузовой техники.
## Рынок
Разборка грузовиков в России.
## Цели 2026
- Увеличить выручку на 40%
- Запустить новый сайт
- Открыть 2 филиала
processes.ops.md:
# Бизнес-процессы
## Продажа запчасти
1. Клиент звонит/заказывает на сайте
2. Менеджер проверяет наличие
3. Резерв запчасти на складе
4. Оплата
5. Доставка
## Приёмка грузовика
1. Осмотр
2. Оценка
3. Покупка
4. Разборка
5. Маркировка запчастей
departments.str.md:
# Структура компании
Директор
├── Коммерческий директор
│ ├── Отдел продаж (5 чел)
│ └── Маркетинг (2 чел)
├── Технический директор
│ ├── Склад (3 чел)
│ └── Разборка (4 чел)
└── IT отдел (1 чел)
❌ .arc.md — архитектура системы (это для domain/project)
❌ .spc.md — спецификации функций (это для module)
❌ src/ — код (на уровне организации кода нет)
Направление деятельности организации (it, biz, fin, sales, logistics).
Пример: it (IT-направление в компании lideravto)
| Слой | Зачем | Пример файла |
|---|---|---|
| .biz ✅ | Требования к направлению | requirements.biz.md |
| .arc ✅ | Техстек направления | tech-stack.arc.md, infrastructure.arc.md |
| .ops ✅ | Процессы направления | deployment.ops.md, monitoring.ops.md |
requirements.biz.md:
# Требования к IT
## Задачи IT отдела
- Поддержка сайтов (3 сайта)
- Интеграции (1С, BAZON, OZON)
- Инфраструктура (сервер, БД)
## Ресурсы
- 1 программист
- Бюджет: 500К/год
- Хостинг: VPS 4CPU/8GB
## Приоритеты 2026
1. Новый сайт lideravto.ru
2. Интеграция с OZON
3. CRM система
tech-stack.arc.md:
# Техстек IT-направления
## Веб
- Backend: PHP 8.1
- CMS: CS-Cart 4.19
- Frontend: JavaScript (Vanilla)
- БД: MySQL 8.0
## Инфраструктура
- Сервер: VPS (4CPU, 8GB RAM)
- ОС: Ubuntu 22.04
- Веб-сервер: Nginx
- PHP-FPM
## Интеграции
- 1С через API
- BAZON через XML
- OZON через API
infrastructure.arc.md:
# Инфраструктура
## Серверы
### Production
- IP: 91.218.142.168
- Домены: lideravto.ru, pirotehnika.ru
### Development
- IP: тот же
- Домены: work.lideravto.ru, dev.pirotehnika.ru
## Сервисы
- MySQL: порт 3306
- Redis: порт 6379
- Nginx: порт 80/443
❌ .str.md — структура (это для organization)
❌ .prj.md — план проекта (это для project)
❌ .spc.md — спецификации (это для module)
Конкретный проект (сайт, приложение, система).
Пример: lideravto-2026 (новый сайт)
| Слой | Зачем | Пример файла |
|---|---|---|
| .biz ✅ | Бизнес-требования к проекту | requirements.biz.md |
| .prj ✅ | План проекта, роадмап | roadmap.prj.md, milestones.prj.md |
| .arc ✅ | Архитектура проекта | architecture.arc.md |
| .ops ⚠️ | Операции (если сложный деплой) | deployment.ops.md |
requirements.biz.md:
# Требования: Новый сайт lideravto.ru
## Цель
Современный сайт для продажи запчастей.
## Требования
### Каталог
- Фильтры по марке
- Поиск по артикулу
- Пагинация
### Импорт
- Автоимпорт BAZON
- Обновление цен
### SEO
- ЧПУ URLs
- Meta-теги
- Sitemap
## Метрики успеха
- Конверсия +30%
- Скорость <2 сек
roadmap.prj.md:
# Роадмап проекта
## Февраль 2026
- [x] Импорт BAZON
- [ ] Каталог с фильтрами
- [ ] SEO оптимизация
## Март 2026
- [ ] Тестирование
- [ ] Запуск на production
## Апрель 2026
- [ ] Интеграция с OZON
- [ ] Мобильное приложение
architecture.arc.md:
# Архитектура: lideravto.ru
## Движок
CS-Cart 4.19.1
## Модули
1. lider_import — импорт BAZON
2. catalog — каталог товаров
3. seo — SEO оптимизация
## База данных
MySQL 8.0
- 50,000 товаров
- 200 категорий
- 1,000 заказов/месяц
## Интеграции
- BAZON (XML, каждые 6 часов)
- 1С (API, синхронизация заказов)
deployment.ops.md:
# Развёртывание
## Окружения
- dev: work.lideravto.ru
- test: test.lideravto.ru
- prod: lideravto.ru
## Процесс деплоя
1. Тесты в test/
2. Бэкап prod
3. Копирование dev → prod
4. Миграция БД
5. DNS переключение
## Откат
Restore из бэкапа
❌ .dsg.md — дизайн компонентов (это для module)
❌ .spc.md — спецификации функций (это для module)
❌ .pmt.md — промпты (это для module/component)
⚠️ Код на уровне проекта — только если есть общие библиотеки:
project/
├── requirements.biz.md
├── architecture.arc.md
└── src/ ← опционально
└── lib/ ← общие библиотеки для всех модулей
└── Utils.php
Движок, платформа (CS-Cart, WordPress, Laravel).
Пример: cscart (папка движка CS-Cart)
НЕТ документов .md на этом уровне!
Движок = только конфиги + код:
cscart/
├── config.php ← конфиг движка
├── .env ← переменные окружения
├── var/ ← данные движка
└── modules/ ← модули (следующий уровень)
✅ Конфиги:
- config.php
- .env
- database.php
✅ Код движка:
- index.php
- core/
- vendor/
❌ Любые .md файлы
❌ .biz.md — бизнес-документы (это уровень выше — project)
❌ .arc.md — архитектура (это уровень выше — project)
⚠️ Только если есть специфичные операции движка:
cscart/
├── engine-upgrade.ops.md ← как обновить CS-Cart 4.18 → 4.19
└── cache-clear.ops.md ← как чистить кеш
Но обычно это НЕ нужно — лучше в project/deployment.ops.md
Модуль движка, пакет, библиотека.
Пример: catalog (модуль каталога в CS-Cart)
| Слой | Зачем | Пример файла |
|---|---|---|
| .biz ⚠️ | Назначение модуля (опционально) | purpose.biz.md |
| .dsg ✅ | Техническое решение | design.dsg.md |
| .spc ✅ | Спецификации функций | catalog-products.spc.md |
| .api ✅ | API модуля | api.api.md |
| .pmt ✅ | Промпты для кода | products-create.pmt.md |
| .tst ✅ | Тесты | test.tst.md |
| src/ ✅ | Код модуля | src/Products.php |
purpose.biz.md (опционально, для новых модулей):
# Назначение: Каталог
## Зачем
Удобный каталог товаров с фильтрами.
## Ценность
- Клиент быстро находит запчасть
- Конверсия +30%
design.dsg.md:
# Дизайн: Каталог
## Компоненты
1. ProductList — список товаров
2. Filters — фильтры
3. Search — поиск
4. Pagination — пагинация
## Данные
| Компонент | Таблица | API |
|-----------|---------|-----|
| ProductList | cscart_products | fn_get_products() |
| Filters | cscart_features | fn_get_filters() |
## Алгоритм
1. Получить фильтры (GET)
2. Построить SQL WHERE
3. Получить товары
4. Рендер
catalog-products.spc.md:
# Спецификация: Список товаров
## Функция
### fn_get_catalog_products($params)
**Параметры:**
- `category_id` (int)
- `brand` (string)
- `page` (int)
**Возвращает:**
```php
[
'products' => [...],
'total' => 150
]
SELECT * FROM cscart_products
WHERE category_id = ?
AND brand = ?
LIMIT ?, ?
**api.api.md:**
```markdown
# API: Каталог
## Функции
### fn_get_catalog_products($params)
Получить товары
### fn_get_catalog_filters($category_id)
Получить фильтры
## Использование
```php
$products = fn_get_catalog_products([
'category_id' => 5,
'brand' => 'MAN'
]);
**products-create.pmt.md:**
```markdown
# Промпт: Создать Products
Создай класс Products в `src/Products.php`
## Требования
1. Метод getProducts($params)
2. По спеке catalog-products.spc.md
3. PDO prepared statements
## Использовать
- db_get_array()
- fn_paginate()
## НЕ использовать
- Прямой SQL
test.tst.md:
# Тесты: Каталог
## Unit
- [ ] fn_get_products() работает
- [ ] Фильтры применяются
## Интеграционные
- [ ] Товары из БД
- [ ] Поиск работает
## Ручные
1. Открыть /catalog
2. Выбрать марку MAN
3. Проверить: только MAN
catalog/
├── purpose.biz.md ← опционально
├── design.dsg.md ← рекомендуется
├── catalog-products.spc.md ← обязательно (дробление)
├── catalog-filters.spc.md
├── catalog-search.spc.md
├── api.api.md ← рекомендуется
├── products-create.pmt.md ← если AI кодит
├── filters-create.pmt.md
├── test.tst.md ← рекомендуется
└── src/ ← код
├── Products.php
├── Filters.php
└── Search.php
❌ .arc.md — архитектура (это для project)
❌ .prj.md — план проекта (это для project)
❌ .ops.md — операции (это для project/domain)
Компонент модуля, класс, небольшая часть.
Пример: src/Products/ (компонент Products внутри модуля catalog)
| Слой | Зачем | Пример файла |
|---|---|---|
| .spc ✅ | Спецификация компонента | spec.spc.md |
| .pmt ✅ | Промпт для создания | prompt.pmt.md |
| .tst ⚠️ | Тесты (если сложный) | test.tst.md |
| src/ ✅ | Код компонента | Products.php |
spec.spc.md:
# Спецификация: Products
## Класс
class Products
## Методы
### getProducts($params)
**Параметры:**
- `$params` (array)
**Возвращает:**
- array
**Логика:**
1. Валидировать params
2. Построить SQL
3. Выполнить запрос
4. Вернуть массив
prompt.pmt.md:
# Промпт: Создать Products
Создай класс в `Products.php`
По спеке spec.spc.md
Требования:
- PSR-4
- Типизация
- PHPDoc
Простой компонент:
src/Products/
└── Products.php ← только код (без документов)
Сложный компонент:
src/Products/
├── spec.spc.md ← если сложная логика
├── prompt.pmt.md ← если генерируем AI
└── Products.php ← код
❌ .biz.md — назначение (это для module)
❌ .dsg.md — дизайн (это для module)
❌ .arc.md — архитектура (это для project)
❌ .api.md — API (это для module)
Обычно компонент = только код.
Документы только если:
- Сложная логика
- Генерируем AI
- Нужны детальные тесты
1. Определить уровень (organization/domain/project/engine/module/component)
2. Посмотреть в матрицу слоёв
3. Выбрать нужные слои (✅ или ⚠️)
4. Создать ТОЛЬКО нужные файлы
Ситуация 1: Создаю новый модуль импорта
Уровень: module
Нужно описать: ЧТО импортирует, КАК устроен, СПЕКА функций
Выбираю слои:
✅ purpose.biz.md — зачем модуль
✅ design.dsg.md — как устроен
✅ import.spc.md — что делает функция
✅ api.api.md — интерфейс
✅ create.pmt.md — промпт для AI
✅ test.tst.md — тесты
✅ src/func.php — код
НЕ создаю:
❌ architecture.arc.md (это project уровень)
❌ deployment.ops.md (это project уровень)
Ситуация 2: Описываю IT-направление компании
Уровень: domain
Нужно описать: требования к IT, техстек, инфраструктуру
Выбираю слои:
✅ requirements.biz.md — что нужно от IT
✅ tech-stack.arc.md — технологии
✅ infrastructure.arc.md — серверы, сервисы
✅ deployment.ops.md — процессы деплоя
НЕ создаю:
❌ purpose.biz.md (слишком общо для domain)
❌ spec.spc.md (это module уровень)
❌ src/ (на domain уровне нет кода)
Ситуация 3: Создаю проект (новый сайт)
Уровень: project
Нужно описать: требования, план, архитектуру
Выбираю слои:
✅ requirements.biz.md — бизнес-требования
✅ roadmap.prj.md — план проекта
✅ architecture.arc.md — техническая архитектура
⚠️ deployment.ops.md — опционально (если сложный деплой)
НЕ создаю:
❌ design.dsg.md (это module уровень)
❌ spec.spc.md (это module уровень)
❌ src/ (код в модулях, не в проекте)
❌ Неправильно:
catalog/ ← module
└── architecture.arc.md ← ОШИБКА! это project уровень
✅ Правильно:
project/
├── architecture.arc.md ← архитектура проекта
catalog/ ← module
└── design.dsg.md ← дизайн модуля
❌ Неправильно:
catalog/
├── purpose.biz.md ← зачем
├── vision.biz.md ← дубликат! ❌
├── requirements.biz.md ← дубликат! ❌
├── design.dsg.md
└── architecture.arc.md ← не тот уровень! ❌
✅ Правильно:
catalog/
├── purpose.biz.md ← одного достаточно
├── design.dsg.md
└── catalog.spc.md
❌ Неправильно:
src/Products/
├── purpose.biz.md ← зачем? компонент = код
├── design.dsg.md ← избыточно
└── Products.php
✅ Правильно:
src/Products/
└── Products.php ← только код
ИЛИ (если сложный):
src/Products/
├── spec.spc.md ← только спека
└── Products.php
Перед созданием файла спроси:
Если хотя бы один "нет" → НЕ создавай.
lideravto/
├── vision.biz.md ✅ видение компании
├── strategy.biz.md ✅ стратегия
├── processes.ops.md ✅ бизнес-процессы
└── departments.str.md ✅ оргструктура
it/
├── requirements.biz.md ✅ требования к IT
├── tech-stack.arc.md ✅ технологии
├── infrastructure.arc.md ✅ инфраструктура
└── deployment.ops.md ✅ процессы деплоя
lideravto-2026/
├── requirements.biz.md ✅ бизнес-требования
├── roadmap.prj.md ✅ план проекта
├── architecture.arc.md ✅ архитектура
└── deployment.ops.md ⚠️ опционально
cscart/
├── config.php ✅ конфиг
├── .env ✅ переменные
└── modules/ ✅ модули
catalog/
├── purpose.biz.md ⚠️ опционально
├── design.dsg.md ✅ дизайн
├── catalog-products.spc.md ✅ спеки
├── catalog-filters.spc.md ✅ спеки
├── api.api.md ✅ API
├── products-create.pmt.md ✅ промпты
├── test.tst.md ✅ тесты
└── src/ ✅ код
src/Products/
└── Products.php ✅ только код
ИЛИ:
src/Products/
├── spec.spc.md ⚠️ если сложный
└── Products.php
Версия: 1.0.0
Автор: Architect