Как оптимизировать репозиторий GitHub для разработки с открытым исходным кодом

Как оптимизировать репозиторий 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 -->

Заключение

Открытый исходный код не ограничивается только написанием кода. Вы можете помочь с документацией, поделиться проектом с друзьями и обсудить его с друзьями, помочь с дизайном продукта и многим другим. Я надеюсь, что эта статья поможет вам приступить к работе над вашим следующим проектом с открытым исходным кодом.

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

Подпишитесь по этой ссылке .


Также опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE