Как участвовать
Проект открыт: github.com/STEP-CORP/StepBot. Баг-репорты, идеи и PR приветствуются — правила короткие.
Баги и идеи
- 🐛 Нашли баг → заведите issue по шаблону: шаги воспроизведения, окружение, логи.
- 💡 Есть идея → issue «Идея / фича» или обсуждение в чате сообщества.
- Перед созданием проверьте, нет ли уже похожего issue.
Pull Request'ы
Форкните репозиторий и создайте ветку от
main.Локальная разработка описана в README репозитория (раздел «Ручной запуск») и
docs/setup.md.Перед отправкой прогоните гейт:
bashmake check # ruff + mypy strict + pytestДля админ-SPA:
npm run build --prefix adminдолжен собираться без ошибок.Правила кода — Архитектура и
docs/context/07-gotchas.mdв репозитории: слои не нарушать (сервисы не импортируют aiogram/FastAPI/httpx напрямую), деньги — целые minor-units, даты — UTC-aware, async везде, типы обязательны.Новая модель БД или платёжный провайдер — строго по рецептам: модель БД, платёжный шлюз.
Один PR — одно логическое изменение. Тесты на новое поведение обязательны.
make check — тот же гейт, что у мейнтейнеров
Локально зелёный make check = PR не завернут по формальным причинам. Это ruff (формат + линт), mypy в strict-режиме и pytest — всё, что проверяется перед мержем.
Безопасность
Проект обрабатывает платежи и персональные данные подписчиков — сообщения об уязвимостях особенно ценны. Не создавайте публичный issue: используйте приватный отчёт «Security → Report a vulnerability» на странице репозитория. Что считается уязвимостью и как оформить отчёт — в SECURITY.md.
