Skip to content

Latest commit

 

History

History
87 lines (56 loc) · 3.72 KB

CONTRIBUTING.md

File metadata and controls

87 lines (56 loc) · 3.72 KB

Contribution Guidelines

Thanks for your interest in contributing to XDelta3. It's people like you that push the open source ecosystem forward.

Prerequisites

Make sure these dependencies are installed. For zig it's version should be greater or equal to 0.13.0.

MacOS Specifics

When using MacOS, there are a couple of extra prerequisites that are required.

  • python
  • coreutils (e.g. via brew install coreutils)

Getting Started

  • ⚙️ Run git submodule init to initialize submodule.
  • ⚙️ Run git submodule update to fetch latest code for submodules.
  • ⚙️ Run npm i to install dependencies.
  • ⚙️ Run npm i to install dependencies.
  • ⚙️ Run npm run build:native to build native dependencies.
  • ⚙️ Run npm run build:ts to build js lib.

Tests

To run tests:

  • 🧪 Run yarn test:unit for unit tests.

First Time Contributor?

Unsure where to begin contributing to XDelta3-Node? Here are some ideas!

  • ✏️ See any typos? See any verbiage that should be changed or updated? Go for it! Github makes it easy to make contributions right from the browser.
  • 🔎 Look through our outstanding unassigned issues. (Hint: look for issues labeled good first issue or help-wanted!)
  • 💬 Join our Discord chat! Discord

Reporting A Bug?

  • 🗒️ Create a new issue! Select the type of issue that best fits, and please fill out as much of the information as you can.

Contribution Process

  1. Make sure you're familiar with our contribution guidelines (this document)!
  2. Create your own fork of this repository.
  3. Make your changes in your local fork.
  4. If you've made a code change, make sure to lint and test your changes (yarn lint and yarn test:unit).
  5. Make an open pull request when you're ready for it to be reviewed. We review PRs on a regular basis. See Pull request etiquette for more information.
  6. You may be asked to sign a Contributor License Agreement (CLA). We make it relatively painless with CLA-bot.

Github Style Guide

Branch Naming

If you are contributing from this repository prefix the branch name with your Github username (i.e. myusername/short-description)

Pull Request Naming

Pull request titles must be:

  • Adhering to the conventional commits spec
  • Short and descriptive summary
  • Written in imperative present tense
  • Not end with a period

For example:

  • feat: add lodestar prover for execution api
  • fix: ignore known block in publish blinded block flow
  • refactor(reqresp)!: support byte based handlers

Pull Request Etiquette

  • Pull requests should remain as drafts when they are not ready for review by maintainers. Open pull requests signal to the maintainers that it's ready for review.
  • If your pull request is no longer applicable or validated to fix an issue, close your pull request.
  • If your pull request is fixable and needs additional changes or commits within a short period of time, switch your pull request into a draft until it's ready.
  • Otherwise, close your pull request and create a new issue instead.

Community

Come chat with us on Discord and join our public weekly planning meetings!