Getting Started

How to contribute to Unlock

Thanks for your interest in contributing to Unlock! We're excited you're here. There are a variety of ways to contribute to the project.

We want Unlock to be a community where everyone can contribute. Please see the Code of Conduct for some rules that govern everyone's participation.

Issues and code

It's a good idea to start by familiarizing yourself with what's already being worked on. Take a look at the Unlock issue tracker to see:

Submitting a new issue

If you want to submit a new issue - whether it's a bug report or a request for a new feature - there are a few steps you should try first:

  1. Search the issue tracker to see if someone else has already submitted this issue (see the links above)
  2. Double-check to make sure it's a genuine issue: if it's a bug, can you reproduce it? If it's a feature request, does it make sense in the context of Unlock?

If you're sure you need to create a new issue, please make a best effort to follow the templates we've created. Be as specific as possible, including by using a clear, descriptive title for the issue. This allows contributors to address the issue you've uncovered with the most possible context.

Fixing an existing issue

When you're ready to contribute code, first check the following:

  1. Your code is well-documented
  2. Your classes, functions, interfaces, etc are all clearly-named
  3. Your style and naming conventions adhere to the style used in the rest of the codebase
  4. You have included JavaScript tests where appropriate in the /unlock-app/src/__tests__ or smart-contracts/test folders for the Unlock app and smart contracts respectively

Commit the code in a descriptive branch with a name that represents your contribution, in the form yourname-short-title.

Finally, submit a pull request, with the following rules:

  1. Don't include issue numbers in the title
  2. Do include relevant issue numbers in the description
  3. Include a concise, specific description of the complete pull request in the description
  4. Take care to exclude project workspace files and other collateral unnecessary to this project

You may be asked to revise your code or other aspects of your pull request. Please don't take this personally! We're delighted that you contributed, and we're grateful that you're a part of the community.

What if I'm not a coder?

We're excited for you to contribute. We're looking for copywriters, designers, testers - there are a lot of ways to contribute to the Unlock project without writing code. Keep an eye out for relevant issues in the issue tracker - and feel free to submit and contribute to issues using the above rules.

If you'd like to contribute but you're worried about where to start, you can always reach out to us at hello@unlock-protocol.com. We'd love to help.