Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
pierrelissope authored Oct 17, 2024
0 parents commit 364766c
Show file tree
Hide file tree
Showing 12 changed files with 826 additions and 0 deletions.
71 changes: 71 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug", "triage"]
assignees:
- adrienfort # Update it
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: description
attributes:
label: Description
description: Describe your bug shortly.
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Describe your bug with as much details as possible.
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: textarea
id: expected-behaviour
attributes:
label: Expected behaviour
description: Describe what should happened with as much details as possible.
placeholder: Tell us what should happened!
value: "This should happened!"
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Describe your environment with as much details as possible.
placeholder: Tell us what is your environment!
value: "- OS and version\n- Branch that causes this bug"
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: List the steps to reproduce with as much details as possible.
placeholder: Tell us how to reproduce this bug!
value: "- You have to do this!\n- Then this!"
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: C++
validations:
required: false
- type: textarea
id: proposed-solution
attributes:
label: Proposed solution
description: If you have an idea of how to fix this issue, please write it down here, so we can begin discussing it.
validations:
required: false
45 changes: 45 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Feature Request
description: File a feature request
title: "[Feature]: "
labels: ["feature", "triage"]
assignees:
- adrienfort # Update it
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request!
- type: textarea
id: description
attributes:
label: Description
description: Describe your feature shortly.
placeholder: Tell us what you want to see!
value: "A new feature!"
validations:
required: true
- type: textarea
id: expected-behaviour
attributes:
label: Expected behaviour
description: Describe what you want to happen with as much details as possible.
placeholder: Tell us what you want to happen!
value: "This should happened!"
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Describe your environment with as much details as possible.
placeholder: Tell us what is your environment!
value: "- OS and version"
validations:
required: true
- type: textarea
id: proposed-solution
attributes:
label: Proposed solution
description: If you have an idea of how to realise this feature, please write it down here, so we can begin discussing it.
validations:
required: false
Empty file added .github/assets/.gitkeep
Empty file.
204 changes: 204 additions & 0 deletions .github/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# Getting Started

> [PoC Innovation's Open-Source project template](https://github.com/PoCInnovation/open-source-project-template)
Please read carefully this guide.

## Setup

In this part, you will configure your project.

### Branches

Branch protection is really important. It helps you to have control on your code.

For each of the following branches, add the required protections.

#### `main`

```markdown
- [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
```

### Documents

This template provides the must-have documents.

#### README.md

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](/README.md).
> If you add pictures, put them in the [assets](./assets/) folder.
#### CONTRIBUTING.md

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](/CONTRIBUTING.md).

#### LICENSE

The LICENSE protects your code and contributors.

This template provides an [Apache Licence 2.0](https://www.apache.org/licenses/LICENSE-2.0).
> If you want another one, check this [guide](https://choosealicense.com).
If your project doesn't belong to [PoC Innovation](https://github.com/PoCInnovation), make sure to update the copyrights of the [LICENCE](/LICENSE).

### About

Update the `About` section by adding a description, a website, and topics.

### Templates

This template provides the must-have templates.

#### Issues

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](./ISSUE_TEMPLATE/bug_report.yml) template.

Change the default assignee of the [feature_request](./ISSUE_TEMPLATE/feature_request.yml) template.

#### Pull Requests

A pull request is an event where a contributor asks a maintainer to review code.

This template provides a [pull request template](./pull_request_template.md). You don't need to update it.

#### Milestones

A milestone helps to track progress on groups of issues or pull requests.

This template provides a [milestone template](./milestone_template.md). You don't need to update it.

### Labels

A label helps to categorize issues and pull requests.

Make sure to have the following labels :

- `bug`: Something isn't working
- `bugfix`: Resolve a bug
- `chore`: Global maintenance
- `documentation`: Improvements or additions to documentation
- `duplicate`: This issue or pull request already exists
- `enhancement`: New feature or request
- `help wanted`: Extra attention is needed
- `invalid`: This doesn't seem right
- `major`: Major update (for release)
- `minor`: Minor update (for release)
- `patch`: Patch update (for release)
- `question`: Further information is requested
- `triage`: Need to be tagged
- `wontfix`: This will not be worked on

### GitHub project

Create a GitHub project to manage your milestones, issues and pull requests.

### Actions

This template provides some GitHub actions.

#### Release Drafter

A release is tool with changelogs that present a full history of a project.

This template provides an [action](./workflows/release-drafter.yml) that drafts [next releases notes](./release-drafter.yml) as pull requests are merged into the main branch. You don't need to update it.
> Check this [action's documentation](https://github.com/release-drafter/release-drafter) to understand how it works
### Settings

#### Visibility

Make your repository public.

## Sprints

In this part, you will learn how to manage sprints.

A sprint is associated as a milestone.\
A task is associated as an issue.

### Workflow

The workflow to follow is:

1) Create a milestone
2) Create all the needed issues linked to this milestone
3) Manage the pull requests linked with these issues using the GitHib project
4) Resolve these issues
5) Publish a release
6) Close the milestone

### Milestones

Each milestones must use the [milestone template](./milestone_template.md).

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!

### Issues

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!

### Pull Requests

**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!

### GitHub project

**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!

### Releases

**Each update on the main branch must be linked to a release.**

Tag pull requests with the `patch`, `minor` or `major` labels.

## Notes

### Discord Webhook

We strongly advice you to have a discord channel on which you will receive GitHub updates on your project.

Follow this [tutorial](https://gist.github.com/SGTGunner/50d6a3cc0d489cf779f77695ba3e22ea).

### Security dependabot

We strongly advice you to have a security dependabot to fix vulnerable dependencies.

Follow this [tutorial](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates#managing-dependabot-security-updates-for-your-repositories).

### Help

If you have any questions, please contact [Reza Rahemtola](https://github.com/RezaRahemtola).

> Made with ❤️ by PoC
26 changes: 26 additions & 0 deletions .github/milestone_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Overall

### Objective

[Explain here the objective of the milestone]

### Checklist

- [ ] Clear objective
- [ ] Consistent objective
- [ ] Achievable in the given time
- [ ] Issues created, with the rights labels and linked to this milestone
- [ ] Issues assigned

## Final Report

### Checklist

- [ ] Objective fulfilled
- [ ] README.md and other relevant documents (guide, ...) updated
- [ ] Documentation updated
- [ ] Pull requests merged
- [ ] Issues closed
- [ ] Release created
- [ ] Tasks archived
- [ ] Branches cleared
31 changes: 31 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Description

Please provide a detailed description of what was done in this PR.
Precise the issue that you are resolving.

# Changes include

- [ ] Bugfix (non-breaking change that solves an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

# Breaking changes

Please complete this section if any breaking changes have been made, otherwise delete it.

# Checklist

- [ ] I have assigned this PR to myself
- [ ] I have added at least 1 reviewer
- [ ] I have added the needed labels
- [ ] I have linked this PR to an issue
- [ ] I have linked this PR to a milestone
- [ ] I have linked this PR to a project
- [ ] I have tested this code
- [ ] I have added / updated tests (unit / functional / end-to-end / ...)
- [ ] I have updated the README and other relevant documents (guides...)
- [ ] I have added sufficient documentation both in code, as well as in the READMEs

# Additional comments

Please post additional comments in this section if you have them, otherwise delete it.
Loading

0 comments on commit 364766c

Please sign in to comment.