# 🔄 Процесс разработки домового бота

**Версия процесса:** 1.0
**Дата:** 26 февраля 2026 г.

---

## 📋 Рабочий цикл разработки

### Этап 1: Фиксация текущей версии ✅

Перед началом разработки новой функции:

```bash
# 1. Остановить бота
./stop.sh

# 2. Создать бекап
./backup_version.sh "v1.0_mvp" "MVP - готов к эксплуатации"

# 3. Проверить бекап
ls -la backups/versions/
```

**Результат:**
- ✅ Бекап в `backups/versions/v1.0_mvp_2026-02-26/`
- ✅ Архив `v1.0_mvp_2026-02-26.tar.gz`
- ✅ Документация в `VERSIONS.md`

---

### Этап 2: Реализация функции

1. **Выбор функции из плана**
   - См. `DEVELOPMENT_PLAN.md`
   - Выбираем следующую по порядку

2. **Создание файлов**
   - Новые хендлеры → `handlers/`
   - Новые сервисы → `services/`
   - Модели БД → `database/models.py`

3. **Обновление документации**
   - Добавить описание функции в `DEVELOPMENT_PLAN.md`
   - Создать файл-инструкцию (например, `ОПРОСЫ.md`)

---

### Этап 3: Тестирование

**Тестовое окружение:**
- Группа: Тестовая (2 участника)
- Админ: matrixhasyou
- Пользователь: друг (тестовый аккаунт)

**Чек-лист тестирования:**
```markdown
- [ ] Функция работает в тестовой группе
- [ ] Нет ошибок в логах (`tail -f logs/bot.log`)
- [ ] Админ получает уведомления
- [ ] Пользователь получает обратную связь
- [ ] Документация обновлена
```

---

### Этап 4: Приёмка

**Заказчик проверяет:**
1. Функция работает как задумано
2. Нет конфликтов с существующим функционалом
3. Логи чистые (без ошибок)

**Если всё ОК:**
> ✅ Пункт закрываем! Фиксируем версию!

**Если есть проблемы:**
> ❌ Возвращаемся к Этапу 2

---

### Этап 5: Фиксация версии

```bash
# 1. Обновить VERSIONS.md
# Добавить информацию о новой версии

# 2. Создать бекап
./backup_version.sh "v1.1" "Опросы и голосования"

# 3. Обновить DEVELOPMENT_PLAN.md
# Отметить функцию как ✅ Завершено

# 4. Обновить main.py
# Изменить комментарий с версией
```

---

## 📁 Структура документации

| Файл | Назначение |
|------|------------|
| `VERSIONS.md` | История версий, список реализованных функций |
| `DEVELOPMENT_PLAN.md` | План разработки (v1.1 — v2.0), детализация функций |
| `PROCESS.md` | Этот файл — описание процесса |
| `backups/versions/` | Бекапы версий (код + БД) |

---

## 🎯 Очередь реализации

| № | Функция | Версия | Статус |
|---|---------|--------|--------|
| 1 | Опросы и голосования | v1.1 | ⏳ Ожидает |
| 2 | Чёрный список ссылок | v1.2 | ⏳ Ожидает |
| 3 | Анти-спам (лимиты) | v1.3 | ⏳ Ожидает |
| 4 | Расписание отключений | v1.4 | ⏳ Ожидает |
| 5 | Доска объявлений | v1.5 | ⏳ Ожидает |
| 6 | Напоминания о платежах | v1.6 | ⏳ Ожидает |
| 7 | Детект мультиаккаунтов | v1.7 | ⏳ Ожидает |
| 8 | Облако тегов тем | v1.8 | ⏳ Ожидает |
| 9 | Рейтинг токсичности | v1.9 | ⏳ Ожидает |
| 10 | История версий профиля | v1.10 | ⏳ Ожидает |
| 11 | Веб-интерфейс админа | v1.11 | ⏳ Ожидает |
| 12 | Достижения жильцов | v1.12 | ⏳ Ожидает |
| 13 | Система благодарностей | v1.13 | ⏳ Ожидает |
| 14 | Календарь событий дома | v1.14 | ⏳ Ожидает |
| 15 | AI-Юрист (NotebookLM) | v2.0 | 🔮 Будущее |

---

## 🚀 Команды для работы

### Запуск бота:
```bash
cd /home/matrixhasyou/domovoy_bot
./run.sh
```

### Проверка логов:
```bash
tail -f logs/bot.log
```

### Создание бекапа:
```bash
./backup_version.sh "v1.1" "Опросы"
```

### Восстановление из бекапа:
```bash
./stop.sh
cd backups/versions/v1.0_mvp_2026-02-26/source
cp -r * /home/matrixhasyou/domovoy_bot/
./start.sh
```

---

## 📊 Статус текущего спринта

**Спринт:** v1.1 — v1.14 (Функциональное расширение)
**Начало:** 26 февраля 2026 г.

**Прогресс:**
```
v1.0  ✅ Зафиксировано (26.02.2026)
v1.1  ⏳ Ожидает команды на старт
```

---

## 💡 Принципы разработки

1. **Одна функция = одна версия**
2. **Тестирование обязательно** (на тестовой группе)
3. **Документирование обязательно** (обновление VERSIONS.md)
4. **Бекап перед изменениями** (автоматически скриптом)
5. **Приёмка заказчиком** (перед фиксацией версии)

---

## 📞 Связь

**Заказчик:** matrixhasyou
**Разработчик:** Qwen Code

**Формат приёмки:**
> ✅ Закрываем пункт N! Фиксируем версию v1.N!

Или:
> ❌ Есть замечания (описать какие)

---

*Процесс утверждён 26 февраля 2026 г.*
