diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..93c56e23 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,69 @@ +# Contributing to CircuitVerse Mobile App +[Back to `README.md`](README.md) + +Thanks for checking out our contribution guide. We greatly appreciate any work contributed, no matter how small! + +## How to Contribute +When you are ready to start work on an issue: + +- Let us know by leaving a comment on the issue. (Also let us know later if you are no longer working on it.) +- Once you are assigned the issue (or once you have claimed the issue) only then proceed to make the Pull Request. This will help avoid multiple PRs pertaining to the same issue. + +If you don't see your idea listed, do one of the following: +* **If your contribution is minor,** such as a typo fix, open a pull request. +* **If your contribution is major,** such as a new feature/enhancement, start by opening an issue first. This way, other people can be also involved in the discussion before you do any work. + +## Pull Request Process + +1. Create a branch. For example, if you are going to work on issue number #44 (which is, say, a new feature for ‘forgot password’ management): + + git checkout -b forgot-password#44 + + This both creates and checks out that branch in one command. + The feature name should provide a (short) description of the issue. + +2. Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters. + +3. Develop the feature by making relevant changes to the source code. + +4. Test the feature by manually testing the code on emulator or physical device. If your feature depends on platform specific changes, you should test on both iOS and Android. + +5. We strictly follow Dart's recommended standards: [Effective Dart: Style](https://dart.dev/guides/language/effective-dart/style). You can format your code using `flutter format .` + +6. Run flutter analyze to check for any warnings/errors: `flutter analyze .` + +7. Run flutter automated tests: `flutter test`. + +> If the tests are failing, you will have to fix them in order to get successfull checks for CI/CD in Pull Requests. + +5. Create Pull Request (PR). Make sure to comment the issue that your PR is supposed to solve. Also make sure the PR and it's commits follow [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/). + +## Community +Discussions about CircuitVerse issues and features take place on the repository's [Issues](https://github.com/CircuitVerse/mobile-app/issues) and [Pull Requests](https://github.com/CircuitVerse/mobile-app/pulls) sections. Anybody is welcome to join these conversations. See the [README](README.md) for more information on communication channels. + +## Contributors +### Financial Contributors + +Becoming a [financial contributor](https://opencollective.com/CircuitVerse/contribute) helps us sustain our community and platform. + +#### Individuals +Individual financial contributors + +#### Organizations +Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/CircuitVerse/contribute)] + +Organization 1 +Organization 2 +Organization 3 +Organization 4 +Organization 5 +Organization 6 +Organization 7 +Organization 8 +Organization 9 +Organization 10 + +### Code Contributors + +This project exists because of all the people who have [contributed]((CONTRIBUTING.md)). +Code contributors \ No newline at end of file