Skip to content

Latest commit

 

History

History
77 lines (39 loc) · 5.06 KB

CONTRIBUTING.md

File metadata and controls

77 lines (39 loc) · 5.06 KB

Contribution Guidelines

How do I start?

There are many ways to contribute to Open Source projects, you can help by:

Writing code

Always fun!

Finding and reporting bugs

If you run into any trouble you can create an issue. We provide a nice template for bugs so you don't get lost when creating one.

Suggesting new features

Have a cool feature you really want? Create an issue for it. We provide a template for simple features and an advanced proposals.

Answering questions on issues

If you know the answer to some question in an open issue. Please share it with the world! Giving support is one of the most important things you could do. Now the person you just helped will be able to help others as well. 😊

Writing Tests

Another way to contribute is by writing unit tests. We strive to keep the test coverage very high. If you see a file doesn't have 100% coverage yet, there's your chance. Writing tests is an easy way to get comfortable with the API and to know about the internals.

Test Coverage

Each block represents a single file in the project. The size of the block represents the number of statements and the color represents the test coverage. You can open the detailed view of the files by clicking the blocks. The closer to red, the more attention the file needs.

Documentation improvements

We host our documentation at docs.zewo.io. If you have a better way to express an idea or if you see a typo for example, you can send a PR at Zewo/Docs.

Reviewing Pull Requests

Even if you're not part of the organization yet you can help reviewing pull requests. It's as simple as adding a comment on the PR body or in a file line. If you're already a member of the organization you're free to merge the PR directly if it's a trivial one and it passes all checks. If it's a big PR it can only be merged after discussion with the team.

Managing labels and milestones

We use Github for most of our workflow. Keeping labels and milestones up to date help a lot in the general organization of tasks.

How do I become a member of the organization?

If you get a merged PR, regardless of content (typos, code, doc fixes) then you're eligible for push access to the Github organization. We check for this on PR merges and extend an invite via GitHub.

Offhand, it's easy to imagine that this would make code quality suffer, but in reality it offers fresh perspectives to the codebase and encourages ownership from people who are depending on the project.

Everyone comes in with their own perspective on what a project could/should look like, and encouraging discussion can help expose good ideas sooner.

When should I use push access?

It can be overwhelming to suddenly be offered the chance to wipe the source code for a project. Don't worry, we do not let you push to master.

All code is peer-reviewed, and we have the convention that someone other than the submitter should merge the pull request.

As an org contributor you can merge other people's pull requests, or other contributors can merge yours. You won't be assigned a pull request, but you're welcome to just jump in and take a code review on things that interest you.

If it feels right, merge. There is space for debate after too. Offering the chance to revert, or make an amending pull request.

How can we help you get comfortable contributing?

It's normal for a first PR to be a potential fix for a problem, moving on from there to helping the project's direction can be difficult. We try to help contributors cross that barrier by offering starter issues. These issues can be done without feeling like you're stepping on toes. Ideally, these are non-critical issues that are well defined.

We keep all important discussions inside GitHub issues. If you have questions about how to use the framework, or how the project is running you can join our Slack.

We have our own Code of Conduct, which is adapted from the Contributor Covenant, version 1.3.0, available at http://contributor-covenant.org/version/1/3/0/. The Code of Conduct is taken seriously by the project owners.

What do we expect from you as a contributor?

We want contributors to both provide ideas, keep the ship sailing and to take some of the load from others. It is non-obligatory; we're here to have fun.

If someone submits a pull request that's not perfect, it's better to think about the PR's motivation rather than the specific implementation. Having braces on the wrong line should not be a blocker for example. Though we do want to keep test coverage high, we will work with you to figure that out together.

What about if you have problems that cannot be put into a public issue?

You can reach us at hello@zewo.io. We are happy to talk about any problems.