Claude Code запускается в /opt/claude-workspace/
↓
Автоматически читает: CLAUDE.md (START MENU)
↓
Проверяет последнюю сессию
┌─────────────────────────────────────────┐
│ Проверка: platform/.claude/last-session.md │
└─────────────────────────────────────────┘
↓
Файл существует? Разрыв < 2 часа?
↓
┌───────┴───────┐
ДА НЕТ
↓ ↓
┌─────────────┐ ┌──────────────┐
│ ВОССТАНОВИТЬ│ │ ПОЛНОЕ МЕНЮ │
│ КОНТЕКСТ │ │ │
└─────────────┘ └──────────────┘
↓
Прочитать файлы
из last-session.md
↓
"Контекст восстановлен"
┌──────────────────────────────────────────┐
│ Пользователь выбирает SCOPE: │
│ │
│ 0. Recovery → старая сессия │
│ 1. Minimal → чистый Claude │
│ 2. Workspace → обзор всех проектов │
│ 3. Project → работа с проектом │
│ 4. Platform → полная платформа │
└──────────────────────────────────────────┘
Recovery выбран
↓
Показать список: platform/.claude/sessions/*.md
↓
Пользователь выбирает сессию
↓
Прочитать файлы из выбранной сессии
↓
Восстановить контекст
Загружено: файлы из архивной сессии
Minimal выбран
↓
Ничего не загружать дополнительно
↓
"Minimal mode активен. Работаю без правил платформы."
Загружено: ~200 tokens (только CLAUDE.md)
Использовать для:
- Быстрые вопросы вне 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/
Использовать для:
- Навигация по проектам
- Выбор проекта для работы
- Проверка статуса всех проектов
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):
- Всё вышеперечисленное
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
- Запуск тестов
- Деплой
/opt/claude-workspace/platform/
↓
┌─────────────────────────────────────────┐
│ НАЗНАЧЕНИЕ: │
│ - Правила работы Claude Code │
│ - Режимы работы (minimal, project, etc.)│
│ - Навигация по workspace │
│ - Статус серверов и инфраструктуры │
└─────────────────────────────────────────┘
↓
КЛЮЧЕВЫЕ ФАЙЛЫ:
- platform/CLAUDE.md (правила)
- platform/PLATFORM_STATUS.md (статус)
- platform/modes/*.md (режимы)
↓
РАЗМЕР: 124KB
/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
❌ НЕПРАВИЛЬНО (хардкод):
"Код находится в /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/
Задача: Найти пример реализации OAuth
Claude ищет в порядке приоритета:
1️⃣ Текущий проект
projects/marketplace/solution/*/
↓ Не найдено
2️⃣ Похожие проекты
projects/*/solution/*/
↓ Не найдено
3️⃣ Шаблоны
templates/by-feature/auth/oauth.py
↓ ✅ НАЙДЕНО!
4️⃣ Библиотеки (если бы не нашлось)
templates/library/python/auth/
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
Ленивая загрузка
- Загружается только необходимый минимум
- Режимы расширяются по запросу
Автовосстановление
- Сессии сохраняются автоматически
- Контекст восстанавливается при возврате
Разделение платформ
- Platform v1 - управление workspace
- CIFRA v2 - разработка приложений
- Не смешиваются
LOCATION.md паттерн
- Единый источник правды о путях
- Нет хардкода в документации
Компактность
- Один файл вместо множества
- Ссылки на примеры вместо новых шаблонов
КОНЕЦ