Files
dataset-tg-bot/AGENTS.md
2026-02-02 22:20:52 +03:00

2.4 KiB
Raw Permalink Blame History

О проекте

О проекте - в 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.
  • Пиши короткие сообщения к коммитам на русском языке.