projector/rules/project-structure.md

type: standard
layer: proj
object: project
aspect: structure
form: text
title: "Структура проекта"
status: active
version: 1.0.0
date: 2026-04-14
knowledge_level: У1
parent: ../lifecycle/project-lifecycle.md
supersedes: arch-project-structure.md


Структура проекта

Стандарт описывает что такое проект, типологию, структуру папки, жизненный цикл, inbox, процедуру создания и наборы документов по типу.


1. ЧТО ТАКОЕ ПРОЕКТ

Проект — автономная единица работы. Тип проекта кодируется в имени папки: @{тип}-{имя}/.

Четыре категории на верхнем уровне:

projects/
  org/    ← коммерческие клиенты
  my/     ← личные проекты
  pub/    ← общественные / некоммерческие
  sys/    ← системные проекты платформы

10 типов проектов (префикс @{тип}):

Тип Назначение
@org Организация / холдинг — верхний уровень компании
@domain Предметная область — объединяет бизнес и IT по теме
@biz Бизнес-направление, продукт
@it IT-система, сайт, приложение
@ops Операции, логистика
@hr HR, найм, команда
@fin Финансы, бюджет
@mkt Маркетинг, реклама
@rd R&D, исследование
@phys Физический объект

Иерархия через вложенность:

org/
  @org-lideravto/              ← компания
    @domain-zapchasti/         ← домен "запчасти"
      @biz-zapchasti/          ← бизнес-документы
      @it-lideravto/           ← IT-документы + общие данные
        @it-lideravto-drupal/  ← Drupal (текущий стек)
        @it-lideravto-cscart/  ← CS-Cart (архив)

sys/
  platform-update/             ← системные: без @ (нет типа клиента)

Когда использовать @domain: когда одна предметная область имеет одновременно бизнес-документы (@biz) и несколько IT-систем на разных стеках.

Именование IT-проектов: @it-{проект}-{стек} или @it-{проект}-{стек}-v{N}

Версия добавляется только при параллельном существовании двух реализаций на одном стеке.

Системные проекты (sys/) — артефакты после завершения переходят в architect/ или system/.

Маршрутизация: куда положить новый проект?

Заказчик — внешняя организация?     → projects/org/
Личный проект оператора?            → projects/my/
Некоммерческий / публичный?         → projects/pub/
Улучшение самой платформы?          → projects/sys/
Признак org/ sys/
Кто заказчик внешний клиент платформа
Чьи деньги клиента свои
Результат продукт для клиента стандарт / компонент платформы
После завершения архив в org/archive/ артефакты → architect/ или system/
Пример @org-lideravto/, @it-shop/ platform-update/, agents-v2/

Правило sys/: если результат проекта пополняет architect/, system/, projector/ или coder/ — это sys/.


2. СТРУКТУРА ПАПКИ

@{тип}-{имя}/
├── AI.md              ← контекст проекта для AI
├── CLAUDE.md          ← AI.md + Claude-специфичное
├── README.md          ← AI.md + объяснения для людей
├── INDEX.md           ← оглавление проекта
│
├── inbox/             ← сырые материалы от оператора
│
├── management/        ← управление (обязательно)
│   ├── STATUS.md
│   ├── LOG.md
│   └── TODO.md
│
├── design/            ← проектирование
│   ├── BRIEF.md
│   ├── CONCEPT.md
│   └── REQUIREMENTS.md
│
├── research/          ← исследования (по необходимости)
├── analysis/          ← аналитика (по необходимости)
├── practice/          ← накопленный опыт (по необходимости)
│
└── {домен}/           ← рабочие папки (@it, @biz, data...)

Обязательный минимум:

AI.md + CLAUDE.md + README.md
management/STATUS.md
management/LOG.md

Правило папки: 1 файл → файл в корне, 2+ файла → создать папку. Папки создаются по необходимости, не заранее. Только management/ обязательна с первого дня.


3. ЖИЗНЕННЫЙ ЦИКЛ

init → active → completed → archived
Статус Что означает
init Создан, настраивается
active В работе
on-hold Приостановлен временно
completed Цель достигнута
cancelled Отменён
archived Перенесён в архив

Фиксируется в management/STATUS.md. Подробно: project-lifecycle.md


4. INBOX

@{тип}-{имя}/
  inbox/           ← сырые материалы от оператора

Платформа читает всё из inbox/, извлекает данные → заполняет BRIEF.md, REQUIREMENTS.md, CONCEPT.md. После обработки inbox/ очищается — материалы либо разложены, либо в archive/inbox/.


5. СОЗДАНИЕ ПРОЕКТА (BOOTSTRAP)

Шаг 1. Определить тип и имя
  → выбрать @{тип} из 10 вариантов
  → slug: латиница, дефисы, lowercase

Шаг 2. Скопировать шаблон
  cp -r projector/templates/@{тип}/ projects/{категория}/@{тип}-{имя}/

Шаг 3. Заполнить плейсхолдеры
  {ИМЯ}        → полное название
  {имя}        → slug
  {тип}        → тип из таблицы §1
  {YYYY-MM-DD} → дата создания

Шаг 4. Обработать inbox (если есть материалы)

Шаг 5. Проверить минимум
  ✅ AI.md + CLAUDE.md + README.md заполнены
  ✅ management/STATUS.md: статус = init
  ✅ management/LOG.md: первая запись с датой

Шаг 6. Добавить в INDEX.md родителя

6. ДОКУМЕНТЫ ПО ТИПУ ПРОЕКТА

Тип Порядок создания документов
@biz BRIEF → CONCEPT → REQUIREMENTS
@it BRIEF → DESIGN → REQUIREMENTS → README → LAUNCH
@ops BRIEF → REQUIREMENTS → GUIDE → PROCESSES
@hr BRIEF → REQUIREMENTS → GUIDE
@fin BRIEF → REQUIREMENTS → GUIDE
@mkt BRIEF → CONCEPT → REQUIREMENTS → ANALYTICS
@rd BRIEF → REQUIREMENTS → DESIGN → GUIDE
@phys BRIEF → REQUIREMENTS → GUIDE → LAUNCH
@org STRUCTURE → PROCESSES → GLOSSARY

BRIEF всегда первый.

IT-проекты — стековые документы:

Стек Дополнительные документы
Drupal INSTALL.md, modules/
Python / FastAPI API.md, DEPLOY.md
CS-Cart CATALOG.md, IMPORT.md

СВЯЗАННЫЕ ДОКУМЕНТЫ