Skip to content

Latest commit

 

History

History
86 lines (51 loc) · 6.7 KB

CONTRIBUTING.md

File metadata and controls

86 lines (51 loc) · 6.7 KB

Contributing to ReNative

Thank you for your interest in contributing to ReNative! From commenting on and triaging issues, to reviewing and sending Pull Requests, all contributions are welcome.

The Open Source Guides website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project. Contributors and people new to open source alike will find the following guides especially useful:

As a reminder, all contributors are expected to adhere to the Code of Conduct.

Ways to Contribute

If you are eager to start contributing code right away, we have a list of good first issues that contain bugs which have a relatively limited scope. As you gain more experience and demonstrate a commitment to evolving ReNative, you may be granted issue management permissions in the repository.

There are other ways you can contribute without writing a single line of code. Here are a few things you can do to help out:

  1. Replying and handling open issues. We get a lot of issues every day, and some of them may lack necessary information. You can help out by guiding people through the process of filling out the issue template, asking for clarifying information, or pointing them to existing issues that match their description of the problem.
  2. Reviewing pull requests for the docs. Reviewing documentation updates can be as simple as checking for spelling and grammar. If you encounter situations that can be explained better in the docs, click Edit at the top of most docs pages to get started with your own contribution.
  3. Help people write test plans. Some pull requests sent to the main repository may lack a proper test plan. These help reviewers understand how the change was tested, and can speed up the time it takes for a contribution to be accepted.

Each of these tasks is highly impactful, and maintainers will greatly appreciate your help.

Our Development Process

We use GitHub issues and pull requests to keep track of bug reports and contributions from the community. Changes from the community are handled through GitHub pull requests. Once a change made on GitHub is approved, it will be merged to canary branch. This will then become a part of next release.

You can reach out to us through @ReNative (the ReNative team)

Helping with Documentation

The ReNative documentation is hosted as part of the ReNative repository at https://github.com/flexn-io/renative-docs. The website itself is located at https://renative.org/ and it is built using Docusaurus. If there's anything you'd like to change in the docs, you can get started by clicking on the "Edit" button located on the upper right of most pages in the website.

If you are adding new functionality or introducing a change in behavior, we will ask you to update the documentation to reflect your changes.

Contributing Code

Code-level contributions to ReNative generally come in the form of pull requests. These are done by forking the repo and making changes locally. Directly in the repo, there is the template app that you can install on your device (or simulators) and use to test the changes you're making to ReNative sources.

The process of proposing a change to ReNative SDK can be summarized as follows:

  1. Fork the ReNative repository and create your branch from canary.
  2. Make the desired changes to ReNative sources. Use the packages/template-starter and packages/template-hello-blank app to test them out.
  3. If you've added code that should be tested, add tests.
  4. If you've changed APIs, update the documentation, which lives in docs.
  5. Ensure the test suite passes, either locally or on CI once you opened a pull request.
  6. Make sure your code lints (for example via yarn lint --fix).
  7. Push the changes to your fork.
  8. Create a pull request to the ReNative repository.
  9. Review and address comments on your pull request.
    1. A bot may comment with suggestions. Generally we ask you to resolve these first before a maintainer will review your code.
    2. If changes are requested and addressed, please request review to notify reviewers to take another look.

If all goes well, your pull request will be merged. If it is not merged, maintainers will do their best to explain the reason why.

Git Branches

main - contains latest stable version of latest release

canary - latest development version

release/x.x - latest stable version of specific release

feat/* - feature branch

fix/* - bug fix branch

chore/* - general maitenance branch

Tests

Tests help us prevent regressions from being introduced to the codebase. The GitHub repository is continuously tested using Github Actions, the results of which are available through the Checks functionality on commits and pull requests.

Community Contributions

Contributions to ReNative are not limited to GitHub. You can help others by sharing your experience using ReNative, whether that is through blog posts, presenting talks at conferences, or simply sharing your thoughts on Twitter and tagging @ReNative.

Where to Get Help

As you work on ReNative, it is natural that sooner or later you may require help. People interested in contributing may take advantage of the following:

  • Twitter. The ReNative team has its own account at @ReNative. If you feel stuck, or need help contributing, please do not hesitate to reach out.
  • Proposals Repository. If you are considering working on a feature large in scope, consider creating a proposal first. The community can help you figure out the right approach, and we'd be happy to help.
  • ReNative Community Slack. While we try to hold most discussions in public, sometimes it can be beneficial to have conversations in real time with other contributors. People who have demonstrated a commitment to moving ReNative forward through sustained contributions to the project may eventually be invited to join the ReNative Community Slack.