Contributor's Guide

Where to discuss

You've probably already seen the Community page. Links to the chat rooms and the code repos are there!

You can use github issues for discussions, or, just come hang out in the chat — or, both!

(It's often a good idea to nudge in the chat if an issue or PR doesn't get attention. Notification firehoses being what they are, sometimes things just get lost otherwise :))

How to Push

Github has the neat feature of supporting permissionless contributions through forking!

  1. Fork the repo.
  2. Push your contributions there.
  3. Open a PR back to the upstream repo.
  4. We can review and, if it's good, merge it into the upstream repo.

If you're newer to Git or Github: See the Git and Github pro-tips section for some tips about how exactly to go about it.

If you're a core contributor (or if you just ask very nicely): you may also be able to push directly to the repos you're working on. If so: nothing's stopping you from using the above strategy anyway ;) but regardless of how you do it, do be very careful about the main/master branches. You should still use PRs to manage changes!

How Merging is Decided

We have a low-formality structure right now. It's early days; the minimum of bureaucracy we can get away with and still function smoothly, is what we're going to do :)

When ready to push code:

If you're a core contributor pushing code:

As a core contributor who's reviewing code:

Tips and Tricks

Git and Github pro-tips

For working in a fork:

Usually, your fork repo is called "origin". It's useful to add an alias for "upstream" that points at the upstream:

Now you can do other things like git fetch upstream or git checkout master && git pull upstream/master to quickly get content from the main upstream repo.

Checking out other people's PRs locally:

Try this: