Версия: 1.0.0
Дата: 2025-11-10
Статус: Руководство по совместной работе
Мы с вами — команда:
- Вы (Human) — принимаете решения, направляете, контролируете
- Я (Claude) — выполняю, предлагаю, создаю код и документацию
Всё через диалог:
- Вы говорите ЧТО нужно
- Я предлагаю КАК
- Вы утверждаете или корректируете
- Я реализую
- Фиксируем в Git
/opt/claude-workspace/ ← Монорепозиторий (один Git для всего)
│
├── .git/ ← Git история ВСЕГО
│
├── platform/ ← ЯДРО ПЛАТФОРМЫ (общее для всех)
│ ├── CLAUDE.md # Правила работы
│ ├── PLATFORM_OVERVIEW.md # Обзор платформы
│ ├── DESIGN_SYSTEM.md # Система проектирования
│ ├── DEVELOPMENT_SEQUENCE.md # План разработки
│ ├── TECHNICAL_TOOLS.md # Инструменты
│ ├── SOFTWARE_EXPLAINED.md # Объяснение софта
│ ├── COLLABORATION_SYSTEM.md # Этот документ
│ │
│ ├── .claude/ ← МЕЖСЕССИОННАЯ ПАМЯТЬ
│ │ ├── system-journal.md # История событий (ЧТО произошло)
│ │ ├── session-YYYY-MM-DD.md # Сессии (детали дня)
│ │ └── decisions/ # Архитектурные решения
│ │ └── ADR-001-git-strategy.md
│ │
│ ├── agents/ ← КОД АГЕНТОВ
│ │ ├── base_agent.py
│ │ ├── document_agent.py
│ │ └── DocumentAgent/ # Документация агента
│ │ ├── DESIGN.md # Спецификация
│ │ └── CHANGELOG.md # История изменений
│ │
│ └── config/ ← КОНФИГУРАЦИЯ
│ └── agents.yaml
│
├── templates/ ← ШАБЛОНЫ (переиспользуемые)
│ ├── by-feature/ # По функциям (auth, payments)
│ ├── by-task/ # По задачам (crud, dashboard)
│ └── library/ # Библиотека компонентов
│
├── components/ ← КОМПОНЕНТЫ (FSD)
│ ├── catalog.yaml # Реестр компонентов
│ └── shared/lib/
│
├── projects/ ← ВАШИ ПРОЕКТЫ
│ ├── marketplace/ # Проект 1
│ │ ├── PROJECT.md # Главный файл проекта
│ │ ├── design/ # 📋 Проектирование
│ │ │ ├── ROADMAP.md # План версий
│ │ │ ├── ARCHITECTURE.md # Архитектура + ADR
│ │ │ └── REQUIREMENTS.md # Требования
│ │ ├── management/ # ⚙️ Управление
│ │ │ ├── README.md # Быстрый старт
│ │ │ ├── CHANGELOG.md # История изменений
│ │ │ └── TODO.md # Задачи
│ │ ├── solution/ # 💻 Код
│ │ │ ├── mvp/ # MVP версия
│ │ │ ├── backend/ # Backend (если есть)
│ │ │ └── mobile/ # Mobile (если есть)
│ │ └── infrastructure/ # 🏗️ Серверы
│ │ ├── deploy.yaml # Деплой конфигурация
│ │ └── servers.md # Описание серверов
│ │
│ └── analytics/ # Проект 2
│ └── ... (та же структура)
│
└── archive/ ← АРХИВ старых версий
Где: platform/*.md
Назначение: Общие правила, как работает платформа
Файлы:
| Файл | Зачем | Кто обновляет |
|---|---|---|
CLAUDE.md |
Правила работы платформы | Мы вместе (редко) |
PLATFORM_OVERVIEW.md |
Обзор для восстановления контекста | Я (при изменениях) |
DESIGN_SYSTEM.md |
Как проектировать компоненты | Мы вместе (валидация) |
DEVELOPMENT_SEQUENCE.md |
План разработки | Я (по вашему запросу) |
COLLABORATION_SYSTEM.md |
Как работаем вместе | Этот документ |
Формат: Markdown
Версионирование: Git
Частота изменений: Редко (архитектурные решения)
Где: projects/{name}/PROJECT.md + design/ + management/
Назначение: Описание конкретного проекта
Формат:
---
version: 1.0.0
created_at: 2025-11-10
template: streamlit-mvp-v1
status: active
tags: [ecommerce, mvp, streamlit]
---
# Marketplace — Платформа маркетплейсов
## Описание
Система для управления несколькими маркетплейсами...
## Стек технологий
- Python 3.11
- Streamlit
- PostgreSQL
## Ссылки
- Production: https://marketplace.example.com
- Staging: http://91.218.142.168:8501
- Git: этот репозиторий
## Быстрый старт
См. management/README.md
Кто обновляет:
- Я создаю при создании проекта
- Мы вместе обновляем при изменениях
design/ROADMAP.md — план версий
# Roadmap
## v1.0 (MVP) ✅ Завершено 2025-11-01
- Авторизация
- Список товаров
- Заказы
## v2.0 (Backend) 🔄 В работе
- FastAPI backend
- REST API
- Асинхронная обработка
## v3.0 (Масштабирование) 📋 Планируется
- Микросервисы
- Kubernetes
design/ARCHITECTURE.md — архитектура + ADR
# Архитектура
## Общая схема
[Диаграмма]
## ADR (Architecture Decision Records)
### ADR-001: Выбор Streamlit для MVP
**Дата:** 2025-10-01
**Статус:** Принято
**Контекст:**
Нужен быстрый MVP для демонстрации.
**Решение:**
Используем Streamlit.
**Последствия:**
+ Быстрая разработка
+ Простой UI
- Ограничения масштабирования
design/REQUIREMENTS.md — требования
# Требования
## Функциональные
- FR-001: Пользователь может войти через email
- FR-002: Пользователь видит список заказов
## Нефункциональные
- NFR-001: Время ответа < 2 секунды
- NFR-002: Доступность 99.5%
Кто обновляет:
- Вы определяете требования
- Я оформляю в документы
- Вы утверждаете
management/README.md — быстрый старт
# Marketplace — Быстрый старт
## Установка
\`\`\`bash
cd solution/mvp
pip install -r requirements.txt
\`\`\`
## Запуск
\`\`\`bash
streamlit run app.py
\`\`\`
## Тестирование
\`\`\`bash
pytest tests/
\`\`\`
management/CHANGELOG.md — история изменений
# Changelog
## [1.1.0] - 2025-11-10
### Added
- Экспорт заказов в Excel
### Fixed
- Исправлена ошибка авторизации
### Changed
- Улучшена производительность запросов
management/TODO.md — текущие задачи
# TODO
## В работе
- [ ] Добавить фильтры по датам
- [ ] Оптимизировать запросы к БД
## Планируется
- [ ] Интеграция с Ozon API
- [ ] Push уведомления
## Завершено
- [x] Авторизация через email
- [x] CRUD для товаров
Кто обновляет:
- README: я создаю, вы дополняете
- CHANGELOG: я обновляю после каждого изменения
- TODO: мы вместе (вы добавляете задачи, я отмечаю завершённые)
Где: platform/agents/{AgentName}/DESIGN.md
Назначение: Спецификация агента
Формат: См. DESIGN_SYSTEM.md
Кто обновляет:
- Я создаю спецификацию
- Вы валидируете через диалог
- Я обновляю при изменениях
Где: platform/.claude/
Назначение: Восстановление контекста между сессиями
### 2025-11-10: Создана система проектирования
**Действие:** Создан DESIGN_SYSTEM.md
**Изменения:**
- 6 этапов процесса проектирования
- Применена к самой себе
**Статус:** ✅ Утверждено
Кто обновляет: Я автоматически после важных событий
# Сессия 2025-11-10
## Задачи
1. Создать систему проектирования
2. Обсудить технические инструменты
## Решения
- Используем YAML для метаданных
- Git как единое хранилище
## Созданные файлы
- platform/DESIGN_SYSTEM.md
- platform/TECHNICAL_TOOLS.md
Кто обновляет: Я в конце каждой сессии
# ADR-001: Git монорепозиторий
**Дата:** 2025-11-10
**Статус:** Принято
**Контекст:**
Нужно решить как хранить код платформы, агентов, проектов.
**Варианты:**
1. Монорепозиторий (всё в одном)
2. Мультирепозиторий (каждый проект отдельно)
**Решение:**
Монорепозиторий.
**Обоснование:**
+ Простота (один git clone)
+ История всех изменений в одном месте
+ Проще Cascade Search
**Последствия:**
+ Проще управление
- Размер репозитория будет расти
Кто обновляет: Мы вместе при архитектурных решениях
┌─────────────────────────────────────┐
│ ОСНОВНОЕ ХРАНИЛИЩЕ: Git │
│ │
│ ✅ Документация (Markdown) │
│ ✅ Код (Python) │
│ ✅ Конфигурация (YAML) │
│ ✅ Метаданные (YAML frontmatter) │
│ ✅ История изменений │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ ОПЦИОНАЛЬНО: База данных │
│ │
│ 🟡 Метрики (SQLite) │
│ 🟡 Кэш поиска (Whoosh index) │
│ 🟡 Runtime состояние агентов │
└─────────────────────────────────────┘
✅ ДА (всё текстовое):
- Markdown документы
- Python код
- YAML конфигурация
- Jinja2 шаблоны
- SQL схемы
- Bash скрипты
❌ НЕТ (не в Git):
- Большие бинарные файлы (>10MB)
- Сгенерированные файлы (.pyc, pycache)
- Секреты (.env файлы)
- Логи (.log)
- Временные файлы
.gitignore:
# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
# Secrets
.env
secrets.yaml
*.key
# Logs
*.log
platform/.claude/session-*.md # Сессии опционально в Git
# Временные
.tmp/
*.swp
# IDE
.vscode/
.idea/
# OS
.DS_Store
Thumbs.db
# Базы данных (опционально)
*.db
*.sqlite
SQLite (локально):
-- Метрики агентов
CREATE TABLE metrics (
timestamp DATETIME,
agent TEXT,
operation TEXT,
duration REAL,
tokens_used INTEGER,
status TEXT
);
-- Индекс компонентов (Whoosh как альтернатива)
CREATE VIRTUAL TABLE components_fts USING fts5(
name, path, description, tags
);
Когда использовать БД:
- Метрики (много записей, нужны запросы)
- Полнотекстовый поиск (Whoosh индекс)
- Кэширование (временные данные)
Когда НЕ использовать БД:
- Документация → Git (Markdown)
- Конфигурация → Git (YAML)
- Код → Git (Python)
master (main branch)
↓
├─ commit 1: docs: создан DESIGN_SYSTEM.md
├─ commit 2: feat: DocumentAgent реализован
├─ commit 3: fix: исправлена ошибка в CodeAgent
├─ commit 4: refactor: улучшен Cascade Search
└─ ...
Почему без веток:
- Мы команда из 2-х (вы + я)
- Работаем последовательно (диалог)
- Нет параллельных фич
- Проще
Если понадобятся ветки (в будущем):
master
├─ feature/voice-interface (для экспериментов)
├─ hotfix/critical-bug (для срочных исправлений)
Conventional Commits:
<type>(<scope>): <subject>
<body>
<footer>
Типы:
- feat: — новая функциональность
- fix: — исправление бага
- docs: — документация
- refactor: — рефакторинг (без изменения функциональности)
- test: — тесты
- chore: — рутина (обновление зависимостей, конфиг)
Примеры:
# Хорошие
git commit -m "feat: добавлен DocumentAgent"
git commit -m "docs: создан DESIGN_SYSTEM.md"
git commit -m "fix: исправлена ошибка в Cascade Search"
# С телом
git commit -m "feat(agents): добавлен DocumentAgent
- Генерация PROJECT.md из примеров
- Поддержка YAML frontmatter
- Интеграция с Cascade Search
Resolves: #12"
# Плохие
git commit -m "update"
git commit -m "changes"
git commit -m "фикс"
Кто делает коммиты:
- Я создаю коммит после каждого изменения
- Вы можете делать коммиты вручную (если правите что-то напрямую)
Ежедневная работа:
# 1. Проверить статус
git status
# 2. Посмотреть изменения
git diff
# 3. Добавить файлы
git add platform/agents/document_agent.py
# Или всё:
git add .
# 4. Commit
git commit -m "feat: добавлен DocumentAgent"
# 5. История
git log --oneline -10
# 6. Посмотреть конкретный коммит
git show a1b2c3d
Откат изменений:
# Откатить файл (до последнего коммита)
git checkout -- platform/agents/document_agent.py
# Откатить последний коммит (но оставить изменения)
git reset --soft HEAD~1
# Откатить последний коммит (удалить изменения)
git reset --hard HEAD~1
# Откатить к конкретному коммиту
git reset --hard a1b2c3d
Поиск в истории:
# Коммиты с DocumentAgent
git log --oneline --grep="DocumentAgent"
# Изменения в конкретном файле
git log --oneline -- platform/agents/document_agent.py
# Кто менял файл
git blame platform/agents/document_agent.py
# Поиск в коде
git log -S "def execute" --source --all
Сейчас: Локально на сервере 91.218.142.168
В будущем (для backup):
# Добавить remote (GitHub)
git remote add origin git@github.com:username/cifra-platform.git
# Push
git push -u origin master
# Pull (если работаем с разных мест)
git pull origin master
Приватный или публичный?
- Приватный (содержит бизнес-логику)
- GitHub Private Repository (бесплатно)
Вы:
"Привет! Давай продолжим работу над платформой"
Я:
1. Читаю platform/.claude/system-journal.md (последние события)
2. Читаю platform/.claude/session-YYYY-MM-DD.md (вчерашняя сессия)
3. git log --oneline -10 (последние коммиты)
4. Показываю вам краткий статус:
📊 Статус платформы (2025-11-10)
Последние изменения:
- ✅ Создана система проектирования (DESIGN_SYSTEM.md)
- ✅ Проанализированы технические инструменты
- 🔄 В процессе: валидация системы проектирования
Что делаем сегодня?
Пример: Проектирование DocumentAgent
Вы:
"Давай спроектируем DocumentAgent"
Я:
Применяю систему проектирования:
ЭТАП 1: ОПРЕДЕЛЕНИЕ
DocumentAgent — агент для генерации документации проектов.
Назначение:
- Создание PROJECT.md для новых проектов
- Генерация ROADMAP.md, ARCHITECTURE.md
- Обновление CHANGELOG.md
Кто использует:
- CentralAgent (при создании проекта)
- Вы (вручную через CLI)
Переходим к ЭТАПУ 2: Контекстный анализ?
Вы:
"Да, продолжай"
Я:
ЭТАП 2: КОНТЕКСТНЫЙ АНАЛИЗ
Существующие решения:
- ✅ templates/library/README.md (примеры документации)
- ✅ projects/marketplace/design/PROJECT.md (пример проекта)
Зависимости:
- Claude API (для генерации текста)
- python-frontmatter (для YAML метаданных)
- Cascade Search (поиск примеров)
Интеграции:
- ProjectAgent (создаёт структуру, DocumentAgent заполняет)
- GitAgent (коммитит результат)
Переходим к ЭТАПУ 3: Многосрезовый анализ?
Вы:
"Пока хватит, создавай DESIGN.md"
Я:
Создаю platform/agents/DocumentAgent/DESIGN.md...
[Создание файла]
✅ Создан DESIGN.md (версия 0.1.0, черновик)
Теперь ЭТАП 5: Валидация.
Вопросы:
Q1: Какие типы документов генерировать приоритетно?
A) PROJECT.md
B) ROADMAP.md
C) ARCHITECTURE.md
D) Все три
Q2: Откуда брать примеры для генерации?
A) Из существующих проектов (marketplace)
B) Из шаблонов
C) Из обоих
Q3: Как обновлять существующие документы?
A) Перезаписывать полностью
B) Обновлять только метаданные
C) Спрашивать пользователя
Вы:
"Q1: D, Q2: C, Q3: C"
Я:
Обновляю DESIGN.md с вашими ответами...
✅ DESIGN.md обновлён (версия 0.2.0)
Ещё вопросы или утверждаем (переход к v1.0.0)?
Вы:
"Утверждаем"
Я:
ЭТАП 6: УТВЕРЖДЕНИЕ
✅ DESIGN.md → версия 1.0.0
✅ Статус: Утверждено
✅ Git commit
[Выполняю команды]
git add platform/agents/DocumentAgent/
git commit -m "docs: спецификация DocumentAgent утверждена
- Версия 1.0.0
- Генерация PROJECT.md, ROADMAP.md, ARCHITECTURE.md
- Использует примеры из проектов и шаблонов
- Интерактивное обновление документов
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>"
✅ Коммит создан: a1b2c3d
Переходим к реализации кода?
Вы:
"На сегодня хватит"
Я:
Фиксирую сессию:
1. Обновляю platform/.claude/system-journal.md:
### 2025-11-10: Спроектирован DocumentAgent
**Действие:** Создана спецификация DocumentAgent
**Изменения:**
- DESIGN.md v1.0.0 утверждён
- Определены функции агента
**Статус:** ✅ Готов к реализации
2. Создаю platform/.claude/session-2025-11-10.md:
# Сессия 2025-11-10
## Задачи
- Проектирование DocumentAgent
## Решения
- Генерирует 3 типа документов
- Использует примеры из проектов
- Интерактивное обновление
## Созданные файлы
- platform/agents/DocumentAgent/DESIGN.md
## Следующие шаги
- Реализация кода DocumentAgent
3. Git commit:
git add platform/.claude/
git commit -m "chore: обновлён журнал сессии 2025-11-10"
До завтра! 👋
Инициатор: Вы
Шаги:
1. Вы говорите:
"Создай новый проект analytics используя шаблон streamlit-mvp-v1"
2. Я выполняю:
- Проверяю существование шаблона
- Спрашиваю переменные (если нужны)
- Создаю структуру projects/analytics/
- Копирую файлы из templates/streamlit-mvp-v1/
- Заменяю переменные {{PROJECT_NAME}} → analytics
- Создаю PROJECT.md с метаданными
- Git commit
3. Я показываю:
✅ Проект analytics создан
Структура:
projects/analytics/
├── PROJECT.md
├── design/
├── management/
│ └── README.md
└── solution/mvp/
├── app.py
└── requirements.txt
Быстрый старт:
cd projects/analytics/solution/mvp
pip install -r requirements.txt
streamlit run app.py
Что дальше?
4. Вы решаете:
"Запусти приложение"
5. Я запускаю:
cd projects/analytics/solution/mvp
streamlit run app.py
Инициатор: Я или вы
Когда: После каждого значительного изменения
Шаги:
1. Определить что изменилось
- Новая функция → CHANGELOG.md
- Архитектурное решение → ARCHITECTURE.md (ADR)
- Новая версия → ROADMAP.md + версия в PROJECT.md
2. Обновить файлы
Я:
Обновляю management/CHANGELOG.md:
### [1.1.0] - 2025-11-10
#### Added
- Экспорт заказов в Excel
Обновить PROJECT.md (версия 1.0.0 → 1.1.0)?
Вы:
"Да"
3. Git commit
git add projects/marketplace/
git commit -m "docs: обновлена документация marketplace v1.1.0"
Инициатор: Вы или я (при дискуссии)
Когда: Когда есть несколько вариантов решения
Шаги:
1. Я предлагаю варианты:
Нужно решить как хранить метрики агентов.
Варианты:
A. YAML файлы (простота, Git friendly)
B. SQLite (быстрые запросы, не Git friendly)
C. CSV файлы (простота, легко импортировать)
Плюсы/минусы:
[Таблица сравнения]
Мои рекомендации: Вариант A для Фазы 0-1, потом B
2. Вы решаете:
"Согласен, начинаем с YAML"
3. Я документирую:
Создаю platform/.claude/decisions/ADR-002-metrics-storage.md:
# ADR-002: Хранение метрик в YAML
**Дата:** 2025-11-10
**Статус:** Принято
**Контекст:** ...
**Решение:** YAML файлы
**Обоснование:** ...
Git commit -m "docs: ADR-002 хранение метрик"
Инициатор: Вы или я
Когда: Что-то сломалось
Шаги:
1. Я сообщаю:
❌ Ошибка при выполнении:
[Traceback]
Варианты:
A. Откатить изменения (git reset)
B. Исправить ошибку
C. Начать заново
Что делаем?
2. Вы решаете:
"Откатить"
3. Я откатываю:
git status # Что изменилось
git diff # Посмотреть diff
git reset --hard HEAD~1 # Откатить последний коммит
✅ Откат выполнен
Решение: Межсессионная память через файлы
1. platform/.claude/system-journal.md
↓ Последние 3-5 событий
↓ Что важного произошло
2. platform/.claude/session-YYYY-MM-DD.md (вчера)
↓ Детали последней сессии
↓ Незавершённые задачи
3. git log --oneline -10
↓ Последние коммиты
↓ Что менялось
4. git status
↓ Незакоммиченные изменения
↓ Что в процессе
↓
ВОССТАНОВЛЕН КОНТЕКСТ ✅
Оставлять заметки:
# platform/.claude/notes-for-claude.md
## 2025-11-10
- Завтра продолжим реализацию DocumentAgent
- Не забудь про тесты!
- Проверить работу с русскими символами в именах файлов
Я прочитаю это при следующем запуске!
1. Прогресс разработки
# platform/.claude/progress.yaml
projects:
marketplace:
status: active
version: 1.1.0
completion: 85%
agents:
DocumentAgent:
status: in_design
version: 0.2.0
CodeAgent:
status: planned
version: 0.0.0
platform:
total_commits: 25
total_files: 150
total_lines: 15000
2. Token Economy
# platform/.claude/metrics/2025-11-10.csv
timestamp,agent,operation,tokens_input,tokens_output,tokens_cached
2025-11-10 14:30:00,DocumentAgent,create_project_md,1234,567,890
2025-11-10 15:00:00,CodeAgent,generate_function,2345,1234,1500
3. Еженедельный отчёт (автоматически)
Каждое воскресенье я создаю:
# platform/.claude/reports/week-2025-W45.md
# Отчёт за неделю 2025-W45
## Достижения
- ✅ Создана система проектирования
- ✅ Спроектирован DocumentAgent
- ✅ Реализовано 50% функций CodeAgent
## Метрики
- Коммиты: 15
- Файлов создано: 25
- Строк кода: 2500
- Токенов использовано: 150K (экономия: 80%)
## Следующая неделя
- Завершить CodeAgent
- Начать GitAgent
- Первый end-to-end workflow
Q: Где хранить секреты (API ключи)?
A: НЕ в Git!
Создайте .env файл:
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
Добавьте в .gitignore:
.env
Загрузка в коде:
from dotenv import load_dotenv
load_dotenv()
Q: Как работать с большими файлами (>10MB)?
A: Git LFS или хранить вне Git
Git LFS:
git lfs install
git lfs track "*.xlsx"
git add .gitattributes
Q: Можно ли работать с разных компьютеров?
A: Да, через Git remote
1. Создать GitHub private repo
2. git remote add origin ...
3. git push -u origin master
4. На другом компьютере: git clone ...
Q: Как делать backup?
A: 3 уровня:
1. Локальный:
tar -czf /backup/workspace-$(date +%Y%m%d).tar.gz /opt/claude-workspace/
2. Git remote:
git push origin master
3. Облако:
rsync -avz /opt/claude-workspace/ user@backup-server:/backups/
ВЫ Я (Claude)
↓ ↓
"Что нужно" ────────→ "Как сделать" (предложения)
↓
"Утверждаю" ←──────── Варианты A/B/C
↓ ↓
Реализация (код/документы)
↓
Проверка ←──────── Результат
↓ ↓
"ОК"/"Правка" ─────→ Исправления (если нужно)
↓ ↓
Git commit + Документация
↓
Обновление журнала
Версия: 1.0.0
Дата: 2025-11-10
Статус: Готово к работе
Готовы начинать работать по этой системе? 🚀