diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e7129c3b..ae18d6037 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. ## Updated +- Update `CHANGELOG.md` + - Updated in Pull Request [#74](https://github.com/space-code/flare/pull/74). - Update `README.md` - Updated in Pull Request [#70](https://github.com/space-code/flare/pull/70). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 293fcb589..d6e29ff27 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,14 +3,48 @@ This document contains information and guidelines about contributing to this project. Please read it before you start participating. +# Introduction + +Thanks for your interest in contributing! This repository is free open +source and as such dependent on your contributions. These guidelines should help +you get started more quickly and should ensure a smooth contribution process for +both those contributing and those reviewing contributions. Please read them +thoroughly before contributing with a Pull Request, and at least skim them before adding an issue. + +We are open to all kinds of contributions as long as you follow our +[Code of Conduct](./CODE_OF_CONDUCT.md). For very specific use case it might make more sense +though to create your own repository instead of adding to this one. + **Topics** +* [How to Report a Bug](#how-to-report-a-bug) * [Reporting Issues](#reporting-issues) +* [How to Request a Feature](#how-to-request-a-feature) * [Submitting Pull Requests](#submitting-pull-requests) -* [Developers Certificate of Origin](#developers-certificate-of-origin) +* [Developers Certificate of Origin 1.1](#developers-certificate-of-origin-11) * [Code of Conduct](#code-of-conduct) -## Reporting Issues +# How to Report a Bug + +**IMPORTANT!** + +If you find a security vulnerability, do NOT open an issue. Email +[nv3212@gmail.com](mailto:nv3212@gmail.com&subject=Security%20vulnerability%20in%20repo) +instead. This reduces the risk of criminals getting aware and exploiting the +vulnerability before we got a chance to fix it. + +In order to determine whether you are dealing with a security issue, ask yourself these two questions: +* Can I access something that's not mine, or something I shouldn't have access to? +* Can I disable something for other people? + +If the answer to either of those two questions are "yes", then you're probably dealing with a security issue. +Note that even if you answer "no" to both questions, you may still be dealing with a security issue, so if you're +unsure, just email us at [nv3212@gmail.com](mailto:nv3212@gmail.com&subject=Security%20vulnerability%20in%20repo). + +If the bug is not security related, please use the corresponding issue template +to submit it on GitHub. + +# Reporting Issues A great way to contribute to the project is to send a detailed issue when you encounter a problem. We always appreciate a well-written, thorough bug report. @@ -18,11 +52,65 @@ Check that the project issues database doesn't already include that problem or s When reporting issues, please fill out our issue template. The information the template asks for will help us review and fix your issue faster. -## Submitting Pull Requests +# How to Request a Feature + +Please use the corresponding issue template to submit your idea on GitHub. Given +that this repo is a free open source project, chances of your idea +coming into fruition are much higher if you are also willing to contribute a PR. +Please first open the issue, though, so we can discuss the feature before you +have to spend time on it. + +# Submitting Pull Requests + +## License + +Any contributions you make will be under the MIT Software License. In short, +when you submit code changes, your submissions are understood to be under the +same [MIT License](./LICENSE) that covers the project. Feel free to contact the maintainers +if that's a concern. + +## Rules + +We strongly recommend to first open an issue discussing the contribution before +creating a PR, unless you are really sure that the contribution does not need +discussion (e. g. fixing a typo in documentation). + +We expect every contributor to adhere to our [Code of Conduct](./CODE_OF_CONDUCT.md). Additionally, please note that we can only merge a PR if: +* Commit messages follow [Conventional Commits guidelines](https://www.conventionalcommits.org/en/v1.0.0/) + with scopes being limited to the names of the individual packages + (e. g. `feat(compose): add typing for more than 6 parameters`) +* The code is following our linting guidelines as defined via SwiftLint rules in + each project (run `swiftlint` to check) +* All tests pass. +* Bigger changes and new features are covered by an integration test. +* All relevant documentation is updated. Usually this means updating the Docc of the code you work on. +* Additional dependencies are only added with a good reason. + +## Set up instructions + +First please [fork this repository](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) +to be able to contribute any changes. + +After this, please run `make bootstrap` to install all dependencies. + +After all tools are installed, please open an Xcode and build the project to ensure that everything is set up correctly. + +Now you can create a new branch describing the change you are about to make, e. g. `fix_typo_in_documentation`, and start coding. + +## Your First Contribution + +If you are interested in contributing, but don't have a specific issue at heart, +we would recommend looking through the issues labelled "help wanted". + +If you are new to contributing to open source, we recommend to have a look at +a [free tutorial](http://makeapullrequest.com/) for this. Issues labelled "good first issue" +are meant specifically to get started in the repository. -You can contribute by fixing bugs or adding new features. For larger code changes, we recommend first discussing your ideas on our [GitHub Discussions](https://github.com/space-code/flare/discussions). When submitting a pull request, please add relevant tests and ensure your changes don't break any existing tests. +If you are stuck at any point, feel free to comment in the issue you chose. We +try to be as helpful to newcomers as possible and you don't have to be afraid of +dumb questions. -## Developer's Certificate of Origin 1.1 +# Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: @@ -48,7 +136,7 @@ By making a contribution to this project, I certify that: maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -## Code of Conduct +# Code of Conduct The Code of Conduct governs how we behave in public or in private whenever the project will be judged by our actions. @@ -58,4 +146,4 @@ See [CODE_OF_CONDUCT.md](https://github.com/space-code/flare/blob/master/CODE_OF --- -*Some of the ideas and wording for the statements above were based on work by the [Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md) and [Linux](https://elinux.org/Developer_Certificate_Of_Origin) communities. \ No newline at end of file +*Some of the ideas and wording for the statements above were based on work by the [Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md) and [Linux](https://elinux.org/Developer_Certificate_Of_Origin) communities.