Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Pre-commit чеклист
|
||||
|
||||
Перед каждым коммитом:
|
||||
|
||||
- [ ] `ruff check .` — 0 errors
|
||||
- [ ] `ruff format --check .` — форматирование в порядке
|
||||
- [ ] `pytest` — все тесты зелёные
|
||||
- [ ] CHANGELOG обновлён (если изменение влияет на пользователя)
|
||||
- [ ] .env.example обновлён (если новая переменная)
|
||||
- [ ] Нет секретов и токенов в коде
|
||||
- [ ] Нет TODO/FIXME без тикета
|
||||
- [ ] Миграция написана (если менялась БД)
|
||||
- [ ] Docstrings написаны (для новых публичных методов)
|
||||
|
||||
**Автоматически (pre-commit hooks):**
|
||||
- `ruff` — линтинг и форматирование
|
||||
- `trailing-whitespace` — удаление лишних пробелов
|
||||
- `check-added-large-files` — проверка больших файлов (>500KB)
|
||||
@@ -0,0 +1,25 @@
|
||||
# Code Review чеклист
|
||||
|
||||
## Безопасность
|
||||
- [ ] Нет секретов, ключей, паролей в коде
|
||||
- [ ] Нет чувствительных данных в логах
|
||||
- [ ] Входные данные проходят Pydantic валидацию
|
||||
- [ ] Проверены права доступа (RBAC)
|
||||
|
||||
## Качество
|
||||
- [ ] Нет сырых Exception в API ответах
|
||||
- [ ] Есть обработка ошибок для внешних вызовов
|
||||
- [ ] Docstrings написаны (Google-style)
|
||||
- [ ] Аннотации типов проставлены
|
||||
- [ ] Ruff проходит (0 errors)
|
||||
- [ ] mypy проходит (0 errors)
|
||||
|
||||
## Тесты
|
||||
- [ ] Есть тесты на новую функциональность
|
||||
- [ ] Есть smoke-тест на новые endpoint'ы
|
||||
- [ ] Тесты проходят
|
||||
|
||||
## Документация
|
||||
- [ ] .env.example обновлён
|
||||
- [ ] CHANGELOG обновлён
|
||||
- [ ] ADR создан (если архитектурное изменение)
|
||||
@@ -0,0 +1,24 @@
|
||||
# Pre-deploy чеклист
|
||||
|
||||
## База данных
|
||||
- [ ] Миграции написаны и проверены (upgrade + downgrade)
|
||||
- [ ] Резервная копия БД создана
|
||||
- [ ] Проверено что данные не потеряются
|
||||
|
||||
## Конфигурация
|
||||
- [ ] `.env` настроен для production
|
||||
- [ ] Все секреты установлены (JWT_SECRET_KEY, пароль БД, AI ключи)
|
||||
- [ ] CORS настроен на реальный домен
|
||||
- [ ] LOG_LEVEL = WARNING (не DEBUG)
|
||||
- [ ] DATABASE_URL указывает на production PostgreSQL
|
||||
|
||||
## Инфраструктура
|
||||
- [ ] SSL сертификаты (Let's Encrypt)
|
||||
- [ ] systemd unit настроен (`/etc/systemd/system/voidea.service`)
|
||||
- [ ] Виртуальное окружение активировано (`venv/`)
|
||||
- [ ] Health check проходит: `curl http://localhost:8020/health`
|
||||
|
||||
## CI/CD
|
||||
- [ ] CI проходит (lint + test)
|
||||
- [ ] Код запушен в main
|
||||
- [ ] Health check проходит после деплоя
|
||||
@@ -0,0 +1,28 @@
|
||||
# Incident Response чеклист
|
||||
|
||||
## Immediate (первые 5 минут)
|
||||
1. [ ] Определить severity
|
||||
- **Critical**: сервис недоступен, данные потеряны
|
||||
- **Major**: функциональность severely impacted
|
||||
- **Minor**: не влияет на пользователей
|
||||
2. [ ] Остановить кровотечение
|
||||
- Rollback до последней стабильной версии
|
||||
- Отключить проблемную функциональность
|
||||
- Переключить на fallback (AI fallback, прямой вызов Celery)
|
||||
3. [ ] Уведомить команду
|
||||
|
||||
## Investigation (15-30 минут)
|
||||
4. [ ] Проверить логи (docker logs, journalctl)
|
||||
5. [ ] Проверить метрики (когда началось, что изменилось)
|
||||
6. [ ] Проверить последний деплой / изменения
|
||||
7. [ ] Воспроизвести проблему (если возможно)
|
||||
|
||||
## Resolution
|
||||
8. [ ] Применить исправление
|
||||
9. [ ] Проверить что сервис восстановлен
|
||||
10. [ ] Уведомить о восстановлении
|
||||
|
||||
## Postmortem (в течение 24 часов)
|
||||
11. [ ] Написать postmortem
|
||||
12. [ ] Создать задачу на предотвращение
|
||||
13. [ ] Добавить мониторинг / тест на этот сценарий
|
||||
@@ -0,0 +1,28 @@
|
||||
# Definition of Done
|
||||
|
||||
Задача считается выполненной только когда ВСЕ пункты отмечены:
|
||||
|
||||
## Код
|
||||
- [ ] Код написан (соответствует стилю проекта)
|
||||
- [ ] Линт проходит (ruff — 0 errors)
|
||||
- [ ] Форматирование соблюдено (ruff format)
|
||||
|
||||
## Тесты
|
||||
- [ ] Тесты написаны (минимум 1 smoke-тест на endpoint)
|
||||
- [ ] Тесты проходят (pytest — green)
|
||||
- [ ] Покрытие новых строк > 80%
|
||||
|
||||
## Документация
|
||||
- [ ] Docstrings написаны (Google-style)
|
||||
- [ ] .env.example обновлён (если новая переменная)
|
||||
- [ ] CHANGELOG обновлён (если изменение влияет на API/пользователя)
|
||||
- [ ] ADR создан (если архитектурное изменение)
|
||||
|
||||
## Инфраструктура
|
||||
- [ ] Миграция написана (если менялась БД)
|
||||
- [ ] Миграция протестирована (upgrade + downgrade)
|
||||
|
||||
## Процесс
|
||||
- [ ] PR создан
|
||||
- [ ] Code review пройден (минимум 1 апрув)
|
||||
- [ ] Ветка смержена в develop/main
|
||||
Reference in New Issue
Block a user