Initial commit: VoIdeaAI - voice-first AI idea assistant

This commit is contained in:
2026-05-13 12:51:42 +03:00
commit 688d043dad
421 changed files with 47915 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
# Pre-commit чеклист
Перед каждым коммитом:
- [ ] `ruff check .` — 0 errors
- [ ] `ruff format --check .` — форматирование в порядке
- [ ] `mypy app/` — 0 errors (если настроен)
- [ ] `pytest` — все тесты зелёные
- [ ] CHANGELOG обновлён (если изменение влияет на пользователя)
- [ ] .env.example обновлён (если новая переменная)
- [ ] Нет секретов и токенов в коде (grep на api_key, secret, password)
- [ ] Нет TODO/FIXME без тикета
- [ ] Миграция написана (если менялась БД)
- [ ] Docstrings написаны (для новых публичных методов)
**Автоматически (pre-commit hooks):**
- `ruff` — линтинг и форматирование
- `trailing-whitespace` — удаление лишних пробелов
- `check-added-large-files` — проверка больших файлов
@@ -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 создан (если архитектурное изменение)
+28
View File
@@ -0,0 +1,28 @@
# Pre-deploy чеклист
## База данных
- [ ] Миграции написаны и протестированы (upgrade + downgrade)
- [ ] Резервная копия БД создана
- [ ] Проверено что данные не потеряются
## Конфигурация
- [ ] .env настроен для production
- [ ] Все секреты установлены (не дефолтные)
- [ ] CORS настроен на реальный домен
- [ ] LOG_LEVEL = WARNING (не DEBUG)
- [ ] DEBUG = False
## Инфраструктура
- [ ] SSL сертификаты (Let's Encrypt)
- [ ] Nginx настроен (или аналог)
- [ ] systemd unit создан (если без Docker)
## CI/CD
- [ ] CI проходит (lint + test)
- [ ] CD скопировал артефакты на сервер
- [ ] Health check проходит после деплоя
## Мониторинг
- [ ] Health endpoint работает
- [ ] Логи пишутся в файл
- [ ] Алерты настроены (если нужны)
@@ -0,0 +1,28 @@
# Incident Response чеклист
## Immediate (первые 5 минут)
1. [ ] Определить severity
- **Critical**: сервис недоступен, данные потеряны
- **Major**: функциональность severely impacted
- **Minor**: не влияет на пользователей
2. [ ] Остановить кровотечение
- Rollback до последней стабильной версии
- Отключить проблемную функциональность
- Переключить на fallback
3. [ ] Уведомить команду
## Investigation (15-30 минут)
4. [ ] Проверить логи (app, nginx, system)
5. [ ] Проверить метрики (когда началось, что изменилось)
6. [ ] Проверить последний деплой / изменения
7. [ ] Воспроизвести проблему (если возможно)
## Resolution
8. [ ] Применить исправление
9. [ ] Проверить что сервис восстановлен
10. [ ] Уведомить о восстановлении
## Postmortem (в течение 24 часов)
11. [ ] Написать postmortem
12. [ ] Создать задачу на предотвращение
13. [ ] Добавить мониторинг / тест на этот сценарий
@@ -0,0 +1,28 @@
# Definition of Done
Задача считается выполненной только когда ВСЕ пункты отмечены:
## Код
- [ ] Код написан (соответствует стилю из 00-rules.md §1)
- [ ] Линт проходит (ruff — 0 errors)
- [ ] Форматирование соблюдено (ruff format)
## Тесты
- [ ] Тесты написаны (минимум 1 smoke-тест)
- [ ] Тесты проходят (pytest — green)
- [ ] Покрытие новых строк > 80%
## Документация
- [ ] Docstrings написаны (Google-style)
- [ ] .env.example обновлён (если новая переменная)
- [ ] CHANGELOG обновлён (если изменение влияет на API/пользователя)
- [ ] ADR создан (если архитектурное изменение)
## Инфраструктура
- [ ] Миграция написана (если менялась БД)
- [ ] Миграция протестирована (upgrade + downgrade)
## Процесс
- [ ] PR создан
- [ ] Code review пройден (минимум 1 апрув)
- [ ] Ветка смержена в develop/main