Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -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 создан (если архитектурное изменение)
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user