Please read carefully this guide.
In this part, you will configure your project.
Branch protection is really important. It helps you to have control on your code.
For each of the following branches, add the required protections.
- [x] Require a pull request before merging
- [x] Require approvals
Required number of approvals before merging: 1
- [x] Require status checks to pass before merging
- [x] Require branches to be up to date before merging
- [x] Require conversation resolution before merging
This template provides the must-have documents.
The README.md is the showcase of your project. It always must be clean and consistent. Otherwise, no one will care of your project.
Fill every sections of the README.md.
If you add pictures, put them in the assets folder.
The CONTRIBUTING.md is the guide to contribute to your project. It always must be clean and consistent. Otherwise, no one will contribute to your project.
Fill every sections of the CONTRIBUTING.md.
The LICENSE protects your code and contributors.
This template provides an Apache Licence 2.0.
If you want another one, check this guide.
If your project doesn't belong to PoC Innovation, make sure to update the copyrights of the LICENCE.
Update the About
section by adding a description, a website, and topics.
This template provides the must-have templates.
An issue is a tool to track and focus tasks.
This template provides two issues templates :
Bug Report
Feature Request
Change the default assignee of the bug_report template.
Change the default assignee of the feature_request template.
A pull request is an event where a contributor asks a maintainer to review code.
This template provides a pull request template. You don't need to update it.
A milestone helps to track progress on groups of issues or pull requests.
This template provides a milestone template. You don't need to update it.
A label helps to categorize issues and pull requests.
Make sure to have the following labels :
bug
: Something isn't workingbugfix
: Resolve a bugchore
: Global maintenancedocumentation
: Improvements or additions to documentationduplicate
: This issue or pull request already existsenhancement
: New feature or requesthelp wanted
: Extra attention is neededinvalid
: This doesn't seem rightmajor
: Major update (for release)minor
: Minor update (for release)patch
: Patch update (for release)question
: Further information is requestedtriage
: Need to be taggedwontfix
: This will not be worked on
Create a GitHub project to manage your milestones, issues and pull requests.
This template provides some GitHub actions.
A release is tool with changelogs that present a full history of a project.
This template provides an action that drafts next releases notes as pull requests are merged into the main branch. You don't need to update it.
Check this action's documentation to understand how it works
Make your repository public.
In this part, you will learn how to manage sprints.
A sprint is associated as a milestone.
A task is associated as an issue.
The workflow to follow is:
- Create a milestone
- Create all the needed issues linked to this milestone
- Manage the pull requests linked with these issues using the GitHib project
- Resolve these issues
- Publish a release
- Close the milestone
Each milestones must use the milestone template.
There are two parts :
- Overall
⚠️ It's checklist must be completed before starting this sprint⚠️ - Final Report
⚠️ It's checklist must be completed before starting a new sprint⚠️
Additional information is written in the milestones's checklists. Read them carefully!
Create all the required issues of a sprint before starting it. Once the sprint started, no issue linked to it should be create.
Each issue must be linked to a milestone and a GitHub project, have the right labels and be assigned to someone.
You can discuss in a issue, do it as much as you can!
Each pull request must be linked to an issue and a GitHub project, have the right labels, be assigned to someone and have a reviewer.
You can discuss in a pull request, do it as much as you can!
No tasks (issue) must be created directly from the GitHub project. Create an issue using a template, it will automatically appears on the GitHub project. Don't forget to archive the tasks once the milestone is closed.
It is a powerful tool, use it well!
Each update on the main branch must be linked to a release.
Tag pull requests with the patch
, minor
or major
labels.
We strongly advice you to have a discord channel on which you will receive GitHub updates on your project.
Follow this tutorial.
We strongly advice you to have a security dependabot to fix vulnerable dependencies.
Follow this tutorial.
If you have any questions, please contact Reza Rahemtola.
Made with ❤️ by PoC