2.4 KiB
2.4 KiB
О проекте
О проекте - в README.md.
Правила кодирования
uv
В проекте используется uv. С помощью uv add добавляем зависимости. С помощью uv run запускаем.
Линтер и типы
- ruff — линтер и форматтер, line-length 88
- ty — проверка типов
Type hints
Используй современный синтаксис type hints:
list[],dict[],tuple[],set[]вместо List, Dict, etc.| Noneвместо Optional- Всегда указывай типы для параметров и возвращаемых значений
Комментари ие комментарии в коде
- Только короткие докстринги к функциям на одну-две строчки
- Код должен быть самодокументируемым
Логирование
- Используй базовое логирование через модуль
src/logger.py - INFO уровень - основные логи для пользователя (что происходит)
- DEBUG уровень - детальная информация для отладки
- Не спамь логами, только важная информация
- Уровень логирования настраивается через
LOG_LEVELв.env
Конфигурация
Все секреты и настройки хранятся в .env. Смотри .env.example для примера.
Переменные окружения
- Не используй значения по умолчанию для переменных окружения
- Если переменная не задана — выбрасывай ошибку при старте
- Это помогает сразу обнаружить проблемы с конфигурацией
Коммиты
- Делай коммиты только если пользователь сказал.
- Перед коммитом:
uv run ruff check --fix . && uv run ruff format . && uv run ty check . - Перед коммитом проверь git status и добавь ненужные файлы в
.gitignore. - Пиши короткие сообщения к коммитам на русском языке.