architect/standards/PROJECT_BIZ_IT_GUIDE.md

PROJECT_BIZ_IT_GUIDE — Переходы BIZ → IT → Кодер

Версия: 1.0.0
Дата: 2026-03-07

Детальный гайд к PROJECT_BIZ_IT.md.
Содержит переходы, форматы документов и примеры.


1. Переход 1: BIZ планирует

Вход: Бизнес решил создать новый канал/продукт

Что происходит:

  1. BIZ пишет BRIEF.md — зачем канал, для кого
  2. BIZ пишет CONCEPT.md — что делаем
  3. BIZ формирует REQUIREMENTS.md — что нужно от IT:
# Функциональные требования

## Каталог
- [ ] 50k товаров
- [ ] 3 уровня категорий
- [ ] Фильтры: категория, цена, марка, наличие
- [ ] Поиск по артикулу (точное совпадение)
- [ ] Поиск по названию (нечёткий)

## Корзина и оформление
- [ ] Добавление в корзину
- [ ] Быстрый заказ без регистрации
- [ ] Оформление для юрлиц

## Метрики
- Скорость загрузки < 2 сек
- Конверсия > 2%
- Uptime > 99%

Выход: REQUIREMENTS.md готов → передаём IT


2. Переход 2: BIZ → IT (граница)

Вход: REQUIREMENTS.md заполнен

Что происходит:

  1. IT создаёт подпроект: @it-site-{domain}/
  2. IT пишет DESIGN.md со ссылкой на REQUIREMENTS.md:
# DESIGN

## Входящие требования

[REQUIREMENTS.md](../@biz-{name}/REQUIREMENTS.md)

## Платформа
Drupal 11 / CS-Cart 4.19

## Модули
- import — импорт из поставщика
- catalog — каталог, фильтры, поиск
- seo — оптимизация
  1. IT декомпозирует требования на модули:
REQUIREMENTS → модули:
- Каталог 50k       → catalog module
- Фильтры, поиск    → catalog module
- Корзина           → core / commerce
- SEO-тексты        → seo module

Выход: DESIGN.md готов → начинаем создавать specs


3. Переход 3: IT → Кодер

Вход: DESIGN.md с декомпозицией на модули

Что происходит:

IT создаёт для каждого модуля папку specs/{модуль}/ с двумя файлами:

SPEC.yaml

module: catalog
type: cscart-addon   # или drupal-module, django-app, etc.
version: 1.0.0

dependencies:
  cscart: ^4.19.0

features:
  filters:
    - category: 3 уровня
    - price: range slider
    - brand: checkbox list
    - availability: в наличии / под заказ
  search:
    - by_article: exact match
    - by_name: LIKE %query%
    - autocomplete: top 10

CODE-PROMPT.md

# Модуль: Каталог товаров

## Контекст

Требования: [REQUIREMENTS.md](../../@biz-.../REQUIREMENTS.md)
Архитектура: [DESIGN.md](../../DESIGN.md)

## Задача

Создать модуль расширенного каталога.

## Требования

### 1. Фильтры
- func.php → fn_catalog_apply_filters($params)
- Параметры: category_id, price_from, price_to, brand, availability

### 2. Поиск
- func.php → fn_catalog_search($query)
- Алгоритм: точное по артикулу → LIKE по названию → FULLTEXT

### 3. Автодополнение
- Возвращает top 10 результатов

## Структура кода

addon.xml          — метаданные
func.php           — функции
init.php           — хуки
schemas/
  filters.php      — схема фильтров
templates/
  filters.tpl      — шаблон
tests/
  FiltersTest.php  — unit тесты

## Критерии готовности

- [ ] Фильтры работают (категория, цена, марка, наличие)
- [ ] Поиск работает (артикул, название)
- [ ] Автодополнение: top 10
- [ ] Unit тесты: все ✅
- [ ] E2E: выбор фильтров → результаты ✅

Выход: specs/ готов → Кодер получает задачу


4. Переход 4: Кодер реализует

Вход: specs/{модуль}/SPEC.yaml + CODE-PROMPT.md

Что происходит:

  1. Кодер читает SPEC.yaml (конфигурация, зависимости)
  2. Кодер читает CODE-PROMPT.md (детальное ТЗ)
  3. Кодер пишет код в implementation/{модуль}/
  4. Кодер тестирует (unit + e2e)
  5. Кодер отчитывается:
ВЫПОЛНЕНО:
[1] ✅ Фильтры (категория, цена, марка, наличие)
[2] ✅ Поиск (артикул, название, автодополнение)
[3] ✅ Вариации (цвет, размер)

Тесты: 15/15 ✅

Выход: Модуль готов → тестирование → деплой


5. Форматы документов

BRIEF.md (BIZ)

# BRIEF — {Название}

**Зачем:** {цель проекта, бизнес-задача}
**Для кого:** {целевая аудитория}
**Контекст:** {предпосылки, текущая ситуация}

## Метрики успеха
- KPI 1: значение
- KPI 2: значение

REQUIREMENTS.md (BIZ → IT)

# REQUIREMENTS

## Функциональные
- [ ] Требование 1
- [ ] Требование 2

## Контентные
- [ ] Тексты для категорий
- [ ] Изображения товаров

## Технические ограничения
- Скорость < 2 сек
- Uptime > 99%

DESIGN.md (IT)

# DESIGN

## Входящие требования
[REQUIREMENTS.md](../@biz-.../REQUIREMENTS.md)

## Платформа
{платформа, версия}

## Архитектура
{модули, интеграции, схема}

## Модули
| Модуль | Назначение | Зависимости |
|--------|-----------|-------------|

SPEC.yaml (IT → Кодер)

module: {name}
type: {тип: drupal-module / cscart-addon / django-app}
version: 1.0.0
dependencies:
  {платформа}: ^{версия}
features:
  - feature1
  - feature2

CODE-PROMPT.md (IT → Кодер)

# Модуль: {название}

## Контекст
[ссылки на REQUIREMENTS и DESIGN]

## Задача
{что создать}

## Требования
{детальный список с алгоритмами}

## Структура кода
{файлы и что в каждом}

## Критерии готовности
- [ ] критерий 1
- [ ] тесты ✅

6. Пример: сайт lideravto.ru

Структура BIZ

@biz-lideravto/
├── BRIEF.md           Продажи запчастей B2C + B2B, 2М/мес
├── CONCEPT.md         Каталог 50k запчастей для грузовиков
└── REQUIREMENTS.md    Каталог, поиск, фильтры, корзина

Структура IT

@it-site-lideravto-ru/
├── DESIGN.md          Drupal 11, модули: catalog, import, seo
├── GUIDE.md           Процесс разработки
├── README.md          Как запустить
├── LAUNCH.md          Деплой на beget
└── specs/
    ├── catalog/
       ├── SPEC.yaml
       └── CODE-PROMPT.md
    └── seo/
        ├── SPEC.yaml
        └── CODE-PROMPT.md

Пример REQUIREMENTS.md (lideravto)

# REQUIREMENTS — Сайт lideravto.ru

## Каталог товаров
- [ ] 50,000 товаров
- [ ] 4 уровня: Марка → Модель → Система → Деталь
- [ ] Фильтры: марка, модель, система, цена, наличие
- [ ] Поиск по OEM-номеру (точное совпадение)
- [ ] ANY-правило: 1 OEM + 2+ модели → /any/ URL

## Корзина
- [ ] Добавление в корзину
- [ ] Быстрый заказ

## Метрики
- Скорость < 2 сек
- Конверсия > 1.5%

Связи


Обновлено: 2026-03-07