47 lines
1.4 KiB
Markdown
47 lines
1.4 KiB
Markdown
# Contributing
|
|
|
|
Contributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](https://github.com/6to5/6to5/blob/master/CODE_OF_CONDUCT.md).
|
|
|
|
## Developing
|
|
|
|
#### Workflow
|
|
|
|
* Fork the repository
|
|
* Clone your fork and change directory to it (`git clone git@github.com:yourUserName/6to5.git && cd 6to5`)
|
|
* Install the project dependencies (`npm install`)
|
|
* Link your forked clone (`npm link`)
|
|
* Develop your changes ensuring you're fetching updates from upstream often
|
|
* Ensure the test are passing (`make test`)
|
|
* Create new pull request explaining your proposed change or reference an issue in your commit message
|
|
|
|
#### Code Standards
|
|
|
|
* **General**
|
|
* No ES6 syntax features or methods, exclusively ES5.
|
|
* Max of five arguments for functions
|
|
* Max depth of four nested blocks
|
|
* 2-spaced soft tabs
|
|
* **Naming**
|
|
* CamelCase all class names
|
|
* camelBack all variable names
|
|
* **Spacing**
|
|
* Spaces after all keywords
|
|
* Spaces before all left curly braces
|
|
* **Comments**
|
|
* Use JSDoc-style comments for methods
|
|
* Single-line comments for ambiguous code
|
|
* **Quotes**
|
|
* Always use double quotes
|
|
* Only use single quotes when the string contains a double quote
|
|
* **Declaration**
|
|
* No unused variables
|
|
* No pollution of global variables and prototypes
|
|
|
|
## Testing
|
|
|
|
$ make test
|
|
|
|
## Linting
|
|
|
|
$ make lint
|