Как оптимизировать репозиторий GitHub для разработки с открытым исходным кодом
1 декабря 2022 г.Вклад в открытый исходный код может быть отличным опытом, который поможет вам учиться, получать возможности трудоустройства, общаться с людьми и одновременно помогать другим.
В этой статье вы найдете советы, которые помогут вам подготовить репозиторий GitHub к добавлению открытого исходного кода.
:::информация Предполагается, что у вас есть базовый опыт работы с синтаксисом уценки для работы с большинством файлов, необходимых для этой статьи.
:::
Советы и рекомендации
Создание README
README.md
— это точка входа в ваш проект, когда люди посещают ваш репозиторий. Он должен содержать:
* описание проекта. * чем полезен проект. * с чего начать. * актуальная информация по использованию проекта и т.д.
:::подсказка Большинство проектов с короткой документацией будут иметь файл README. Я бы порекомендовал то же самое, за исключением того, что документация огромна, вам нужно иметь ее где-то еще, что может поддерживать поиск, разбивку на страницы и т. д.
:::
Составление руководства по вкладу
Чтобы создать руководство по вкладу, создайте [CONTRIBUTING.md](http://CONTRIBUTING.md)
в корне вашего проекта и предоставьте информацию, необходимую для новых и старых участников. внести свой вклад в ваш проект.
Он может включать такую информацию, как:
- различные способы, которыми участники могут внести свой вклад в проект.
- как участники могут клонировать репозиторий на свой локальный компьютер.
- как участники могут настроить код на своем компьютере для разработки.
- как участники могут сообщать об ошибках.
Определение Кодекса поведения
В некоторых случаях работа с людьми может быть сложной задачей, а проекты с открытым исходным кодом не защищены от людей с оскорбительными намерениями. Создание кодекса поведения закладывает основу для создания благоприятной среды, в которой люди могут вносить свой вклад, не нарушая негативного поведения, такого как сексуальные домогательства, словесные оскорбления и т. д.
Создайте CODE_OF_CONDUCT.md
в корне вашего проекта. Используя синтаксис уценки, файл может содержать информацию о:
* обещание сообщества проекта, * стандарты сообщества проекта, * руководящие принципы правоприменения.
Вы можете адаптировать рекомендации, предоставленные здесь, чтобы создать свои рекомендации.
Создание проверок статуса
Чтобы обеспечить хорошую разработку, вы можете включить форму проверки статуса каждый раз, когда в ваш проект отправляется запрос на вытягивание. Проверка состояния позволяет узнать, соответствуют ли коммиты условиям, установленным для репозитория. Проверки могут включать непрерывную интеграцию, например:
* модульные тесты * покрытие кода * проверки качества кода, такие как DeepSource, SonarCloud и т. д.
Действия GitHub рекомендуется запускать задания или рабочие процессы при определенных событиях в вашем репозитории.
Защитите свою основную ветку
Используя GitHub, вам необходимо защитить свою основную ветку, чтобы обеспечить выполнение определенных требований перед отправкой в ветку. Защита ветки также может предотвратить удаление или принудительную передачу ветки.
Чтобы настроить правила защиты для основной ветки/ветки по умолчанию, убедитесь, что у вас есть доступ администратора к репозиторию, затем нажмите Настройки > Ветви и нажмите Добавить правило защиты веток:
Затем вы можете настроить или выбрать правила, которые хотите активировать:
Чтобы узнать больше о правилах защиты веток GitHub, посетите страницу здесь.
Создание шаблонов запросов на вытягивание
Чтобы заложить основу для проверки кода, вы можете создать шаблон запроса на вытягивание с наборами необходимой информации, которая, по вашему мнению, необходима для проверки кода.
Чтобы создать шаблон, создайте новый каталог с именем .github
и создайте новый файл в каталоге с именем PULL_REQUEST_TEMPLATE.md
.
Пример шаблона может выглядеть следующим образом:
## Description
Issue closed #(issue)
## Change Type
<!--- This is a comment, you can leave this to give information to the contributor -->
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Minor changes in old functionality
## Checklist
- [ ] My changes are well-tested and commented
- [ ] I reviewed my changes
- [ ] My changes generate no new warnings
Используйте ярлыки GitHub
Вы можете использовать ярлыки GitHub для создания стандартного рабочего процесса в репозитории. Вы можете использовать метки для категоризации проблем, запросов на вытягивание и обсуждений.
GitHub предоставляет метки по умолчанию с их описанием, некоторые из которых включают:
ошибка
: указывает на непредвиденную проблему или непреднамеренное поведение.документация
: указывает на необходимость улучшения или добавления документации.дублировать
: указывает на похожие проблемы, запросы на вытягивание или обсуждения.улучшение
: указывает на запрос новой функции.хорошая первая проблема
: указывает на хорошую проблему для новых участников.нужна помощь
: указывает, что сопровождающему требуется помощь по проблеме или запросу на вытягивание. и т. д.
Чтобы узнать больше о метках GitHub, вы можете посетить эту документацию. .
Создание шаблонов для задач
Как только участники начнут замечать и использовать ваш проект, очень вероятно, что в вашем репозитории возникнет ряд проблем.
На момент написания этой статьи в репозитории Typescript было более 5000 выпусков.
Создание шаблонов задач — отличный способ упорядочить задачи в репозитории.
Чтобы создать эти шаблоны, создайте каталог с именем ISSUE_TEMPLATE
в каталоге .github
, который находится в корне вашего проекта. Затем создайте новый файл уценки напрямую, чтобы создать отдельные шаблоны.
Я создам образец шаблона запроса функции в файле с именем feature_template.md
:
<!-- .github/ISSUE_TEMPLATE/feature_template.md -->
---
name: Feature Request
about: Suggest a new idea for this project
labels: enhancement
---
<!-- please fill each section completely -->
## Viability Checklist
- [ ] this wouldn't be breaking change in existing JavaScript
- [ ] this will not change the runtime environment
- [ ] this feature can be implemented with JavaScript
## Suggestion
<!-- A summary of what you are suggesting -->
## Use Case
<!-- How do you think this feature would be useful -->
Заключение
Открытый исходный код не ограничивается только написанием кода. Вы можете помочь с документацией, поделиться проектом с друзьями и обсудить его с друзьями, помочь с дизайном продукта и многим другим. Я надеюсь, что эта статья поможет вам приступить к работе над вашим следующим проектом с открытым исходным кодом.
В настоящее время я создаю информационный бюллетень, чтобы делиться информативными статьями и новостями, моими успехами в создании стартапов с небольшим опытом и тем, как вы можете учиться на моем опыте.
Подпишитесь по этой ссылке .
Также опубликовано здесь
Оригинал