From ceec6949331cf5700f3081ed8c45ae2b61c9d02b Mon Sep 17 00:00:00 2001 From: Johannes Klein Date: Tue, 21 Mar 2023 18:22:56 +0100 Subject: [PATCH] 489 contributing md (#498) Add CONTRIBUTING.md --- CONTRIBUTING.md | 37 +++++++++++++++++++++++++++++++++++++ README.md | 7 +------ 2 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..d52467486 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,37 @@ +# Contribution Guidelines for iNaturalistReactNative +Welcome! We're excited that you're interested in contributing to the iNaturalist React Native mobile application. Below you'll find some guidelines that will help you contribute to our project. + +We welcome volunteer contributions! This app is still early in its development and a lot of things are in flux, but there's usually something to work on. Please keep the following in mind: + +1. Work on [existing issues](https://github.com/inaturalist/iNaturalistReactNative/issues) (though if you have ideas for improvement that aren't directly related to features, let us know). If you'd like to work on something, please leave a comment on that issue and we'll assign you to avoid overlapping work. +2. Name your branch starting with the issue number and then something descriptive, e.g. `123-login-with-locale-crash` +3. We try to review pull requests as soon as we can, but that might be up to a week or two + +## Getting Started +1. Fork the repository. +2. Clone the forked repository to your local machine. +3. Follow [the README](README.md) to setup your local repository. +4. Create a new branch for the issue you're working on. +5. Make changes to the codebase. +6. Push your changes to your forked repository. + +## Submitting Changes +1. Make sure your changes are up-to-date with the latest changes in the main repository. +2. Make sure your code is well-tested and passes all unit and integration tests. +3. It would be nice if you could run e2e tests locally with your own app credentials. +4. Create a pull request to the main repository with your changes. + +## Guidelines +- Please make sure your pull request includes a clear and descriptive title and the description includes a reference to the issue number, e.g. "Closes #123" or "Partially addresses #123" in case of an open issue, and a possibly detailed description of the changes you've made. +- If you're adding new features or functionality differing from the description in the issue, please provide a clear explanation of how this work differs from what the issue describes. +- Feel free to ask any questions or raise any concerns you have. +- Please make sure your code includes unit tests, and our linting rules were applied (should happen automatically). + +## Code Style Guide +- We use [ESLint](https://eslint.org/) to enforce our code style guide. +- We have enabled several eslint plugins to enforce best practices, e.g. in testing and accessibility. We also have enabled a pre-commit hook to run `eslint --fix --quiet` on all staged files. This will fix issues that can be fixed automatically. + +## Issues and Bugs +If you find an issue or bug in our application, please report it by opening a new issue in the repository. Please include a clear and detailed description of the issue, steps to reproduce the issue, and any relevant screenshots or error messages. + +Thank you for contributing to our React Native mobile application! diff --git a/README.md b/README.md index 8f5aeaad0..f687160b4 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,7 @@ This is an official iNaturalist client written in React Native that will eventually replace our existing iOS and Android apps. Achieving parity with those established apps is taking some time, but we're getting there! ## Contributing - -We welcome volunteer contributions! This app is still early in its development and a lot of things are in flux, but there's usually something to work on. Please keep the following in mind: - -1. Work on [existing issues](https://github.com/inaturalist/iNaturalistReactNative/issues) (though if you have ideas for improvement that aren't directly related to features, let us know). If you'd like to work on something, please leave a comment on that issue and we'll try and assign you. -1. Name your branch starting with the issue number and then something descriptive, e.g. `123-login-with-locale-crash` -1. We try to review pull requests as soon as we can, but that might be up to a week or two +See [CONTRIBUTING](CONTRIBUTING.md) for guidelines on contributing to this project. ## Setup