# Технологический стек ## Стек по умолчанию | Компонент | Технология | Версия | Примечание | |-----------|-----------|--------|------------| | Язык | Python | 3.12+ | | | Фреймворк | FastAPI | 0.115+ | async, OpenAPI | | ORM | SQLAlchemy | 2.0+ | async | | Валидация | Pydantic | 2.x | v2 синтаксис | | База данных (dev) | SQLite | — | через aiosqlite | | База данных (prod) | PostgreSQL | 14+ | через asyncpg | | Миграции | Alembic | 1.14+ | | | Аутентификация | JWT + bcrypt | — | passlib | | Фронтенд | React + Vite + TS | 18/5/5 | | | Стили | Tailwind CSS | 3.4+ | | | PWA | vite-plugin-pwa | 0.20+ | | | Тесты | pytest | 8+ | asyncio_mode=auto | | Линтер | ruff | | | | Форматтер | ruff format | | line-length=88 | ## Опциональные компоненты | Компонент | Когда добавлять | Альтернативы | |-----------|----------------|--------------| | **Celery** + Redis | Для фоновых задач (AI, email, backup) | Прямой вызов в dev | | **PostgreSQL** | Для production | SQLite в dev | | **AI providers** | Если нужен AI-анализ | Yandex GPT, GigaChat, OpenAI | | **OAuth2** | Если нужен вход через соцсети | Яндекс, Google, GitHub | | **SMTP** | Если нужны email-уведомления | | | **Docker** | Для воспроизводимого деплоя | | | **Prometheus + Grafana** | Для мониторинга в prod | | | **System Agents** | Для саморазвития проекта | 4 ядерных, остальные по необходимости | ## [ASK] Выбор стека Перед началом проекта ответьте на вопросы: 1. **Будет ли проект в production?** Если да → PostgreSQL + мониторинг 2. **Нужны ли фоновые задачи?** Если да → Celery (или прямой вызов на старте) 3. **Нужен ли AI?** Если да → FallbackChain с 2+ провайдерами 4. **Нужен ли фронтенд?** Если да → React/Vite/Tailwind 5. **Нужна ли PWA?** Если да → vite-plugin-pwa + Service Worker 6. **Нужны ли агенты?** Если да → 4 ядерных с первого коммита