Основной принцип:
- Пожалуйста, делайте только то, что вам интересно и чем вы планируете пользоваться сами.
- Пожалуйста, проверяйте рабочесть вашего кода на реальных системах.
- По возможности, пожалуйста, пользуйтесь сами своим кодом - это приведёт к его качеству
Если вы создаете плагин - пожалуйста
- Сделайте под него отдельный проект на Github или где вам удобно
- Проект можно делать чисто с файлом plugin_. Не нужно и даже нежелательно копировать весь репозиторий ядра - зачем плодить лишние сущности?
- Как сделали - киньте ссылку в janvarev#1
- По возможности, поддерживайте ваш плагин самостоятельно
Иногда то, что вы планируете, невозможно без изменения ядра, и вы хотите сделать Pull Request с изменениями.
Тогда от вас потребуется следующее:
Если ваше изменение НЕОДНОЗНАЧНО - т.е. улучшает функциональность в одних случаях, и ухудшает в других, то:
- Залезьте в плагин core.py
- Сделайте там опцию-переключатель, позволяющий включать/выключать вашу фунциональность.
- Сделайте ей по умолчанию ВЫКЛЮЧЕННОЙ - т.е. Ирина должна по дефолту работать как обычно
- Внесите дополнительные опции вашей функциональности туда же - в core.py (например, порог распознавания в нейросети)
- Внесите описание этих допопций в Readme.md
Дополнительно
- Очевидно, все что может быть вынесено в отдельный плагин - лучше туда вынести.
- Подключайте (import) навороченные библиотеки только в тот момент, когда они будут использоваться - чтобы был шанс запустить Ирину без них
В проекте нет четкого код-стайла потому, что автор не совсем готов сейчас следовать стандартам.
Однако, автору нравится то, как код сейчас сделан.
Поэтому, временно масштабные пулл-реквесты в духе "обновить импорты" или "привести в соответствие с PEP8" приниматься не будут.
Пожалуйста, не делайте реквестов с изменением код-стайла.