Skip to content
This repository has been archived by the owner on Mar 28, 2023. It is now read-only.

Latest commit

 

History

History
59 lines (44 loc) · 2.17 KB

CONTRIBUTING.adoc

File metadata and controls

59 lines (44 loc) · 2.17 KB

tbtc Contribution Guide

👍🎉 First off, thanks for taking the time to contribute! 🎉👍 Contributions are welcome from anyone on the internet, and even the smallest of fixes are appreciated!

The following is a set of guidelines for contributing to tBTC and its packages. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Getting started

  1. Fork keep-network/tbtc

  2. Clone your fork

  3. Follow the installation & build steps in the repo’s top-level README.

  4. Setup the recommended Development Tooling.

  5. Open a PR against the master branch and describe the change you are intending to undertake in the PR description.

Before marking the PR as open for review, make sure:

  • It passes the linter checks (npm run lint); see Pre-commit to make this

  • automatic

  • It passes the continuous integration tests on CircleCI.

  • Your changes have sufficient test coverage (e.g regression tests have been added for bug fixes, unit tests for new features)

Development Tooling

Commits must be signed.

Continuous Integration

We use CircleCI for continuous integration. All CircleCI jobs (including tests, linting) must be green to merge a PR.

Pre-commit

Pre-commit is a tool to install hooks that check code before commits are made. It can be helpful to install this, to automatically run linter checks. Follow the installation instructions here, and then run pre-commit install to install the hooks.

Linting

Linters for Solidity and JavaScript code are setup and run automatically as part of pre-commit hooks.

If you want to change a rule, or add a custom rule, please propose these changes to our solium-config-keep and eslint-config-keep packages. All other packages have it as a dependency.