architect/_archive/2025-11-26-cleanup/platform/CLAUDE_WORKFLOW.md

🤖 ЛОГИКА РАБОТЫ CLAUDE CODE В СИСТЕМЕ

📍 СТАРТ: Точка входа

Claude Code запускается в /opt/claude-workspace/
                    ↓
    Автоматически читает: CLAUDE.md (START MENU)
                    ↓
         Проверяет последнюю сессию

🔄 ШАГ 0: Автовосстановление

┌─────────────────────────────────────────┐
│ Проверка: platform/.claude/last-session.md │
└─────────────────────────────────────────┘
                    ↓
        Файл существует? Разрыв < 2 часа?
                    ↓
            ┌───────┴───────┐
           ДА               НЕТ
            ↓                ↓
    ┌─────────────┐   ┌──────────────┐
    │ ВОССТАНОВИТЬ│   │ ПОЛНОЕ МЕНЮ  │
    │   КОНТЕКСТ  │   │              │
    └─────────────┘   └──────────────┘
            ↓
    Прочитать файлы
    из last-session.md
            ↓
    "Контекст восстановлен"

📋 ШАГ 1: Выбор масштаба (SCOPE)

┌──────────────────────────────────────────┐
│  Пользователь выбирает SCOPE:            │
│                                          │
│  0. Recovery     → старая сессия         │
│  1. Minimal      → чистый Claude         │
│  2. Workspace    → обзор всех проектов   │
│  3. Project      → работа с проектом     │
│  4. Platform     → полная платформа      │
└──────────────────────────────────────────┘

🎯 ЛОГИКА ПО КАЖДОМУ SCOPE

0️⃣ RECOVERY (Восстановление)

Recovery выбран
      ↓
Показать список: platform/.claude/sessions/*.md
      ↓
Пользователь выбирает сессию
      ↓
Прочитать файлы из выбранной сессии
      ↓
Восстановить контекст

Загружено: файлы из архивной сессии


1️⃣ MINIMAL (Минимальный)

Minimal выбран
      ↓
Ничего не загружать дополнительно
      ↓
"Minimal mode активен. Работаю без правил платформы."

Загружено: ~200 tokens (только CLAUDE.md)

Использовать для:
- Быстрые вопросы вне workspace
- Эксперименты
- Отладка


2️⃣ WORKSPACE (Обзор)

Workspace выбран
      
Читать: platform/modes/workspace.md
      
Сканировать: projects/*

Показать состояние всех проектов:
  - marketplace (Streamlit, :8503)
  - @infra-dev-pro (Control Plane)
  - @infra-dev-prod-rf (Production Server)

Загружено: ~1500 tokens
- platform/modes/workspace.md
- Список проектов из projects/

Использовать для:
- Навигация по проектам
- Выбор проекта для работы
- Проверка статуса всех проектов


3️⃣ PROJECT (Проектный режим)

Project выбран
      
   ШАГ 3.1: Выбор проекта
      
┌───────────────────────────────┐
 1. marketplace                
 2. @infra-dev-pro             
 3. @infra-dev-prod-rf         
└───────────────────────────────┘
      
Пользователь выбирает (например: marketplace)
      
   ШАГ 3.2: Выбор режима работы
      
┌───────────────────────────────┐
 A. Overview  - Посмотреть     
 B. Design    - Документация   
 C. Code      - Работа с кодом 
 D. Deploy    - Инфраструктура 
 E. Sync      - Синхронизация  
 F. Test      - Тестирование   
 G. Full      - Всё            
└───────────────────────────────┘

Что загружается для каждого режима:

A. Overview (~2000 tokens):

- projects/marketplace/design/PROJECT.md
- projects/marketplace/management/README.md

B. Design (~3000 tokens):

- projects/marketplace/design/*.md
- platform/modes/design.md

C. Code (~3500 tokens):

- projects/marketplace/solution/*/LOCATION.md
- projects/marketplace/management/README.md
- platform/modes/code.md
- registry/SEARCH-CASCADE.yaml

D. Deploy (~3000 tokens):

- projects/marketplace/infrastructure/*.md
- platform/modes/deploy.md

E. Sync (~4000 tokens):

- projects/marketplace/design/*.md
- projects/marketplace/solution/ (структура)
- platform/modes/sync.md

F. Test (~3500 tokens):

- projects/marketplace/tests/catalog.yaml
- tests/catalog.yaml
- platform/modes/test.md

G. Full (~8000 tokens):

- Всё вышеперечисленное

4️⃣ PLATFORM (Полная платформа)

Platform выбран
      ↓
   ШАГ 4.1: Выбор задачи
      ↓
┌───────────────────────────────┐
│ A. Audit       - Проверка     │
│ B. Design      - Архитектура  │
│ C. Maintenance - Обслуживание │
│ D. Create      - Новый проект │
│ E. Sync All    - Синхр. всех  │
│ F. Test All    - Тесты всех   │
│ G. Full        - Полный доступ│
└───────────────────────────────┘

Загружено: 8000-12000 tokens
- platform/CLAUDE.md + соответствующий platform/modes/*.md
- Для Full: всё из platform/


💾 АВТОСОХРАНЕНИЕ

После выбора режима:

Создать/Обновить: platform/.claude/last-session.md
┌─────────────────────────────────────────┐
 timestamp: 2025-11-13 07:00:00          
 scope: project                          
 project: marketplace                    
 mode: code                              
 files_loaded:                           
   - projects/marketplace/solution/...   
   - platform/modes/code.md              
 last_action: "Started working in Code"  
└─────────────────────────────────────────┘
      
Создать: platform/.claude/current-mode.txt
      
    "project:marketplace:code"

Обновляется при:
- Изменение файлов
- Git commit
- Запуск тестов
- Деплой


🔄 ДВЕ ПЛАТФОРМЫ: Логика разделения

Platform v1 - Workspace Management

/opt/claude-workspace/platform/
      ↓
┌─────────────────────────────────────────┐
│ НАЗНАЧЕНИЕ:                             │
│ - Правила работы Claude Code            │
│ - Режимы работы (minimal, project, etc.)│
│ - Навигация по workspace                │
│ - Статус серверов и инфраструктуры      │
└─────────────────────────────────────────┘
      ↓
КЛЮЧЕВЫЕ ФАЙЛЫ:
  - platform/CLAUDE.md (правила)
  - platform/PLATFORM_STATUS.md (статус)
  - platform/modes/*.md (режимы)
      ↓
РАЗМЕР: 124KB

Platform v2 - CIFRA Low-Code

/opt/claude-workspace/cifra/
      ↓
┌─────────────────────────────────────────┐
│ НАЗНАЧЕНИЕ:                             │
│ - Разработка приложений на языке .cifra │
│ - Генерация кода из деклараций          │
│ - Управление жизненным циклом           │
└─────────────────────────────────────────┘
      ↓
КОМПОНЕНТЫ:
  ┌─────────────────────────────┐
  │ 16 AI АГЕНТОВ:              │
  │ - orchestrator (координация)│
  │ - developer (генерация кода)│
  │ - tester (тестирование)     │
  │ - deployer (развёртывание)  │
  │ - ... (всего 16)            │
  └─────────────────────────────┘
      ↓
  ┌─────────────────────────────┐
  │ 7 ДОМЕНОВ:                  │
  │ - design                    │
  │ - development               │
  │ - testing                   │
  │ - deployment                │
  │ - ... (всего 7)             │
  └─────────────────────────────┘
      ↓
  ┌─────────────────────────────┐
  │ 15 ДОКУМЕНТОВ:              │
  │ - 01_CIFRA_MASTER.md        │
  │ - 02_CORE_CONCEPTS.md       │
  │ - ... (до 15_REFERENCES.md) │
  └─────────────────────────────┘
      ↓
РАЗМЕР: 4.3MB

🎯 РАБОТА С ПРОЕКТАМИ

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

projects/marketplace/
├── CLAUDE.md              ← Точка входа для Claude
├── design/                ← Документация проекта
│   ├── PROJECT.md
│   ├── ARCHITECTURE.md
│   └── ROADMAP.md
├── management/            ← Управление проектом
│   ├── README.md (команды)
│   ├── TODO.md
│   └── CHANGELOG.md
├── solution/              ← Код проекта
│   └── mvp/
│       ├── LOCATION.md    ← ЕДИНЫЙ ИСТОЧНИК ПРАВДЫ О ПУТЯХ
│       └── code/          ← Реальный код
└── infrastructure/        ← Инфраструктура
    ├── SERVER.md
    └── DEPLOYMENT.md

Логика работы с путями (LOCATION.md паттерн)

❌ НЕПРАВИЛЬНО (хардкод):
"Код находится в /opt/claude-workspace/projects/marketplace/solution/mvp/code/"

✅ ПРАВИЛЬНО (ссылка на LOCATION.md):
"Код находится в (см. projects/marketplace/solution/mvp/LOCATION.md)"

      ↓
LOCATION.md содержит:
┌─────────────────────────────────────────┐
│ Путь: /opt/claude-workspace/projects/  │
│       marketplace/solution/mvp/code/    │
│                                         │
│ Порт: 8503                              │
│ URL: http://91.218.142.168:8503         │
└─────────────────────────────────────────┘
      ↓
Если путь изменится - обновляется только LOCATION.md
Все остальные документы остаются актуальными

🛠️ ИСПОЛЬЗОВАНИЕ ШАБЛОНОВ

Задача: Нужно создать новый REST API endpoint
      
Claude обращается к: templates/catalog.yaml
      
Находит: templates/by-feature/api/rest-endpoint.py
      
Копирует шаблон в проект
      
Заполняет плейсхолдеры:
  {ENDPOINT_NAME}  users
  {METHOD}  GET
  {RESPONSE_MODEL}  UserResponse
      
Генерирует готовый код

Каталог шаблонов:

templates/
├── catalog.yaml            Индекс всех шаблонов
├── by-framework/           Django, FastAPI, React, etc.
├── by-feature/             Auth, CRUD, File Upload, etc.
├── by-task/                Testing, Deployment, etc.
└── library/                Готовый переиспользуемый код

🧪 РАБОТА С ТЕСТАМИ

Задача: Запустить тесты для marketplace
      
Claude читает: tests/catalog.yaml
      
Находит тесты для Streamlit приложений
      
Применяет к проекту marketplace
      
Запускает: pytest tests/

🔍 КАСКАДНЫЙ ПОИСК (registry/SEARCH-CASCADE.yaml)

Задача: Найти пример реализации OAuth

Claude ищет в порядке приоритета:

1️⃣ Текущий проект
   projects/marketplace/solution/*/
         Не найдено

2️⃣ Похожие проекты
   projects/*/solution/*/
         Не найдено

3️⃣ Шаблоны
   templates/by-feature/auth/oauth.py
          НАЙДЕНО!

4️⃣ Библиотеки (если бы не нашлось)
   templates/library/python/auth/

📊 ПРИМЕР: Полный workflow

1. СТАРТ
   └─→ Claude Code запускается
   └─→ Читает CLAUDE.md

2. МЕНЮ
   └─→ Показывает меню выбора scope
   └─→ Пользователь: "3. Project"

3. ВЫБОР ПРОЕКТА
   └─→ Показывает список проектов
   └─→ Пользователь: "1. marketplace"

4. ВЫБОР РЕЖИМА
   └─→ Показывает режимы работы
   └─→ Пользователь: "C. Code"

5. ЗАГРУЗКА КОНТЕКСТА
   └─→ Читает:
       - projects/marketplace/CLAUDE.md
       - projects/marketplace/solution/mvp/LOCATION.md
       - platform/modes/code.md
       - registry/SEARCH-CASCADE.yaml
   └─→ Загружено: ~3500 tokens

6. АВТОСОХРАНЕНИЕ
   └─→ Создаёт platform/.claude/last-session.md
   └─→ Записывает:
       scope: project
       project: marketplace
       mode: code
       files_loaded: [...]

7. РАБОТА
   └─→ "Готов к работе в Code mode для marketplace!"
   └─→ Пользователь: "Добавь новый API endpoint для заказов"

8. ВЫПОЛНЕНИЕ
   └─→ Ищет шаблон: templates/by-feature/api/
   └─→ Читает: projects/marketplace/solution/mvp/LOCATION.md
   └─→ Создаёт файл в правильном месте
   └─→ Обновляет last_action в last-session.md

9. ЗАВЕРШЕНИЕ
   └─→ "API endpoint создан в modules/api/orders.py"
   └─→ Сохранено состояние для следующей сессии

🔄 ПЕРЕКЛЮЧЕНИЕ РЕЖИМОВ

Пользователь может в любой момент:

"Переключись в Full mode"
      
Claude загружает дополнительные файлы
      
Обновляет last-session.md: mode: full
      
"Full mode активирован. Загружено ещё 4500 tokens."

---

"Покажи меню"
      
Claude показывает меню снова
      
Пользователь может выбрать другой scope/mode

---

"Переключись на проект @infra-dev-pro"
      
Claude выгружает marketplace context
      
Загружает @infra-dev-pro context
      
Обновляет last-session.md

💡 КЛЮЧЕВЫЕ ПРИНЦИПЫ

  1. Ленивая загрузка
    - Загружается только необходимый минимум
    - Режимы расширяются по запросу

  2. Автовосстановление
    - Сессии сохраняются автоматически
    - Контекст восстанавливается при возврате

  3. Разделение платформ
    - Platform v1 - управление workspace
    - CIFRA v2 - разработка приложений
    - Не смешиваются

  4. LOCATION.md паттерн
    - Единый источник правды о путях
    - Нет хардкода в документации

  5. Компактность
    - Один файл вместо множества
    - Ссылки на примеры вместо новых шаблонов


КОНЕЦ