Спільнота
Внесок у SelenaCore
Внесок у SelenaCore
Робочий процес
- Спершу Issue — вся робота починається зі створення GitHub Issue
- Одна задача за раз — взяти Issue → реалізувати → коміт → закрити
- Тести обов'язкові — не можна пушити в
mainз failingтестами
Гілки
- Зміни до 200 рядків — напряму в
main - Більше 200 рядків —
feat/<issue-number>-<slug>
Коміти
Формат: <type>(<scope>): <опис> [#<N>]
Типи: feat, fix, chore, refactor, test, docs, security, perf.
Стандарти коду
- Python 3.11+, всі публічні методи —
async def - Type hints обов'язкові
logging.getLogger(__name__)— безprint()except Exception as e:— ніколи голийexcept: pass
Тести
pytest tests/ -v
pytest tests/ --cov=core --cov-report=term-missing
python -m mypy core/
Безпека
Знайшли вразливість — не створюйте публічний Issue. Використовуйте GitHub Security Advisories.
Заборонено
eval(),exec()у будь-якому кодіshell=Trueбез крайньої необхідності- Секрети в
.env(лише.env.example) - Прямий доступ до
/secure/з модуля - Публікація
core.*подій з модуля