architect/_archive/2025-11-26-cleanup/system-docs/folder-templates.md

Platform v1 - Типовые структуры папок

Версия: 2.0.0
Дата: 2025-11-18


Типы папок в workspace

/opt/claude-workspace/
├── system/            Системные агенты
├── platform/          Стандарты платформы
├── projects/          Приложения
├── infra/             Инфраструктура
├── components/        Переиспользуемые компоненты
├── library/           Библиотеки кода
├── templates/         Шаблоны
└── scripts/           Служебные скрипты

1. system/ - Системные агенты

Назначение: Код AI для системных агентов

Обязательные файлы:

system/
├── README.md                 ← Описание системы (для людей)
├── index.yaml                ← Индекс файлов
│
├── docs/                     ← Документация
│   ├── architecture.md       ← Архитектура
│   ├── structure.md          ← Структура файлов
│   └── agents.md             ← Справочник агентов
│
├── claude-code.ai.md         ← Агент: Claude Code
├── orchestrator.ai.md        ← Агент: Оркестратор
├── terminal.ai.md            ← Агент: Терминал
└── integrator.ai.md          ← Агент: Интегратор

index.yaml формат:

files:
  README.md:
    purpose: "Описание системы"
    topics: ["архитектура", "агенты", "структура"]
    size: 1200
    updated: "2025-11-18"

  claude-code.ai.md:
    purpose: "Контекст агента Claude Code"
    topics: ["инструменты", "правила", "безопасность"]
    size: 2000
    updated: "2025-11-18"

docs:
  architecture.md: "Архитектура системы"
  structure.md: "Структура и принципы"
  agents.md: "Справочник агентов"

2. platform/ - Стандарты платформы

Назначение: Стандарты, процедуры, шаблоны

Обязательные файлы:

platform/
├── README.md                  Описание платформы
├── index.yaml                 Индекс
├── standard.yaml              Стандарты
│
├── docs/                      Документация платформы
│   ├── rules.md               Правила
│   └── conventions.md         Соглашения
│
├── procedures/                Процедуры
│   ├── create-project.yaml   ├── update-project.yaml   ├── connect-infra.yaml   └── check-health.yaml
│
├── agents/                    Конфиги исполнителей
│   ├── project.yaml   └── infra.yaml
│
├── templates/                 Шаблоны
│   ├── project.template.yaml   └── infra.template.yaml
│
└── integrations/              Интеграции (опц)
    ├── ozon.yaml
    └── mcp-servers.yaml

standard.yaml структура:

version: "1.0.0"
updated: "2025-11-18"

structure:
  workspace: "Корень workspace"
  system: "Системные агенты"
  platform: "Стандарты"
  projects: "Приложения"
  infra: "Инфраструктура"

naming:
  suffixes:
    ai: ".ai.md - только для AI"
    template: ".template.* - шаблоны"
    tmp: ".tmp - временные"

  principles:
    - "Папка = контекст"
    - "Файл = назначение"
    - "Корневые: ЗАГЛАВНЫЕ"

3. projects/{name}/ - Проект приложения

Назначение: Конкретное приложение

Обязательные файлы:

projects/{name}/
├── CLAUDE.md                 ← Для project-agent (ОБЯЗАТЕЛЬНО)
├── README.md                 ← Для людей
├── index.yaml                ← Индекс файлов проекта
│
├── design/                   ← Проектирование
│   ├── spec.md               ← Спецификация
│   └── architecture.md       ← Архитектура (опц)
│
├── management/               ← Управление
│   ├── procedures.md         ← Процедуры
│   └── changelog.md          ← История изменений
│
├── infrastructure/           ← Инфраструктурные файлы (опц)
│   ├── deployment.md         ← Развертывание
│   └── monitoring.md         ← Мониторинг
│
└── solution/                 ← Код решения
    └── code/                 ← Исходный код

CLAUDE.md содержимое:

# Project: {name}

**Тип:** web-app | service | library
**Статус:** development | production
**Инфраструктура:** @infra-dev-pro

## Роль
Ты project-agent для проекта {name}.

## Задачи
- Обновить код согласно design/spec.md
- Проверить тесты
- Деплой на сервер

## Ограничения
- Работать ТОЛЬКО в этой папке
- НЕ изменять platform/
- НЕ изменять другие проекты

## Команды
```bash
# Запуск
tmux new -d -s {name} 'command'

# Остановка
tmux kill-session -t {name}

Инфраструктура

Сервер: @infra-dev-pro
Ссылка: ../../infra/@infra-dev-pro/INFRA.yaml

**index.yaml формат:**
```yaml
project:
  name: "{name}"
  type: "web-app"
  status: "production"

files:
  CLAUDE.md:
    purpose: "Контекст для project-agent"
    size: 800

  design/spec.md:
    purpose: "Спецификация проекта"
    topics: ["функции", "API", "интерфейс"]
    size: 2000

infrastructure:
  server: "@infra-dev-pro"
  link: "../../infra/@infra-dev-pro/INFRA.yaml"

4. infra/{name}/ - Инфраструктура

Тип 1: ready (готовая инфраструктура)

Назначение: Настройки подключения к существующей инфре

Обязательные файлы:

infra/{name}/
├── config.yaml               ← Метаданные (ОБЯЗАТЕЛЬНО)
│   usage: ready
├── README.md                 ← Описание (опц)
└── access.md                 ← Как подключиться (опц)

config.yaml структура:

infrastructure:
  name: "DEV-PRO Server"
  type: vps  # vps | shared-hosting | cloud-storage | web-panel | external-service
  usage: ready  # ← ВАЖНО
  status: active

  provider: "Hetzner"
  ip: "91.218.142.168"
  created: "2025-01-01"

access:
  ssh:
    host: "91.218.142.168"
    user: "root"
    key_path: "~/.ssh/id_rsa"

projects:
  - name: "marketplace"
    path: "/opt/workspace/projects/marketplace/"
    type: "web-app"
    status: "active"
    project_file: "../../../design/spec.md"

specifications:
  cpu:
    cores: 4
  ram:
    total: "8 GB"
  disk:
    total: "100 GB"
    type: "SSD"

tags:
  - vps
  - production
  - eu

version: "1.0.0"
last_updated: "2025-11-18"

Тип 2: project (создаваемая инфраструктура)

Назначение: Проект создания новой инфры

Обязательные файлы:

infra/{name}/
├── config.yaml               ← Метаданные
│   usage: project
├── CLAUDE.md                 ← Для infra-agent (ОБЯЗАТЕЛЬНО)
├── README.md                 ← Описание
├── index.yaml                ← Индекс
│
├── design/                   ← Проектирование
│   └── plan.md               ← План создания
│
└── solution/                 ← Код инфры
    └── terraform/            ← IaC код

config.yaml структура:

infrastructure:
  name: "New Production Server"
  type: vps
  usage: project  # ← ВАЖНО
  status: planning  # planning | creating | active

  target:
    provider: "AWS"
    region: "us-east-1"

  created: "2025-11-18"

lifecycle:
  - step: "planning"
    description: "Проектирование"
  - step: "creating"
    description: "Создание через infra-agent"
  - step: "active"
    description: "Развёрнуто, usage  ready"

version: "1.0.0"
last_updated: "2025-11-18"

CLAUDE.md содержимое:

# Infra Project: {name}

## Роль
Ты infra-agent для создания инфраструктуры {name}.

## Задачи
1. Создать terraform конфигурацию
2. Развернуть сервер
3. Настроить доступы
4. Обновить config.yaml:
   - usage: ready
   - status: active

## План
См. design/plan.md

## После создания
Вернуть результат оркестратору.

5. components/ - Переиспользуемые компоненты

Назначение: Модули, которые используются в разных проектах

Обязательные файлы:

components/
├── README.md                 ← Описание компонентов
├── index.yaml                ← Индекс компонентов
│
└── {component-name}/
    ├── README.md             ← Описание компонента
    ├── component.yaml        ← Метаданные
    └── src/                  ← Код компонента

component.yaml структура:

component:
  name: "auth-module"
  version: "1.0.0"
  type: "module"
  language: "python"

usage:
  install: "pip install -e components/auth-module"
  import: "from auth_module import Auth"

dependencies:
  - "requests"
  - "pyjwt"

used_by:
  - "projects/marketplace"
  - "projects/pim-drupal"

documentation: "README.md"

6. library/ - Библиотеки кода

Назначение: Общий код, утилиты, хелперы

Обязательные файлы:

library/
├── README.md                  Описание библиотеки
├── index.yaml                 Индекс

└── {library-name}/
    ├── README.md
    ├── setup.py               Установка (Python)
    ├── package.json           Установка (JS)
    └── src/

index.yaml формат:

libraries:
  utils:
    path: "utils/"
    language: "python"
    version: "1.0.0"

  helpers:
    path: "helpers/"
    language: "javascript"
    version: "2.0.0"

7. templates/ - Шаблоны

Назначение: Шаблоны для создания новых проектов/компонентов

Обязательные файлы:

templates/
├── README.md                 ← Описание шаблонов
├── index.yaml                ← Индекс шаблонов
│
├── project/                  ← Шаблон проекта
│   ├── CLAUDE.template.md
│   ├── README.template.md
│   └── structure.yaml        ← Описание структуры
│
├── component/                ← Шаблон компонента
│   └── ...
│
└── infra/                    ← Шаблон инфры
    ├── ready.template.yaml
    └── project.template.yaml

structure.yaml формат:

template:
  name: "project"
  type: "web-app"
  version: "1.0.0"

structure:
  files:
    - "CLAUDE.md"
    - "README.md"
    - "index.yaml"

  folders:
    - "design/"
    - "management/"
    - "solution/"

variables:
  - name: "PROJECT_NAME"
    description: "Имя проекта"
  - name: "PROJECT_TYPE"
    description: "Тип проекта"
    options: ["web-app", "service", "library"]

8. scripts/ - Служебные скрипты

Назначение: Автоматизация, утилиты

Обязательные файлы:

scripts/
├── README.md                 ← Описание скриптов
├── index.yaml                ← Индекс
│
├── backup/                   ← Бэкапы
│   └── backup.sh
│
├── deploy/                   ← Деплой
│   └── deploy.sh
│
└── maintenance/              ← Обслуживание
    └── cleanup.sh

Сводная таблица

Папка Назначение CLAUDE.md index.yaml Код AI
system/ Системные агенты ✅ (*.ai.md)
platform/ Стандарты ✅ (standard.yaml)
projects/{name}/ Приложение
infra/{name}/ (ready) Готовая инфра
infra/{name}/ (project) Создание инфры
components/{name}/ Компонент
library/{name}/ Библиотека
templates/{name}/ Шаблон
scripts/{name}/ Скрипты

Обязательные файлы по категориям

Всегда обязательны

README.md      ← Описание (для людей)
index.yaml     ← Индекс (для быстрого поиска)

Для агентов

CLAUDE.md      ← Контекст (для project-agent, infra-agent)

Для инфраструктуры

config.yaml    ← Метаданные инфры (ОБЯЗАТЕЛЬНО)

Для кода

src/           ← Исходный код

Версия: 2.0.0
Дата: 2025-11-18
Статус: Типовые структуры