Files
play-life/CLAUDE.md

66 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

# Правила проекта
## Миграции базы данных
**ВАЖНО:** Если меняется структура базы данных — пиши НОВУЮ миграцию.
НИ В КОЕМ СЛУЧАЕ не меняй старые миграции, можно добавлять только новые.
Старой миграцией считается та, что была уже ранее закоммичена.
## Перезапуск приложения после изменений
После применения всех изменений в бэкенде (`play-life-backend/`) или фронтенде (`play-life-web/`), а также после изменений в `docker-compose.yml`, **ОБЯЗАТЕЛЬНО** выполни команду `./run.sh` для перезапуска всех сервисов.
Применяется при работе с:
- Go кодом в `play-life-backend/`
- Миграциями базы данных в `play-life-backend/migrations/`
- React компонентами и стилями в `play-life-web/src/`
- Docker конфигурациями (`docker-compose.yml`, `Dockerfile`)
При изменениях в `play-life-llm/` (если LLM запущен на этой машине) выполни `./runLLM.sh`.
**Команды:** `./run.sh` (web + backend + db) или `bash run.sh` в корне проекта. Для LLM: `./runLLM.sh`.
## Поднятие версии и пуш
Когда пользователь просит **поднять версию и запушить**:
### 1. Определи тип версии
- **major** — первая цифра (1.1.1 → 2.0.0), минор и патч обнуляются
- **minor** — вторая цифра (1.0.1 → 1.1.0), патч обнуляется
- **patch** — третья цифра (1.0.0 → 1.0.1)
Любая часть версии может быть больше 9 (10, 11, 12 и т.д.).
**Если тип версии непонятен из контекста — обязательно спроси у пользователя!**
### 2. Обнови версию в файлах
- `VERSION` (в корне проекта)
- `play-life-web/package.json` (поле `"version"`)
### 3. Составь commit message
Выполни `git diff --staged` и `git diff`, проанализируй изменения. Составь **короткий commit message** (максимум 50 символов) на русском языке. Формат: `"1.2.3: Описание изменений"`.
### 4. Закоммить и запушить
```bash
git add -A
git commit -m "<commit message>"
git push
```
## Пуш без поднятия версии
Когда пользователь просит просто запушить (без поднятия версии):
1. Выполни `git diff --staged` и `git diff`, составь короткий commit message на русском (максимум 50 символов)
2. `git add -A && git commit -m "<commit message>" && git push`
**Примеры:**
- "Подними патч и запушь" → поднять patch
- "Bump minor and push" → поднять minor
- "Подними версию и запушь" → спросить какой тип
- "Запушь изменения" → пушить без изменения версии