architect/arh/standards/structure-old/LAYERS_GUIDE.md

LAYERS GUIDE — Слои для уровней иерархии

Какие слои на каких уровнях и ПОЧЕМУ

Версия: 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 ⚠️

Обозначения:
- ✅ — рекомендуется (создавать почти всегда)
- ⚠️ — опционально (создавать только если нужно)
- ❌ — не использовать (неправильный уровень)
- — — не применимо (не имеет смысла)


РАСШИРЕНИЯ (10 типов слоёв)

Слой Расширение О чём Уровни
Бизнес .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

1. ORGANIZATION (организация)

Что это

Компания, организация верхнего уровня.

Пример: 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/ — код (на уровне организации кода нет)


2. DOMAIN (направление)

Что это

Направление деятельности организации (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)


3. PROJECT (проект)

Что это

Конкретный проект (сайт, приложение, система).

Пример: 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)

Опционально: src/

⚠️ Код на уровне проекта — только если есть общие библиотеки:

project/
├── requirements.biz.md
├── architecture.arc.md
└── src/               ← опционально
    └── lib/           ← общие библиотеки для всех модулей
        └── Utils.php

4. ENGINE (движок)

Что это

Движок, платформа (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)

Опционально: .ops.md

⚠️ Только если есть специфичные операции движка:

cscart/
├── engine-upgrade.ops.md    ← как обновить CS-Cart 4.18 → 4.19
└── cache-clear.ops.md       ← как чистить кеш

Но обычно это НЕ нужно — лучше в project/deployment.ops.md


5. MODULE (модуль)

Что это

Модуль движка, пакет, библиотека.

Пример: 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
]

SQL

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)


6. COMPONENT (компонент)

Что это

Компонент модуля, класс, небольшая часть.

Пример: 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/ (код в модулях, не в проекте)

ЧАСТЫЕ ОШИБКИ

Ошибка 1: Не тот уровень

Неправильно:

catalog/                    ← module
└── architecture.arc.md     ← ОШИБКА! это project уровень

Правильно:

project/
├── architecture.arc.md     ← архитектура проекта

catalog/                    ← module
└── design.dsg.md           ← дизайн модуля

Ошибка 2: Слишком много документов

Неправильно:

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

Ошибка 3: Документы вместо кода

Неправильно:

src/Products/
├── purpose.biz.md          ← зачем? компонент = код
├── design.dsg.md           ← избыточно
└── Products.php

Правильно:

src/Products/
└── Products.php            ← только код

ИЛИ (если сложный):

src/Products/
├── spec.spc.md             ← только спека
└── Products.php

ЧЕКЛИСТ СОЗДАНИЯ ДОКУМЕНТА

Перед созданием файла спроси:

Если хотя бы один "нет" → НЕ создавай.


ПРИМЕРЫ ПО УРОВНЯМ

organization (lideravto/)

lideravto/
├── vision.biz.md           ✅ видение компании
├── strategy.biz.md         ✅ стратегия
├── processes.ops.md        ✅ бизнес-процессы
└── departments.str.md      ✅ оргструктура

domain (it/)

it/
├── requirements.biz.md     ✅ требования к IT
├── tech-stack.arc.md       ✅ технологии
├── infrastructure.arc.md   ✅ инфраструктура
└── deployment.ops.md       ✅ процессы деплоя

project (lideravto-2026/)

lideravto-2026/
├── requirements.biz.md     ✅ бизнес-требования
├── roadmap.prj.md          ✅ план проекта
├── architecture.arc.md     ✅ архитектура
└── deployment.ops.md       ⚠️ опционально

engine (cscart/)

cscart/
├── config.php              ✅ конфиг
├── .env                    ✅ переменные
└── modules/                ✅ модули

module (catalog/)

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/                    ✅ код

component (src/Products/)

src/Products/
└── Products.php            ✅ только код

ИЛИ:

src/Products/
├── spec.spc.md             ⚠️ если сложный
└── Products.php

СВЯЗАННЫЕ СТАНДАРТЫ


Версия: 1.0.0
Автор: Architect