Skip to content

Commit

Permalink
misc: Update and fix contribution guide (#70)
Browse files Browse the repository at this point in the history
* misc: Update and fix contribution guide

* Update CONTRIBUTING.md

Co-authored-by: Romain Sempé <[email protected]>

---------

Co-authored-by: Romain Sempé <[email protected]>
  • Loading branch information
vincent-pochet and rsempe authored Mar 28, 2023
1 parent cf52f68 commit 1adfed5
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 24 deletions.
49 changes: 25 additions & 24 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ This project and everyone participating in it is governed by the [Code of Conduc

## I don't want to read this whole thing I just have a question!!!

- [Lago Discussions](https://community.getlago.com/)
- [Lago official documentation](https://doc.getlago.com/docs/guide/intro)
- [Lago feature request](https://community.getlago.com/c/feature-requests/11)
- [Lago Discussions](https://lago-community.slack.com)
- [Lago official documentation](https://doc.getlago.com/docs/guide/intro/welcome)
- [Lago feature request](https://getlago.canny.io/)

## What should I know before I get started?

Expand All @@ -52,33 +52,34 @@ Here's a list of Lago's elements:
- [lago](https://github.com/getlago/lago) - The entry point of the lago application
- [lago/front](https://github.com/getlago/lago-front) - Lago's UI
- [lago/api](https://github.com/getlago/lago-api) - Lago's API.
- [lago/openAPI](https://github.com/getlago/lago-openapi) - OpenAPI definition for the Lago API

#### The different clients

- [lago/client/go](https://github.com/getlago/lago-go-client) - Lago's Go Client (you are here 📍)
- [lago/client/nodejs](https://github.com/getlago/lago-nodejs-client) - Lago's Nodejs Client
- [lago/client/javascript](https://github.com/getlago/lago-javascript-client) - Lago's Javascript Client
- [lago/client/python](https://github.com/getlago/lago-python-client) - Lago's Python Client
- [lago/client/ruby](https://github.com/getlago/lago-ruby-client) - Lago's Ruby Client

Also, because Lago is extensible, it's possible that a feature you've become accustomed to in Lago or an issue you're encountering isn't coming from a bundled package at all, but rather a community package you've installed. Each community package has its own repository too.

### Design Decisions

If you have a question around how we do things, check to see if it is documented in the wiki of the related repository. If it is _not_ documented there, please open a new topic on [Lago Discussions](https://community.getlago.com/) and ask your question.
If you have a question around how we do things, check to see if it is documented in the wiki of the related repository. If it is _not_ documented there, please open a new topic on [Lago Discussions](https://lago-community.slack.com) and ask your question.

## How Can I Contribute?

### Reporting Bugs

This section guides you through submitting a bug report for Lago. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:.

Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out the required [template](https://github.com/getlago/lago-nodejs-client/issues/new?assignees=&labels=%F0%9F%90%9E+bug&template=bug.md&title=%5BBUG%5D%3A+), the information it asks for helps us resolve issues faster.
Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out the required [template](https://github.com/getlago/lago-go-client/issues/new?assignees=&labels=%F0%9F%90%9E+bug&template=bug_report.md&title=%5BBUG%5D%3A+), the information it asks for helps us resolve issues faster.

> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
#### Before Submitting A Bug Report

- **Check [Lago Discussions](https://community.getlago.com/)** for a list of common questions and problems.
- **Check [Lago Discussions](https://lago-community.slack.com)** for a list of common questions and problems.
- **Determine [which element the problem should be reported in](#lago-and-packages)**.
- **Perform a [cursory search](https://github.com/search?q=+is%3Aissue+user%3Agetlago)** to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue instead of opening a new one.

Expand Down Expand Up @@ -114,7 +115,7 @@ Include details about your configuration and environment:

This section guides you through submitting an enhancement suggestion for Lago, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion :pencil: and find related suggestions :mag_right:.

Before creating enhancement suggestions, please check [this list](#before-submitting-an-enhancement-suggestion) as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). Fill in the [template](https://github.com/getlago/lago-node-js/issues/new?assignees=&labels=%F0%9F%9B%A0+feature&template=feature.md&title=%5BFEAT%5D%3A+), including the steps that you imagine you would take if the feature you're requesting existed.
Before creating enhancement suggestions, please check [this list](#before-submitting-an-enhancement-suggestion) as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). Fill in the [template](https://github.com/getlago/lago-node-js/issues/new?assignees=&labels=%F0%9F%9B%A0+feature&template=feature_request.md&title=%5BFEAT%5D%3A+), including the steps that you imagine you would take if the feature you're requesting existed.

#### Before Submitting An Enhancement Suggestion

Expand All @@ -137,10 +138,10 @@ Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com

### Your First Code Contribution

Unsure where to begin contributing to Lago? You can start by looking through these `beginner` and `help-wanted` labels:
Unsure where to begin contributing to Lago? You can start by looking through these `good first issue` and `help-wanted` labels:

- Beginner issues - issues which should only require a few lines of code, and a test or two.
- Help wanted issues - issues which should be a bit more involved than `beginner` issues.
- Good first issues - issues which should only require a few lines of code, and a test or two.
- Help wanted issues - issues which should be a bit more involved than `good first issue` issues.

Both issue lists are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for impact a given change will have.

Expand Down Expand Up @@ -192,21 +193,21 @@ Please open an issue if you have suggestions for new labels.

| Label name | :mag_right: | Description |
| --------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `feature` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%9B%A0%20feature) | Feature requests. |
| `improvement` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%8C%88%20improvement) | Improvement requests (of existing features). |
| `documentation` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%93%84%20Documentation) | Feature requests. |
| `bug` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%90%9E%20bug) | Confirmed bugs or reports that are very likely to be bugs. |
| `critical bug` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%99%80%20Critical%20bug) | Confirmed critical bugs or reports that are very likely to be bugs. |
| `chore` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%A5%B7%20chore) | Chore related issues |
| `help-wanted` | [Issues](https://github.com/getlago/lago-node-js/labels/help-wanted) | The Lago core team would appreciate help from the community in resolving these issues. |
| `beginner` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%90%A3%20Beginner) | Less complex issues which would be good first issues to work on for users who want to contribute to Lago. |
| `wontfix` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%E2%9D%8C%20wontfix) | The Lago core team has decided not to fix these issues for now, either because they're working as intended or for some other reason. |
| `dependencies` | [Issues](https://github.com/getlago/lago-nodejs-client/labels/%F0%9F%94%97%20dependencies) | Issues reported on the wrong repository |
| `feature` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%9B%A0%20feature) | Feature requests. |
| `improvement` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%8C%88%20improvement) | Improvement requests (of existing features). |
| `documentation` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%93%84%20Documentation) | Feature requests. |
| `bug` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%90%9E%20bug) | Confirmed bugs or reports that are very likely to be bugs. |
| `critical bug` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%99%80%20Critical%20bug) | Confirmed critical bugs or reports that are very likely to be bugs. |
| `chore` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%A5%B7%20chore) | Chore related issues |
| `help wanted` | [Issues](https://github.com/getlago/lago-node-js/labels/help-wanted) | The Lago core team would appreciate help from the community in resolving these issues. |
| `good first issue` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%90%A3%20Beginner) | Less complex issues which would be good first issues to work on for users who want to contribute to Lago. |
| `wontfix` | [Issues](https://github.com/getlago/lago-go-client/labels/%E2%9D%8C%20wontfix) | The Lago core team has decided not to fix these issues for now, either because they're working as intended or for some other reason. |
| `dependencies` | [Issues](https://github.com/getlago/lago-go-client/labels/%F0%9F%94%97%20dependencies) | Issues reported on the wrong repository |

#### Pull Request Labels

| Label name | :mag_right: | Description |
| ------------------ | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
| `needs-review` | [PR](https://github.com/getlago/lago-nodejs-client/pulls?q=is%3Apr+is%3Aopen+review%3Arequired) | Pull requests which need code review, and approval from maintainers or Lago core team. |
| `requires-changes` | [PR](https://github.com/getlago/lago-nodejs-client/pulls?q=is%3Apr+is%3Aopen+review%3Achanges-requested) | Pull requests which need to be updated based on review comments and then reviewed again. |
| `review-approved` | [PR](https://github.com/getlago/lago-nodejs-client/pulls?q=is%3Apr+is%3Aopen+review%3Aapproved) | That has been approved |
| `needs-review` | [PR](https://github.com/getlago/lago-go-client/pulls?q=is%3Apr+is%3Aopen+review%3Arequired) | Pull requests which need code review, and approval from maintainers or Lago core team. |
| `requires-changes` | [PR](https://github.com/getlago/lago-go-client/pulls?q=is%3Apr+is%3Aopen+review%3Achanges-requested) | Pull requests which need to be updated based on review comments and then reviewed again. |
| `review-approved` | [PR](https://github.com/getlago/lago-go-client/pulls?q=is%3Apr+is%3Aopen+review%3Aapproved) | That has been approved |
28 changes: 28 additions & 0 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Pull Request template

Please, go through these steps before you submit a PR.

1. Make sure that your PR is not a duplicate.
2. If not, then make sure that:

a. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the `fix/` or `feature/` prefixes. Good examples are: `fix/signin-issue` or `feature/issue-templates`.

b. You have a descriptive commit message with a short title (first line).

c. You have only one commit (if not, squash them into one commit).

d. `python3 -m pytest tests` doesn't throw any error. If it does, fix them first and amend your commit (`git commit --amend`).

3. **After** these steps, you're ready to open a pull request.

a. Give a descriptive title to your PR.

b. Describe your changes.

c. Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes (if such).

d. Add the corresponding labels to your pull request (ex: feature, improvement, bug...)

IMPORTANT: Please review the [CONTRIBUTING.md](../CONTRIBUTING.md) file for detailed contributing guidelines.

**PLEASE REMOVE THIS TEMPLATE BEFORE SUBMITTING**

0 comments on commit 1adfed5

Please sign in to comment.