- Add ruff (line-length 88) and ty to dev dependencies - Fix all ruff linting errors - Configure ty to ignore nullable type warnings - Update AGENTS.md with linting instructions
2.0 KiB
2.0 KiB
О проекте
О проекте - в README.md.
Правила кодирования
uv
В проекте используется uv. С помощью uv add добавляем зависимости. С помощью uv run запускаем.
Линтер и типы
- ruff — линтер и форматтер, line-length 88
- ty — проверка типов
- Перед коммитом:
uv run ruff check --fix . && uv run ruff format . && uv run ty check .
Type hints
Используй современный синтаксис type hints:
list[],dict[],tuple[],set[]вместо List, Dict, etc.| Noneвместо Optional- Всегда указывай типы для параметров и возвращаемых значений
Комментари ие комментарии в коде
- Только короткие докстринги к функциям на одну-две строчки
- Код должен быть самодокументируемым
Логирование
- Используй базовое логирование через модуль
src/logger.py - INFO уровень - основные логи для пользователя (что происходит)
- DEBUG уровень - детальная информация для отладки
- Не спамь логами, только важная информация
- Уровень логирования настраивается через
LOG_LEVELв.env
Конфигурация
Все секреты и настройки хранятся в .env. Смотри .env.example для примера.
Переменные окружения
- Не используй значения по умолчанию для переменных окружения
- Если переменная не задана — выбрасывай ошибку при старте
- Это помогает сразу обнаружить проблемы с конфигурацией