66 lines
3.4 KiB
Markdown
66 lines
3.4 KiB
Markdown
|
|
# Правила проекта
|
|||
|
|
|
|||
|
|
## Миграции базы данных
|
|||
|
|
|
|||
|
|
**ВАЖНО:** Если меняется структура базы данных — пиши НОВУЮ миграцию.
|
|||
|
|
НИ В КОЕМ СЛУЧАЕ не меняй старые миграции, можно добавлять только новые.
|
|||
|
|
Старой миграцией считается та, что была уже ранее закоммичена.
|
|||
|
|
|
|||
|
|
## Перезапуск приложения после изменений
|
|||
|
|
|
|||
|
|
После применения всех изменений в бэкенде (`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
|
|||
|
|
- "Подними версию и запушь" → спросить какой тип
|
|||
|
|
- "Запушь изменения" → пушить без изменения версии
|