Централизованный workspace для управления инфраструктурой и проектами.
Версия: 1.0.0
Последнее обновление: 2025-10-26
/opt/claude-workspace/
/opt/claude-workspace/
├── CLAUDE.md # Этот файл
├── .claude/
│ └── settings.json # Настройки безопасности
├── docs/
│ └── templates/ # Шаблоны мастер-файлов
├── scripts/ # 📚 Библиотека переиспользуемых скриптов
│ ├── python/ # Python шаблоны (streamlit, database, api)
│ ├── bash/ # Bash скрипты
│ └── templates/ # Шаблоны конфигов
└── projects/
├── @infra-*/ # Infrastructure проекты
└── */ # Application и Composite проекты
Input tokens (дешевле):
- Ваши сообщения
- Прочитанные файлы
- История разговора
Output tokens (в ~15 раз дороже!):
- Ответы Claude
- Сгенерированный код
- Каждый символ в ответе
/opt/claude-workspace/scripts/# 1. ИСКАТЬ готовый скрипт
ls /opt/claude-workspace/scripts/python/streamlit/
# 2. КОПИРОВАТЬ в проект
cp /opt/claude-workspace/scripts/python/streamlit/wizard_3_step.py \
project/pages/wizard.py
# 3. ПРОСИТЬ Claude ВНЕСТИ ПРАВКИ (не генерировать!)
"Замени в wizard.py поля на: name, inn, address"
# 4. ЗАПУСТИТЬ скрипт
python project/pages/wizard.py
Смотри: /opt/claude-workspace/scripts/README.md
Сервер 1: Control Plane (xirfbwpmvt)
- IP: 91.218.142.168
- Hostname: xirfbwpmvt.vps.hosting
- SSH User: root
- Роль: Управляющий сервер
- Назначение:
* ✅ Claude Code workspace (этот сервер)
* ✅ SSH доступ ко всем управляемым серверам
* ✅ Централизованное хранение документации
* ❌ НЕ используется для хостинга приложений
* ❌ НЕ запускает production сервисы
Сервер 2: Production Platform (leruepecie)
- IP: 45.144.177.147
- Hostname: leruepecie.vps.hosting
- SSH User: root
- SSH: passwordless доступ с Сервера 1
- Роль: Production Docker платформа
- Назначение:
* ✅ 7 Docker stacks (34 контейнера)
* ✅ Production сервис seller1.ru 🔴
* ✅ Development окружения
* ✅ 14 доменов с SSL
Developer → Claude Code (Сервер 1) → SSH → Production (Сервер 2) → Docker containers
Все изменения на Сервере 2 выполняются ТОЛЬКО через SSH с Сервера 1.
Статус: PRODUCTION 24/7 - КРИТИЧНЫЙ
Сервер: 45.144.177.147
URL: https://seller1.ru
Docker stack: seller1-prod-stack
Контейнеры: 4 шт (frontend, backend, postgres, redis)
ПЕРЕД любым действием:
1. Показать точный план
2. Спросить подтверждение
3. Создать backup
4. Убедиться что есть rollback план
НИКОГДА без подтверждения:
- ❌ docker service rm seller1-*
- ❌ docker stack rm seller1-prod-stack
- ❌ systemctl restart docker
- ❌ reboot на Production сервере
Infrastructure (@infra-*) - серверы и инфраструктура
- Содержат: ansible, scripts, configs, docs
- Пример: @infra-prod-backend-01
Application - приложения на серверах
- Содержат: документацию, SSH доступ, команды
- Пример: backend-api, payment-service
Composite - платформы из нескольких подпроектов
- Содержат: подпапки с подпроектами
- Пример: ecommerce-platform
Путь: /opt/claude-workspace/projects/@infra-dev-pro/
Сервер: 91.218.142.168
Роль: Управление инфраструктурой
Путь: /opt/claude-workspace/projects/@infra-dev-prod-rf/
Сервер: 45.144.177.147
Роль: Docker платформа, production сервисы
Критичность: ВЫСОКАЯ (seller1.ru 🔴)
Каждый проект содержит:
project-name/
├── PROJECT-MASTER.txt # Исходные требования
├── CLAUDE.md # Документация для Claude Code
├── .claude/settings.json # Настройки проекта
└── [другие файлы] # Зависит от типа проекта
Все SSH ключи хранятся на этом сервере в ~/.ssh/
claude-central-server → SSH → remote-server → application
Правила:
- ✅ Один центральный сервер с Claude Code
- ✅ SSH доступ к удаленным серверам отсюда
- ✅ Вся документация в workspace
- ❌ Claude Code на удаленных серверах
- ❌ SSH ключи на удаленных серверах
ВСЕГДА перед внесением изменений в документы или код:
Показать ЧТО предлагается изменить
- Точный текст/код
- Было → Станет
Показать КУДА
- Файл: /путь/к/файлу
- Раздел/строки
Спросить разрешение
- "Добавить эти изменения?"
- Жду ответ: "да", "нет", "исправь..."
После "да" - выполнить изменения
Claude: Хочу добавить информацию о почте в документацию.
Файл: /opt/claude-workspace/projects/marketplace-mvp/CLAUDE.md
Раздел: "Контакты" (строка 215)
Добавлю:
---
**Админская почта:**
- Email: admin@kt.ru
- Пароль: adminKT1234
---
Добавить эти изменения?
User: да
Claude: ✅ Изменения внесены.
# Обновить документацию
vim projects/[project]/CLAUDE.md
# Commit
cd /opt/claude-workspace
git add .
git commit -m "update: [что изменилось]"
rm -rf / без подтвержденияDROP DATABASE без backupcd /opt/claude-workspace
claude
# Или через алиас
clodo
Просто скажи Claude:
Я хочу работать с проектом @infra-dev-prod-rf
Claude сам прочитает нужные файлы.
# Статус
git status
# Diff
git diff
# Commit
git add .
git commit -m "update: описание"
# История
git log --oneline -10
update: добавлен домен newsite.ru
fix: исправлен nginx конфиг
add: создан backup скрипт
docs: обновлена документация проекта
# Production Platform
ssh root@45.144.177.147
# Статус
ssh 45.144.177.147 "docker service ps seller1-prod-stack_backend"
# Доступность
ssh 45.144.177.147 "curl -I https://seller1.ru"
# Логи
ssh 45.144.177.147 "docker service logs seller1-prod-stack_backend --tail 50"
# Список стеков
ssh 45.144.177.147 "docker stack ls"
# Список сервисов
ssh 45.144.177.147 "docker service ls"
# Статус контейнеров
ssh 45.144.177.147 "docker ps -a"
# Workspace backup
cd /opt/claude-workspace
tar -czf ../workspace-backup-$(date +%Y%m%d).tar.gz .
# Project backup
tar -czf project-backup-$(date +%Y%m%d).tar.gz projects/@infra-dev-prod-rf/
Проекты создаются через Claude Chat "Generator" и разворачиваются отдельными архивами:
# 1. Скопировать архив проекта на сервер
scp project-name.tar.gz root@server:/tmp/
# 2. Развернуть
cd /
tar -xzf /tmp/project-name.tar.gz
# 3. Проект появится в /opt/claude-workspace/projects/
Шаблоны мастер-файлов для создания проектов:
- docs/templates/project-master-template.md
Обновляется после каждого изменения
# Проверить структуру
ls -la /opt/claude-workspace/projects/
# Должны быть файлы:
# PROJECT-MASTER.txt, CLAUDE.md, .claude/settings.json
# Проверить ключи
ls -la ~/.ssh/
# Проверить права
chmod 600 ~/.ssh/id_*
# Тест
ssh -v root@45.144.177.147
Workspace version: 1.0.0
Последнее обновление: 2025-10-26