ProgrammersGuildProtocol.ru.md

Протокол Гильдии программистов

  1. Гильдия программистов создана как децентрализованная автономная организация для разработки и поддержки программного обеспечения Ассоциации Монтелиберо.

  2. Принципы.

    2.1. Децентрализация: Каждая команда имеет автономию в принятии решений, но должна следовать процессам Гильдии.

    2.2. Прозрачность: Все процессы разработки, обсуждение и принятие решений должны быть документированы и доступны для всех участников.

    2.3. Сотрудничество: Команды должны поддерживать эффективное взаимодействие и обмен знаниями через доступные коммуникационные каналы и инструменты.

  3. Изменение протокола осуществляется Старейшинами Гильдии через установку данных на счете GDRLJC6EOKRR3BPKWGJPGI5GUN4GZFZRWQFDG3RJNZJEIBYA7B3EPROG. Ключ ProgrammersGuildProtocol, значение — sha-256 протокола.

  4. В каждой команде должен быть свой Капитан, что следит за соблюдением протокола.

  5. Процессы.

    5.1. Команды должны использовать Github и организацию Montelibero как основной репозиторий проектов Гильдии.

    5.2. Заявки на новый функционал или решение ошибок и связанные обсуждения должны быть в Issues.

    5.3. Изменения кода должно быть через Pull requests с обязательным ревью от Капитана или назначенного им ответственного специалиста.

    5.4. Проекты должны иметь непрерывную интеграцию с помощью Actions.

    5.5. Рекомендуется иметь непрерывную доставку с помощью Actions.

    5.6. Проекты могут иметь документацию в Wiki. Допускается наличие документации в репозитории.

    5.7. Планирование проекта может осуществляться через Projects.

  6. Кодовая база.

    6.1. Для разработки рекомендуется использовать TypeScript как самый популярный язык среди программистов-волонтеров Распределенного правления.

    6.2. Стиль кода должен быть установлен Капитаном и согласован со Старейшинами.

    6.3. Код должен иметь документацию: Описание интерфейсов, конфигурации и запуска.

    6.4. Код должен быть структурирован и следовать принятым подходам и шаблонам. Подход к структуризации устанавливает Капитан и согласует со Старейшинами.

    6.5. Коммиты должны соответствовать стандарту Conventional Commits.

    6.6. Рекомендуется написание тестов на критический функционал.

    6.7. Рекомендуется подход Test-Driven Development для повышения качества кода.

  7. Релизы.

    7.1. Версии программного обеспечения должны соответствовать стандарту Semantic Versioning.

    7.2. Релиз новой версии должен быть согласован с Капитаном или назначенным им ответственным лицом.

    7.3. Процесс тестирования и принятия нового функционала заказчиком осуществляет Капитан.

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

    8.1. Кодовая база должна иметь инструменты обнаружения уязвимостей.

    8.2. Кодовая база должна быть обновлена, если Github Security советует это сделать из-за найденной уязвимости.

  9. Решение конфликтов осуществляется через медиацию Капитанов или Старейшин.