Skip to content

Commit 02d5bf3

Browse files
committed
docs(contributing): add contributing guides
Add contributing guides as an effort to improve the contributions workflow.
1 parent 249f8fa commit 02d5bf3

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed

CONTRIBUTING.md

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Contributing guides
2+
3+
> Simple guide on how to contribute to the project
4+
5+
Hey there :wave: Thanks for taking the time to contribute! This document should provide you with all the information needed.
6+
7+
If you want to contribute but you're not sure where to start, check the issues tagged as [**help wanted**](/issues?q=is%3Aissue+is%3Aopen+label%3A"help+wanted").
8+
9+
Please, take a moment to review this document in order to make the contribution process easy and effective.
10+
11+
## Questions
12+
13+
If you have a question, make sure it wasn't [already answered](/issues?q=label%3Asupport). If it wasn't, please feel free to file an issue.
14+
15+
## Bugs
16+
17+
Bug reports are tricky. Please provide as much context as possible.
18+
19+
## Feature requests
20+
21+
Feature requests are always appreciated! The only thing is that they might not get implemented. The main goal is to keep things small and focused so we usually favor more abstract features and so new addons and extensions are easy to be build upon.
22+
23+
## Commit messages
24+
25+
Commit messages are also documentation so clear and descriptive commit messages can be a really powerful tool.
26+
27+
We adopt the **[AngularJS Git Commit Message Conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit?usp=sharing)**.
28+
29+
### General rules
30+
31+
* Wrap the body of the message at `72` characters
32+
* Add a blank line between the header and the body of the message
33+
* Use the imperative, present tense: "change" not "changed" nor "changes"
34+
* Don't capitalize the first letter
35+
* Do not finish the subject with a period
36+
* Feel free to use emojis as much as you want but make sure to use [GitHub's short-codes](http://emoji.github.io) instead of the unicode value
37+
38+
### Format
39+
40+
```
41+
<type>(<scope>): <subject>
42+
<BLANK LINE>
43+
<body>
44+
<BLANK LINE>
45+
<footer>
46+
```
47+
48+
### Types
49+
50+
| Type | Description |
51+
| -------- | --------------------------------------------------------- |
52+
| feat | A new feature |
53+
| fix | A bug fix |
54+
| docs | Documentation only changes |
55+
| style | Changes that do not affect the meaning of the code |
56+
| refactor | A code change that neither fixes a bug or adds a feature |
57+
| perf | A code change that improves performance |
58+
| test | Adding missing tests |
59+
| chore | Changes to the build process or auxiliary tools/libraries |
60+
61+
### Example
62+
63+
A great commit message should look something like these:
64+
65+
```
66+
docs(instructions): update API reference
67+
68+
Couple of typos fixed:
69+
- indentation
70+
- batchLogbatchLog -> batchLog
71+
- start periodic checking
72+
- missing brace
73+
74+
Closes #42
75+
```
76+
77+
## Git workflow
78+
79+
1. Fork the repository
80+
2. Create a new feature branch following the same rules used for commit messages
81+
* `feat/my-awesome-feature`
82+
* `fix/fixed-that-for-you`
83+
* `perf/render`
84+
* `chore/deploy-scripts`
85+
3. Start working you your thing
86+
4. Commit your changes and push them to the remote repository
87+
5. Make sure the build is valid (if not fix it then go back to **#4**)
88+
6. Open a new pull request
89+
90+
Please, detail the pull request as much as you can. Also make sure to mention people and current issues involved on the PR context.
91+
92+
## Development
93+
94+
To get the project ready for development, first install the dependencies:
95+
96+
```sh
97+
$ npm install
98+
```
99+
100+
### Code linting
101+
102+
As an effort to keep the code consistent, we rely on code linting. To lint the code, simply run:
103+
104+
```sh
105+
$ npm run lint
106+
```
107+
108+
Note that linting is tied to the `test` script. That means any pull requests where the linting breaks, CI will break as well.
109+
110+
### Test
111+
112+
To run the tests, simply run the following command:
113+
114+
```sh
115+
$ npm test
116+
```

0 commit comments

Comments
 (0)