Skip to content

Как участвовать

Проект открыт: github.com/STEP-CORP/StepBot. Баг-репорты, идеи и PR приветствуются — правила короткие.

Баги и идеи

  • 🐛 Нашли баг → заведите issue по шаблону: шаги воспроизведения, окружение, логи.
  • 💡 Есть идея → issue «Идея / фича» или обсуждение в чате сообщества.
  • Перед созданием проверьте, нет ли уже похожего issue.

Pull Request'ы

  1. Форкните репозиторий и создайте ветку от main.

  2. Локальная разработка описана в README репозитория (раздел «Ручной запуск») и docs/setup.md.

  3. Перед отправкой прогоните гейт:

    bash
    make check   # ruff + mypy strict + pytest

    Для админ-SPA: npm run build --prefix admin должен собираться без ошибок.

  4. Правила кода — Архитектура и docs/context/07-gotchas.md в репозитории: слои не нарушать (сервисы не импортируют aiogram/FastAPI/httpx напрямую), деньги — целые minor-units, даты — UTC-aware, async везде, типы обязательны.

  5. Новая модель БД или платёжный провайдер — строго по рецептам: модель БД, платёжный шлюз.

  6. Один PR — одно логическое изменение. Тесты на новое поведение обязательны.

make check — тот же гейт, что у мейнтейнеров

Локально зелёный make check = PR не завернут по формальным причинам. Это ruff (формат + линт), mypy в strict-режиме и pytest — всё, что проверяется перед мержем.

Безопасность

Проект обрабатывает платежи и персональные данные подписчиков — сообщения об уязвимостях особенно ценны. Не создавайте публичный issue: используйте приватный отчёт «Security → Report a vulnerability» на странице репозитория. Что считается уязвимостью и как оформить отчёт — в SECURITY.md.

MIT License · сделано для тех, кто продаёт VPN, а не настраивает ботов