type: research
title: "Полная иерархия шаблонов / Complete Templates Hierarchy"
status: draft
version: 0.1.0
date: 2026-02-17
owner: architect
architect/templates/
├── 0-universal/ ← Level 0: Базовые шаблоны
├── 1-domain/ ← Level 1: Доменные шаблоны
├── 2-class/ ← Level 2: Классы управления
└── 3-solution/ ← Level 3: Технические решения
Правило: Каждый уровень = набор готовых шаблонов для копирования в проект.
Путь: 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 ← Какой документ в какой фазе
# Описание базового шаблона
- Назначение
- Структура папок
- Обязательные документы
- Рекомендуемые документы
- Lifecycle: 15 универсальных фаз
# {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)
# STATUS — {PROJECT_NAME}
**Обновлено:** {DATETIME}
---
## Текущее состояние
| Параметр | Значение |
|----------|----------|
| **Фаза** | {PHASE: 0-14} |
| **Статус** | {STATUS: draft/in_progress/completed} |
| **Прогресс** | {PROGRESS}% |
---
## Что готово
- [x] {DONE_ITEM}
---
## Что в работе
- [ ] {IN_PROGRESS_ITEM}
---
## Блокеры
{BLOCKERS или "Нет"}
---
## Следующий шаг
{NEXT_ACTION}
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:
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
Путь: 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 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
+ ## Технологии
+ ## Модули
+ ## Запуск
+ ## Серверы
# DATA MODEL — {PROJECT_NAME}
**Обновлено:** {DATE}
---
## Сущности
### {Entity1}
| Поле | Тип | Описание | Обязательное |
|------|-----|----------|--------------|
| id | UUID | Идентификатор | Да |
| created_at | timestamp | Дата создания | Да |
---
## Связи
{Entity1} --< {Entity2} (1:N)
---
## Индексы
| Таблица | Поля | Тип |
|---------|------|-----|
| {table} | {field} | btree |
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
Путь: 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 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
# ACCEPTANCE CRITERIA — {PROJECT_NAME}
**Обновлено:** {DATE}
---
## Критерии приёмки
### Функциональные
#### {Feature 1}
- [ ] {Критерий 1.1}
- [ ] {Критерий 1.2}
### Нефункциональные
#### Производительность
- [ ] {Критерий}
#### Безопасность
- [ ] {Критерий}
### Документация
- [ ] {Критерий}
---
## Acceptance Tests
| ID | Описание | Статус |
|----|----------|--------|
| AT-001 | {Описание теста} | {pass/fail/pending} |
<!-- Добавить в REQUIREMENTS.md -->
---
## Definition of Done
### Функциональность
- [ ] Все требования реализованы
- [ ] Все acceptance criteria выполнены
### Качество
- [ ] Покрытие тестами ≥80%
- [ ] Все критичные баги закрыты
- [ ] Code review пройден
### Документация
- [ ] API документация актуальна
- [ ] Runbook создан
- [ ] CHANGELOG обновлён
### Деплой
- [ ] Инструкция деплоя проверена
- [ ] Rollback план готов и протестирован
- [ ] Мониторинг настроен
Путь: 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 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 таблицы
# 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}` | {описание} | {ссылка/файл} |
# 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}'
);
Файл: schemas/{schema_name}.post.php
Назначение: {что делает}
{table_name} — {назначение}CREATE TABLE `{table_name}` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
...
);
# Копирование модуля
cp -r {module_id} /path/to/cscart/app/addons/
# Активация
php admin.php --dispatch=addons.update --addon={module_id}&status=A
Создай модуль 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 с цепочкой наследования
Файлы:
- PROJECT_BASE.md — описание
- documents/*.template.md — все базовые документы
- structure/folders.yaml — структура папок
- phases/phase-mapping.yaml — привязка к фазам
Документы:
9 базовых (CLAUDE, STATUS, TODO, BRIEF, REQUIREMENTS, DESIGN, DECISIONS, CHANGELOG, index.yaml)
Папки для каждого домена:
- 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)
Папки для каждого класса:
- 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
Папки по категориям:
- 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