Версия: 1.0.0
Дата: 2026-02-07
Статус: Active
Система организации разработки через документы: от бизнес-идеи до кода.
Принцип: Документы трансформируются по слоям (business → specs → prompts → code)
СЛОИ (горизонталь)
business → specs → prompts → code
↓ ↓ ↓ ↓
org ─────┼────────┼────────┼────────┼────
│ │
domain │ │
│ │
project │ │ УРОВНИ
│ │ (вертикаль)
tool │ │
│ │
module │ │
│ │
component │ │
└───────────────────────────┘
ОСЬ 1: УРОВНИ (вертикаль детализации)
- organization → domain → project → tool → module → component
ОСЬ 2: СЛОИ (горизонталь стадий)
- business → design → specs → prompts → code
| Уровень | Тип | Что это | Пример |
|---|---|---|---|
| 1 | organization | Организация, компания | lideravto |
| 2 | domain | Направление, домен | it/web/cscart |
| 3 | project | Проект, система | catalog-system |
| 4 | tool | Инструмент, подсистема | import-system |
| 5 | module | Модуль, пакет | lider_setup |
| 6 | component | Компонент, класс | feature-creator |
| Слой | Расширение | Описание | Уровни |
|---|---|---|---|
| business | .biz.md |
Бизнес-требования, назначение | org, domain, project, tool, module |
| operations | .ops.md |
Бизнес-процессы | org |
| structure | .str.md |
Структура организации | org |
| project | .prj.md |
Описание проекта | project |
| architecture | .arc.md |
Архитектура | domain, project |
| design | .dsg.md |
Техническое решение | tool, module |
| specs | .spc.md |
Спецификации | tool, module, component |
| api | .api.md |
API документация | tool, module |
| prompts | .pmt.md |
Промпты для кода | module, component |
| test | .tst.md |
Тесты | module |
{entity}/
├── index.yaml ← Метаданные (type, children)
├── {name}.{type}.md ← Документы (файлы)
├── src/ ← Код (папка)
└── {child}/ ← Дочерние сущности (папки)
Принцип:
- Файлы .md и .yaml = документы этого уровня
- Папка src/ = код этого уровня
- Папки остальные = дочерние сущности
{name}.{layer}.md
{name}-{detail}.{layer}.md
Части:
- name — название документа (features, categories, install)
- detail — уточнение (create, update, delete) — опционально
- layer — тип слоя (biz, spc, pmt)
purpose.biz.md ← Назначение
spec-features.spc.md ← Спецификация features
spec-features-create.spc.md ← Детали создания
prompt-install.pmt.md ← Промпт установки
api.api.md ← API документация
test.tst.md ← Тесты
БЕЗ префикса модуля (файл внутри папки модуля):
lider_setup/spec-features.spc.md ✅
lider_setup/lider-setup-spec.spc.md ❌ избыточно
lideravto/
├── index.yaml
├── vision.biz.md
├── strategy.biz.md
├── processes.ops.md
├── departments.str.md
├── it/ ← domain
├── sales/ ← domain
└── logistics/ ← domain
index.yaml:
type: organization
Слои: .biz, .ops, .str
Код: нет
Дочерние: домены
it/web/cscart/
├── index.yaml
├── requirements.biz.md
├── tech-stack.arc.md
├── infrastructure.arc.md
├── catalog-system/ ← project
└── crm-integration/ ← project
index.yaml:
type: domain
Слои: .biz, .arc
Код: нет
Дочерние: проекты
catalog-system/
├── index.yaml
├── brief.biz.md
├── value.biz.md
├── project.prj.md
├── roadmap.prj.md
├── architecture.arc.md
├── components.arc.md
├── src/ ← код проекта (опционально)
│ └── lib/
├── import-system/ ← tool
└── catalog-manager/ ← tool
index.yaml:
type: project
children: [import-system, catalog-manager]
Слои: .biz, .prj, .arc
Код: опционально в src/
Дочерние: инструменты (tools)
import-system/
├── index.yaml
├── purpose.biz.md
├── architecture.dsg.md
├── api.api.md
├── spec-parser.spc.md
├── spec-validator.spc.md
├── src/ ← код tool
│ └── lib/
├── lider_setup/ ← module
└── lider_import/ ← module
index.yaml:
type: tool
children: [lider_setup, lider_import]
Слои: .biz, .dsg, .spc, .api
Код: в src/ (библиотеки)
Дочерние: модули
lider_setup/
├── index.yaml
├── purpose.biz.md
├── functions.dsg.md
├── data.dsg.md
├── spec-features.spc.md
├── spec-features-create.spc.md
├── spec-features-update.spc.md
├── spec-categories.spc.md
├── api.api.md
├── prompt-install.pmt.md
├── prompt-features.pmt.md
├── test.tst.md
├── src/ ← код module
│ ├── addon.xml
│ ├── func.php
│ └── init.php
├── feature-creator/ ← component
└── category-creator/ ← component
index.yaml:
type: module
children: [feature-creator, category-creator]
Слои: .biz, .dsg, .spc, .api, .pmt, .tst
Код: в src/ (основной код)
Дочерние: компоненты
feature-creator/
├── index.yaml
├── spec.spc.md
├── prompt.pmt.md
└── src/
├── FeatureCreator.php
└── tests/
└── FeatureCreatorTest.php
index.yaml:
type: component
Слои: .spc, .pmt
Код: в src/ (код компонента)
Дочерние: нет
| Тип | .biz | .ops | .str | .prj | .arc | .dsg | .spc | .api | .pmt | .tst | src/ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| organization | ✅ | ✅ | ✅ | — | — | — | — | — | — | — | ❌ |
| domain | ✅ | — | — | — | ✅ | — | — | — | — | — | ❌ |
| project | ✅ | — | — | ✅ | ✅ | — | — | — | — | — | ⚠️ |
| tool | ✅ | — | — | — | — | ✅ | ✅ | ✅ | — | — | ✅ |
| module | ✅ | — | — | — | — | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| component | — | — | — | — | — | — | ✅ | — | ✅ | — | ✅ |
lideravto/ ← ORGANIZATION
├── index.yaml
├── vision.biz.md
├── processes.ops.md
│
└── it/
└── web/
└── cscart/ ← DOMAIN
├── index.yaml
├── requirements.biz.md
├── tech-stack.arc.md
│
└── catalog-system/ ← PROJECT
├── index.yaml
├── brief.biz.md
├── project.prj.md
├── architecture.arc.md
│
├── src/
│ └── lib/
│
└── import-system/ ← TOOL
├── index.yaml
├── purpose.biz.md
├── architecture.dsg.md
├── spec-parser.spc.md
│
├── src/
│ └── lib/
│
└── lider_setup/ ← MODULE
├── index.yaml
├── purpose.biz.md
├── functions.dsg.md
├── spec-features.spc.md
├── prompt-install.pmt.md
├── test.tst.md
│
├── src/
│ ├── addon.xml
│ └── func.php
│
└── feature-creator/ ← COMPONENT
├── index.yaml
├── spec.spc.md
├── prompt.pmt.md
│
└── src/
└── FeatureCreator.php
lideravto/vision.biz.md
→ "Лидер в продаже запчастей"
it/web/cscart/tech-stack.arc.md
→ "CS-Cart 4.19, PHP 8.1"
catalog-system/project.prj.md
→ "Система управления каталогом"
import-system/purpose.biz.md
→ "Импорт прайс-листов BAZON"
lider_setup/spec-features.spc.md
→ "Создать 6 характеристик через API"
lider_setup/prompt-install.pmt.md
→ "Создай функцию fn_lider_setup_install()"
lider_setup/src/func.php
→ function fn_lider_setup_install() { ... }
feature-creator/spec.spc.md
→ "Класс FeatureCreator"
feature-creator/prompt.pmt.md
→ "Создай класс FeatureCreator"
feature-creator/src/FeatureCreator.php
→ class FeatureCreator { ... }
cd lider_setup/
ls *.md
# purpose.biz.md
# spec-features.spc.md
# prompt-install.pmt.md
ls *.spc.md
# spec-features.spc.md
# spec-categories.spc.md
ls *.pmt.md
# prompt-install.pmt.md
# prompt-features.pmt.md
ls src/
# addon.xml func.php init.php
ls -d */ | grep -v "src"
# feature-creator/
# category-creator/
# Все спеки в проекте
find . -name "*.spc.md"
# Все промпты
find . -name "*.pmt.md"
# Все документы о features
find . -name "*features*.md"
type: module # organization|domain|project|tool|module|component
children: [child1, child2] # Дочерние сущности (опционально)
# Назначение
Краткое описание зачем.
## Бизнес-задача
Какую проблему решаем.
## Ценность
Что получим.
## Требования
- Требование 1
- Требование 2
# Дизайн: Название
Техническое решение.
## Функции
1. Функция 1 - описание
2. Функция 2 - описание
## Данные
| Сущность | Поля | Источник |
|----------|------|----------|
| Feature | code, name | Создаём |
## Алгоритм
1. Шаг 1
2. Шаг 2
# Спецификация: Название
## Функция
**Имя:** `fn_name()`
**Параметры:**
- `$param` (type) - описание
**Возвращает:**
- type - описание
## Логика
1. Шаг 1
2. Шаг 2
## Тесты
- [ ] Создаёт сущность
- [ ] Обрабатывает ошибки
# Промпт: Название
Создай [что] в файле `src/[путь]`
## Требования
1. Требование 1
2. Требование 2
## Логика
1. Шаг 1
2. Шаг 2
## Использовать
- API функция 1
- API функция 2
## НЕ использовать
- Прямые SQL
# API: Название
## Функции
### fn_name()
**Описание:** Что делает
**Параметры:**
- `$param` (type) - описание
**Возвращает:**
- type - описание
**Пример:**
```php
$result = fn_name($param);
### .tst.md (Test)
```markdown
# Тесты: Название
## Unit-тесты
- [ ] Функция создаёт
- [ ] Функция обрабатывает ошибки
## Интеграционные
- [ ] Модуль устанавливается
- [ ] Данные в БД корректны
## Ручные
1. Шаг 1
2. Шаг 2
3. Проверить результат
mkdir -p lider_parser/src
cd lider_parser/
cat > index.yaml << EOF
type: module
children: [xml-parser, csv-validator]
EOF
# Бизнес-назначение
cat > purpose.biz.md << EOF
# Назначение
Парсинг прайс-листов BAZON
EOF
# Спецификация
cat > spec-parser.spc.md << EOF
# Спецификация: Парсер
Парсит XML в массив товаров
EOF
# Промпт
cat > prompt-parser.pmt.md << EOF
# Промпт
Создай функцию fn_parse_xml()
EOF
claude "читай prompt-parser.pmt.md и создай код"
lider_setup/
├── addon.xml
├── func.php
└── init.php
cd lider_setup/
# 1. Создать index.yaml
cat > index.yaml << EOF
type: module
children: [feature-creator]
EOF
# 2. Создать папку src/ и переместить код
mkdir src/
mv *.xml *.php src/
# 3. Создать документы
cat > purpose.biz.md << EOF
# Назначение
Базовая настройка каталога запчастей
EOF
cat > spec-features.spc.md << EOF
# Спецификация
Создание характеристик товаров
EOF
cat > prompt-install.pmt.md << EOF
# Промпт
Создай функцию установки
EOF
lider_setup/
├── index.yaml
├── purpose.biz.md
├── spec-features.spc.md
├── prompt-install.pmt.md
└── src/
├── addon.xml
├── func.php
└── init.php
# Скрипт проверки
python3 tools/validate-structure.py lider_setup/
# Проверяет:
# ✓ index.yaml существует
# ✓ type корректный
# ✓ Для каждого промпта есть код в src/
# ✓ children существуют как папки
python3 tools/build-graph.py
# Вывод:
# catalog-system
# └── import-system
# ├── lider_setup
# │ ├── feature-creator
# │ └── category-creator
# └── lider_import
# Читаем промпт
cat prompt-install.pmt.md
# Даём Claude
claude "$(cat prompt-install.pmt.md)"
# Генерация для модуля
python3 tools/generate-from-prompts.py lider_setup/
# Генерация для всего проекта
python3 tools/generate-from-prompts.py catalog-system/
✅ От идеи до кода: Полная цепочка трансформации документов
✅ Git-friendly: Всё в текстовых файлах
✅ Понятная навигация: Файлы = доки, папки = код/дочерние
✅ Поиск: Расширения позволяют искать по типу
✅ Масштабируемость: От маленького компонента до организации
✅ AI-ready: Промпты рядом с кодом
| Версия | Дата | Изменения |
|---|---|---|
| 1.0.0 | 2026-02-07 | Создание стандарта DDD |