architect/research/pm-design/TEMPLATES-HIERARCHY.md

type: research
title: "Полная иерархия шаблонов / Complete Templates Hierarchy"
status: draft
version: 0.1.0
date: 2026-02-17
owner: architect


Полная иерархия шаблонов / Complete Templates Hierarchy

Принцип организации

architect/templates/
├── 0-universal/          ← Level 0: Базовые шаблоны
├── 1-domain/             ← Level 1: Доменные шаблоны
├── 2-class/              ← Level 2: Классы управления
└── 3-solution/           ← Level 3: Технические решения

Правило: Каждый уровень = набор готовых шаблонов для копирования в проект.


Level 0: UNIVERSAL (Базовые шаблоны)

Путь: architect/templates/0-universal/

Набор шаблонов

0-universal/
├── PROJECT_BASE.md               Описание базового шаблона
├── documents/                    Шаблоны документов
   ├── CLAUDE.template.md
   ├── index.template.yaml
   ├── STATUS.template.md
   ├── TODO.template.md
   ├── BRIEF.template.md
   ├── REQUIREMENTS.template.md
   ├── DESIGN.template.md
   ├── DECISIONS.template.md
   └── CHANGELOG.template.md
├── structure/                    Структура папок
   └── folders.yaml              Описание структуры
└── phases/                       Привязка к фазам
    └── phase-mapping.yaml        Какой документ в какой фазе

Что содержит каждый файл

PROJECT_BASE.md

# Описание базового шаблона
- Назначение
- Структура папок
- Обязательные документы
- Рекомендуемые документы
- Lifecycle: 15 универсальных фаз

documents/CLAUDE.template.md

# {PROJECT_NAME}

**Тип:** {TYPE}
**Статус:** draft
**Обновлено:** {DATE}

---

## Что это

{DESCRIPTION}

---

## Структура

| Папка | Назначение |
|-------|------------|
| `design/` | Проектирование |
| `management/` | Управление |
| `solution/` | Результат |

---

## Текущий фокус

{CURRENT_FOCUS}

Статус: [management/STATUS.md](management/STATUS.md)

---

## Ссылки

- [STATUS](management/STATUS.md)
- [TODO](management/TODO.md)

documents/STATUS.template.md

# STATUS — {PROJECT_NAME}

**Обновлено:** {DATETIME}

---

## Текущее состояние

| Параметр | Значение |
|----------|----------|
| **Фаза** | {PHASE: 0-14} |
| **Статус** | {STATUS: draft/in_progress/completed} |
| **Прогресс** | {PROGRESS}% |

---

## Что готово

- [x] {DONE_ITEM}

---

## Что в работе

- [ ] {IN_PROGRESS_ITEM}

---

## Блокеры

{BLOCKERS или "Нет"}

---

## Следующий шаг

{NEXT_ACTION}

structure/folders.yaml

structure:
  required:
    - design/
    - management/
    - solution/
  optional:
    - _shared/

files:
  required:
    - CLAUDE.md
    - management/STATUS.md
    - management/TODO.md
  phase_based:
    - phase: 1
      file: design/BRIEF.md
    - phase: 4
      file: design/REQUIREMENTS.md
    - phase: 5
      file: design/DESIGN.md

phases/phase-mapping.yaml

phases:
  0-Trigger:
    creates:
      - CLAUDE.md
      - index.yaml
      - management/STATUS.md
      - management/TODO.md

  1-Understanding:
    creates:
      - design/BRIEF.md
    updates:
      - management/STATUS.md

  4-Requirements:
    creates:
      - design/REQUIREMENTS.md
    updates:
      - design/BRIEF.md
      - management/STATUS.md

  5-Design:
    creates:
      - design/DESIGN.md
      - management/DECISIONS.md

  9-Implementation:
    creates:
      - management/CHANGELOG.md

Level 1: DOMAIN (Доменные шаблоны)

Путь: architect/templates/1-domain/

Набор шаблонов

1-domain/
├── it/
   ├── PROJECT_IT.md
   ├── documents/
      ├── DATA_MODEL.template.md
      ├── API.template.md
      ├── RELEASES.template.md
      ├── TEST_PLAN.template.md
      ├── DEPLOY.template.md
      ├── ROLLBACK.template.md
      └── RUNBOOK.template.md
   ├── structure/
      └── folders.yaml
   └── phases/
       └── phase-mapping.yaml

├── business/
   ├── PROJECT_BUSINESS.md
   ├── documents/
      ├── PROCESS_MAP.template.md
      ├── STAKEHOLDERS.template.md
      └── KPI.template.md
   └── ...

├── marketing/
   ├── PROJECT_MARKETING.md
   ├── documents/
      ├── CAMPAIGN.template.md
      ├── CHANNELS.template.md
      └── ANALYTICS.template.md
   └── ...

├── product/
   ├── PROJECT_PRODUCT.md
   ├── documents/
      ├── PRODUCT_SPEC.template.md
      ├── ROADMAP.template.md
      └── METRICS.template.md
   └── ...

└── platform/
    ├── PROJECT_PLATFORM.md
    ├── documents/
       ├── STANDARDS.template.md
       └── ADR.template.md
    └── ...

IT Domain - полный набор

PROJECT_IT.md

# IT Project Template

**Наследует:** 0-universal/PROJECT_BASE
**Домен:** Technology (IT)

## Добавляет к базовому

### Папки
+ solution/src/
+ solution/tests/
+ solution/migrations/
+ testing/
+ operations/

### Документы
+ design/DATA_MODEL.md
+ design/API.md
+ management/RELEASES.md
+ testing/TEST_PLAN.md
+ operations/DEPLOY.md
+ operations/ROLLBACK.md
+ operations/RUNBOOK.md

### Секции в CLAUDE.md
+ ## Технологии
+ ## Модули
+ ## Запуск
+ ## Серверы

documents/DATA_MODEL.template.md

# DATA MODEL — {PROJECT_NAME}

**Обновлено:** {DATE}

---

## Сущности

### {Entity1}

| Поле | Тип | Описание | Обязательное |
|------|-----|----------|--------------|
| id | UUID | Идентификатор | Да |
| created_at | timestamp | Дата создания | Да |

---

## Связи

{Entity1} --< {Entity2} (1:N)

---

## Индексы

| Таблица | Поля | Тип |
|---------|------|-----|
| {table} | {field} | btree |

structure/folders.yaml

extends: ../../0-universal/structure/folders.yaml

structure:
  additional:
    - solution/src/
    - solution/tests/
    - solution/migrations/
    - testing/
    - operations/

files:
  additional:
    - design/DATA_MODEL.md
    - design/API.md
    - management/RELEASES.md
    - testing/TEST_PLAN.md
    - operations/DEPLOY.md

Level 2: CLASS (Классы управления)

Путь: architect/templates/2-class/

Набор шаблонов

2-class/
├── a-delivery/
   ├── CLASS_A.md
   ├── documents/
      ├── ACCEPTANCE_CRITERIA.template.md
      ├── UAT_PLAN.template.md
      ├── UAT_RESULTS.template.md
      └── HANDOVER.template.md
   ├── sections/                         Секции для добавления
      ├── REQUIREMENTS.dod.md           Definition of Done
      └── STATUS.dod.md
   └── phases/
       └── phase-mapping.yaml

├── b-change/
   ├── CLASS_B.md
   ├── documents/
      ├── STAKEHOLDER_MAP.template.md
      ├── COMMUNICATION_PLAN.template.md
      ├── OKR.template.md
      └── METRICS.template.md
   ├── sections/
      ├── REQUIREMENTS.okr.md
      └── STATUS.metrics.md
   └── ...

└── c-discovery/
    ├── CLASS_C.md
    ├── documents/
       ├── HYPOTHESIS.template.md
       ├── EXPERIMENTS.template.md
       ├── FINDINGS.template.md
       └── ITERATION.template.md
    ├── sections/
       ├── REQUIREMENTS.hypothesis.md
       └── STATUS.pivots.md
    └── ...

Class A (Delivery) - полный набор

CLASS_A.md

# Class A: Delivery Projects

**Наследует:** 1-domain/{DOMAIN}
**Класс:** A (Delivery)
**Характеристика:** Чёткий результат, измеримые критерии

## Добавляет к доменному шаблону

### Документы
+ design/ACCEPTANCE_CRITERIA.md
+ testing/UAT_PLAN.md
+ testing/UAT_RESULTS.md
+ operations/HANDOVER.md

### Секции
+ REQUIREMENTS.md → Definition of Done
+ STATUS.md → DoD Progress

documents/ACCEPTANCE_CRITERIA.template.md

# ACCEPTANCE CRITERIA — {PROJECT_NAME}

**Обновлено:** {DATE}

---

## Критерии приёмки

### Функциональные

#### {Feature 1}
- [ ] {Критерий 1.1}
- [ ] {Критерий 1.2}

### Нефункциональные

#### Производительность
- [ ] {Критерий}

#### Безопасность
- [ ] {Критерий}

### Документация
- [ ] {Критерий}

---

## Acceptance Tests

| ID | Описание | Статус |
|----|----------|--------|
| AT-001 | {Описание теста} | {pass/fail/pending} |

sections/REQUIREMENTS.dod.md

<!-- Добавить в REQUIREMENTS.md -->

---

## Definition of Done

### Функциональность
- [ ] Все требования реализованы
- [ ] Все acceptance criteria выполнены

### Качество
- [ ] Покрытие тестами ≥80%
- [ ] Все критичные баги закрыты
- [ ] Code review пройден

### Документация
- [ ] API документация актуальна
- [ ] Runbook создан
- [ ] CHANGELOG обновлён

### Деплой
- [ ] Инструкция деплоя проверена
- [ ] Rollback план готов и протестирован
- [ ] Мониторинг настроен

Level 3: SOLUTION (Технические решения)

Путь: architect/templates/3-solution/

Набор шаблонов

3-solution/
├── web/
   ├── cscart/
      ├── CSCART_PROJECT.md
      ├── documents/
         ├── MODULES.template.md
         ├── THEME.template.md
         ├── CATALOG.template.md
         └── CODE_PROMPT.template.md
      ├── sections/
         ├── CLAUDE.cscart.md
         └── DATA_MODEL.cscart.md
      └── structure/
          └── folders.yaml
   
   ├── drupal/
      ├── DRUPAL_PROJECT.md
      ├── documents/
         ├── CONTENT_TYPES.template.md
         ├── VIEWS.template.md
         └── BLOCKS.template.md
      └── ...
   
   └── react/
       ├── REACT_APP.md
       ├── documents/
          ├── COMPONENTS.template.md
          └── ROUTES.template.md
       └── ...

├── api/
   ├── rest/
      ├── REST_API.md
      └── documents/
          └── ENDPOINTS.template.md
   
   └── graphql/
       └── ...

└── mobile/
    ├── react-native/
    └── flutter/

CS-Cart - полный набор

CSCART_PROJECT.md

# CS-Cart Project Template

**Наследует:** 2-class/a-delivery/CLASS_A (обычно)
**Решение:** CS-Cart 4.x
**Тип:** Web e-commerce

## Добавляет к Class A

### Папки
+ solution/modules/{module_name}/
+ solution/themes/{theme_name}/
+ design/catalog/

### Документы
+ design/MODULES.md
+ design/THEME.md
+ design/CATALOG.md
+ solution/modules/{name}/CODE-PROMPT.md
+ operations/CSCART_UPGRADE.md

### Секции
+ CLAUDE.md → Платформа CS-Cart
+ DATA_MODEL.md → CS-Cart таблицы

documents/MODULES.template.md

# MODULES — {PROJECT_NAME}

**CS-Cart версия:** {VERSION}

---

## Кастомные модули

### {module_name}

**Статус:** {draft/development/production}
**Версия:** {X.Y.Z}

**Назначение:**
{Что делает модуль}

**Хуки:**
- `{hook_name}` — {описание}

**Схемы:**
- `{schema_name}` — {описание}

**Контроллеры:**
- `{controller}` — {описание}

**Код-промпт:**
[modules/{module_name}/CODE-PROMPT.md](../solution/modules/{module_name}/CODE-PROMPT.md)

---

## Стандартные модули (используемые)

| Модуль | Назначение | Настройки |
|--------|------------|-----------|
| `{name}` | {описание} | {ссылка/файл} |

documents/CODE_PROMPT.template.md

# CODE PROMPT — {MODULE_NAME}

**Модуль:** {module_id}
**Версия CS-Cart:** {version}

---

## Что делает модуль

{Описание в 2-3 предложениях}

---

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

### Функциональные
1. {Требование 1}
2. {Требование 2}

### Технические
- CS-Cart версия: {version}
- PHP: {version}
- Зависимости: {modules}

---

## Структура модуля

app/addons/{module_id}/
├── addon.xml ← Метаданные
├── init.php ← Инициализация
├── func.php ← Функции
├── schemas/ ← Схемы
│ └── ...
├── controllers/ ← Контроллеры
│ └── ...
└── var/langs/ ← Переводы
└── ru/addon.po

---

## Хуки

### {hook_name}
**Когда:** {когда вызывается}
**Цель:** {что нужно сделать}
**Код:**
```php
// В init.php
fn_register_hooks(
    '{hook_name}'
);

Схемы

{schema_name}

Файл: schemas/{schema_name}.post.php
Назначение: {что делает}


База данных

Таблицы

Структура

CREATE TABLE `{table_name}` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  ...
);

Тесты

Unit-тесты

Интеграционные


Деплой

# Копирование модуля
cp -r {module_id} /path/to/cscart/app/addons/

# Активация
php admin.php --dispatch=addons.update --addon={module_id}&status=A

PROMPT ДЛЯ КОДЕРА

Создай модуль CS-Cart {module_id}.

Версия CS-Cart: {version}

Требования:
{список требований}

Структура:
{описание структуры}

Используй:
- {библиотеки/функции}

Не используй:
- {запреты}
#### sections/CLAUDE.cscart.md
```markdown
<!-- Добавить в CLAUDE.md -->

---

## Платформа

- **CS-Cart:** {version}
- **PHP:** {version}
- **MySQL:** {version}

---

## Модули CS-Cart

| Модуль | Статус | Версия | Назначение |
|--------|--------|--------|------------|
| `{module_id}` | {status} | {version} | {описание} |

Подробно: [design/MODULES.md](design/MODULES.md)

---

## Темы

| Тема | Базовая | Статус |
|------|---------|--------|
| `{theme_name}` | {parent} | {status} |

Подробно: [design/THEME.md](design/THEME.md)

---

## Установки

| Среда | URL | Версия | БД |
|-------|-----|--------|-----|
| Dev | {url} | {version} | {db_name} |
| Prod | {url} | {version} | {db_name} |

Механизм использования шаблонов

При создании нового проекта

# 1. Определить тип проекта
Domain: IT
Nature: Greenfield
Class: A (Delivery)
Solution: CS-Cart

# 2. Собрать цепочку наследования
0-universal/PROJECT_BASE
   1-domain/it/PROJECT_IT
     2-class/a-delivery/CLASS_A
       3-solution/web/cscart/CSCART_PROJECT

# 3. Создать структуру проекта
projects/org/{project_name}/
├── CLAUDE.md               собран из всех уровней
├── index.yaml
├── design/
│   ├── BRIEF.md            из 0-universal
│   ├── REQUIREMENTS.md     из 0-universal + секции из 2-class
│   ├── DESIGN.md           из 0-universal + секции из 3-solution
│   ├── DATA_MODEL.md       из 1-domain + секции из 3-solution
│   ├── API.md              из 1-domain
│   ├── MODULES.md          из 3-solution
│   ├── THEME.md            из 3-solution
│   └── CATALOG.md          из 3-solution
├── management/
│   ├── STATUS.md           из 0-universal + секции из 2-class
│   ├── TODO.md             из 0-universal
│   └── ...
├── testing/
│   ├── TEST_PLAN.md        из 1-domain
│   ├── UAT_PLAN.md         из 2-class
│   └── ...
├── operations/
│   ├── DEPLOY.md           из 1-domain
│   ├── CSCART_UPGRADE.md   из 3-solution
│   └── ...
└── solution/
    ├── modules/
       └── {module_name}/
           └── CODE-PROMPT.md   из 3-solution
    └── ...

# 4. Заполнить метаданные
vim index.yaml
# Указать цепочку наследования:
# extends:
#   - ../../../architect/templates/3-solution/web/cscart/CSCART_PROJECT.md

Автоматизация

Скрипт создания проекта

# /opt/claude-workspace/system/scripts/create_project.sh

#!/bin/bash
# Использование:
# create_project.sh {name} {domain} {class} {solution}

PROJECT_NAME=$1
DOMAIN=$2        # it/business/marketing/...
CLASS=$3         # a/b/c
SOLUTION=$4      # cscart/drupal/react/...

# 1. Создать структуру папок
# 2. Скопировать шаблоны
# 3. Заменить {PLACEHOLDERS}
# 4. Создать index.yaml с цепочкой наследования

Итого: что должно быть в каждом уровне

Level 0 (Universal)

Файлы:
- PROJECT_BASE.md — описание
- documents/*.template.md — все базовые документы
- structure/folders.yaml — структура папок
- phases/phase-mapping.yaml — привязка к фазам

Документы:
9 базовых (CLAUDE, STATUS, TODO, BRIEF, REQUIREMENTS, DESIGN, DECISIONS, CHANGELOG, index.yaml)


Level 1 (Domain)

Папки для каждого домена:
- it/, business/, marketing/, product/, platform/

В каждой папке:
- PROJECT_{DOMAIN}.md — описание + что добавляет
- documents/*.template.md — доменные документы
- structure/folders.yaml — дополнительные папки
- phases/phase-mapping.yaml — привязка новых документов

IT документы:
7 дополнительных (DATA_MODEL, API, RELEASES, TEST_PLAN, DEPLOY, ROLLBACK, RUNBOOK)


Level 2 (Class)

Папки для каждого класса:
- a-delivery/, b-change/, c-discovery/

В каждой папке:
- CLASS_{X}.md — описание + что добавляет
- documents/*.template.md — документы класса
- sections/*.md — секции для добавления в существующие документы
- phases/phase-mapping.yaml

Class A документы:
4 дополнительных (ACCEPTANCE_CRITERIA, UAT_PLAN, UAT_RESULTS, HANDOVER)
+ секции для REQUIREMENTS.md, STATUS.md


Level 3 (Solution)

Папки по категориям:
- web/{cscart,drupal,react}/
- api/{rest,graphql}/
- mobile/{react-native,flutter}/

В каждой папке решения:
- {SOLUTION}_PROJECT.md — описание + что добавляет
- documents/*.template.md — специфичные документы
- sections/*.md — секции для добавления
- structure/folders.yaml — специфичная структура

CS-Cart документы:
4+ специфичных (MODULES, THEME, CATALOG, CODE-PROMPT per module)
+ секции для CLAUDE.md, DATA_MODEL.md, DESIGN.md


Связи


Версия: 0.1.0