diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md new file mode 100644 index 0000000..f0dbb04 --- /dev/null +++ b/CONTRIBUTE.md @@ -0,0 +1,47 @@ +## How to Contribute 🤝 + +If you want to report a bug, suggest an enhancement, or contribute to this project, you can leave an issue or open a pull request. Here are some guidelines to help you get started: + +- Be respectful and considerate when interacting with other contributors. +- If you want to report a bug, provide a detailed description of the bug, including the steps to reproduce it. +- Clearly describe the issue or enhancement you are reporting or suggesting. +- When opening a pull request, provide a clear and concise description of the changes you have made. +- Write meaningful commit messages that accurately describe the changes made in each commit. +- Make sure to run tests and ensure that all tests are passing before submitting a pull request. + +## Running Tests 🧪 + +This project uses [melos][melos_link] for convenience scripts such as running tests and coverage. All of these scripts can be run from any directory in the project, and are defined in the root `melos.yaml` file. + +To activate melos, run the following command: + +```sh +dart pub global activate melos +``` + +After that, to run all unit tests: + +```sh +melos test +``` + +To run all tests and generate coverage report: + +```sh +melos test:cov +``` + +To view the generated coverage report using [lcov][lcov_link] in your browser, run: + +```sh +melos open:cov +``` + +If you want to reproduce the CI analyze job locally, you can run: + +```sh +melos analyze +``` + +[melos_link]: https://melos.invertase.dev/ +[lcov_link]: https://github.com/linux-test-project/lcov diff --git a/README.md b/README.md index b1942dc..c10f224 100644 --- a/README.md +++ b/README.md @@ -18,48 +18,6 @@ dart pub add riverpods_community_extensions --- -## Continuous Integration 🤖 - -Riverpods Community Extensions comes with a built-in [GitHub Actions workflow][github_actions_link] powered by [Very Good Workflows][very_good_workflows_link] but you can also add your preferred CI/CD solution. - -Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Very Good Analysis][very_good_analysis_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. - ---- - -## Running Tests 🧪 - -This project uses [melos][melos_link] for convenience scripts such as running tests and coverage. All of these scripts can be run from any directory in the project, and are defined in the root `melos.yaml` file. - -To activate melos, run the following command: - -```sh -dart pub global activate melos -``` - -After that, to run all unit tests: - -```sh -melos test -``` - -To run all tests and generate coverage report: - -```sh -melos test:cov -``` - -To view the generated coverage report using [lcov][lcov_link] in your browser, run: - -```sh -melos open:cov -``` - -If you want to reproduce the CI analyze job locally, you can run: - -```sh -melos analyze -``` - [dart_install_link]: https://dart.dev/get-dart [github_actions_link]: https://docs.github.com/en/actions/learn-github-actions [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg @@ -74,5 +32,3 @@ melos analyze [very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only [very_good_ventures_link_dark]: https://verygood.ventures#gh-dark-mode-only [very_good_workflows_link]: https://github.com/VeryGoodOpenSource/very_good_workflows -[lcov_link]: https://github.com/linux-test-project/lcov -[melos_link]: https://melos.invertase.dev/