Skip to content

Latest commit

 

History

History
136 lines (104 loc) · 4.51 KB

CONTRIBUTING.md

File metadata and controls

136 lines (104 loc) · 4.51 KB

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Please note we have a code of conduct; please follow it in all your interactions with the project.

Table of Contents

  1. Getting started
  2. Pull Request Process
  3. Issue Report Process
  4. Commit Message Guidelines
  5. Code Quality

Getting started

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. ( ˶ˆᗜˆ˵ )

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Pull Request Process

  1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  2. Ensure that tests and linting pass.
  3. Ensure that dist/ is updated with npm run build.
  4. Update the README.md with details of changes to the interface; this includes new environment variables, exposed ports, valid file locations and container parameters.
  5. Increase the version numbers in any examples files and the README.md that this Pull Request would represent. The versioning scheme we use is SemVer.
  6. You may merge the Pull Request once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.

Issue Report Process

  1. Go to the project's issues.
  2. Select the template that better fits your issue.
  3. Read the instructions carefully and write within the template guidelines.
  4. Submit it and wait for support.

Commit Message Guidelines

When committing, commit messages are prefixed with one of the following depending on the type of change made.

  • feat: when a new feature is introduced with the changes.
  • fix: when a bug fix has occurred.
  • chore: for changes that do not relate to a fix or feature and do not modify source or tests. (like updating dependencies)
  • refactor: for refactoring code that neither fixes a bug nor adds a feature.
  • docs: when changes are made to documentation.
  • style: when changes that do not affect the code, but modify formatting.
  • test: when changes to tests are made.
  • perf: for changes that improve performance.
  • ci: for changes that affect CI.
  • build: for changes that affect the build system or external dependencies.
  • revert: when reverting changes.

Commit messages are also to begin with an uppercase character. Below list some example commit messages.

git commit -m "docs: Added README.md"
git commit -m "revert: Removed README.md"
git commit -m "docs: Moved README.md"

Code Quality

Important

To ensure our script can be ran directly with Node.js, without any additional install or build steps, the use of any external libraries or packages is not allowed.

(This does not apply to development dependencies.)

To prevent any unintentional errors, we develop this project with TypeScript.

Testing

We use Jest to test our code. Please ensure that tests are updated and pass before merging a Pull Request.

# To test your code, run:
npm run test

Linting

We use Prettier and ESLint to ensure that code is consistent and follows our code style. Please ensure that your code passes linting before merging a Pull Request.

# To lint your code, run:
npm run lint

# To fix any linting errors, run:
npm run lint:fix

Building

We pre-transpile our code to JavaScript in the dist/ directory. Please ensure that the dist/ directory is updated before merging a Pull Request.

# To build your code, run:
npm run build