architect/_archive/2025-11-09-old-structure/CLAUDE.md

Claude Code Workspace

Централизованный 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 проекты

💰 ЭКОНОМИЯ ТОКЕНОВ CLAUDE CODE

Как устроен расход:

Input tokens (дешевле):
- Ваши сообщения
- Прочитанные файлы
- История разговора

Output tokens (в ~15 раз дороже!):
- Ответы Claude
- Сгенерированный код
- Каждый символ в ответе

✅ ПРАВИЛА ЭКОНОМИИ (ОБЯЗАТЕЛЬНЫ!):

  1. НЕ ГЕНЕРИРОВАТЬ КОД С НУЛЯ - использовать /opt/claude-workspace/scripts/
  2. КОПИРОВАТЬ И ПРАВИТЬ - брать шаблон, вносить изменения
  3. PYTHON СКРИПТЫ - запускать автономно, не интерактивно
  4. КОРОТКИЕ ОТВЕТЫ - меньше текста = меньше output tokens
  5. ЧИТАТЬ ФАЙЛЫ 1 РАЗ - не перечитывать без необходимости

Workflow экономии:

# 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 сервисы

seller1.ru

Статус: PRODUCTION 24/7 - КРИТИЧНЫЙ
Сервер: 45.144.177.147
URL: https://seller1.ru
Docker stack: seller1-prod-stack
Контейнеры: 4 шт (frontend, backend, postgres, redis)

⚠️ ПРАВИЛА работы с seller1.ru

ПЕРЕД любым действием:
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


Наши проекты

@infra-dev-pro (Control Plane)

Путь: /opt/claude-workspace/projects/@infra-dev-pro/
Сервер: 91.218.142.168
Роль: Управление инфраструктурой

@infra-dev-prod-rf (Production Platform)

Путь: /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 ключи хранятся на этом сервере в ~/.ssh/

Паттерн доступа

claude-central-server → SSH → remote-server → application

Правила:
- ✅ Один центральный сервер с Claude Code
- ✅ SSH доступ к удаленным серверам отсюда
- ✅ Вся документация в workspace
- ❌ Claude Code на удаленных серверах
- ❌ SSH ключи на удаленных серверах


Правила работы с изменениями

⚠️ ОБЯЗАТЕЛЬНОЕ СОГЛАСОВАНИЕ

ВСЕГДА перед внесением изменений в документы или код:

  1. Показать ЧТО предлагается изменить
    - Точный текст/код
    - Было → Станет

  2. Показать КУДА
    - Файл: /путь/к/файлу
    - Раздел/строки

  3. Спросить разрешение
    - "Добавить эти изменения?"
    - Жду ответ: "да", "нет", "исправь..."

  4. После "да" - выполнить изменения

✅ Исключения (можно БЕЗ согласования):

❌ ТРЕБУЕТ согласования:

Пример правильной работы:

Claude: Хочу добавить информацию о почте в документацию.

Файл: /opt/claude-workspace/projects/marketplace-mvp/CLAUDE.md
Раздел: "Контакты" (строка 215)

Добавлю:
---
**Админская почта:**
- Email: admin@kt.ru
- Пароль: adminKT1234
---

Добавить эти изменения?

User: да

Claude:  Изменения внесены.

Workflow работы

Стандартный процесс

  1. Получить задачу от пользователя
  2. Загрузить контекст - прочитать CLAUDE.md проекта
  3. Выполнить на сервере через SSH
  4. Проверить результат
  5. Обновить документацию - добавить дату и что изменилось
  6. Commit в git с понятным сообщением
  7. Показать результат пользователю

После КАЖДОЙ задачи:

# Обновить документацию
vim projects/[project]/CLAUDE.md

# Commit
cd /opt/claude-workspace
git add .
git commit -m "update: [что изменилось]"

Правила безопасности

ВСЕГДА:

НИКОГДА:


Работа с проектами

Запуск Claude Code

cd /opt/claude-workspace
claude

# Или через алиас
clodo

Работа с конкретным проектом

Просто скажи Claude:

Я хочу работать с проектом @infra-dev-prod-rf

Claude сам прочитает нужные файлы.


Git workflow

Ежедневная работа

# Статус
git status

# Diff
git diff

# Commit
git add .
git commit -m "update: описание"

# История
git log --oneline -10

Формат commit сообщений

update: добавлен домен newsite.ru
fix: исправлен nginx конфиг
add: создан backup скрипт
docs: обновлена документация проекта

Quick Reference

SSH к серверам

# Production Platform
ssh root@45.144.177.147

Проверка seller1.ru

# Статус
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"

Docker команды

# Список стеков
ssh 45.144.177.147 "docker stack ls"

# Список сервисов
ssh 45.144.177.147 "docker service ls"

# Статус контейнеров
ssh 45.144.177.147 "docker ps -a"

Backup

# 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


Текущее состояние

Обновляется после каждого изменения

Последние изменения

Активные задачи


Troubleshooting

Claude Code не видит проекты

# Проверить структуру
ls -la /opt/claude-workspace/projects/

# Должны быть файлы:
# PROJECT-MASTER.txt, CLAUDE.md, .claude/settings.json

SSH не работает

# Проверить ключи
ls -la ~/.ssh/

# Проверить права
chmod 600 ~/.ssh/id_*

# Тест
ssh -v root@45.144.177.147

Версия

Workspace version: 1.0.0
Последнее обновление: 2025-10-26