docs: add CONTRIBUTING.md
Some checks failed
Conventional Commits / Conventional Commits (pull_request) Has been cancelled
Some checks failed
Conventional Commits / Conventional Commits (pull_request) Has been cancelled
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
This commit is contained in:
parent
92b96dbc47
commit
c6823129e6
2 changed files with 89 additions and 0 deletions
85
CONTRIBUTING.md
Normal file
85
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2023-2024 Christina Sørensen
|
||||||
|
SPDX-FileContributor: Christina Sørensen
|
||||||
|
|
||||||
|
SPDX-License-Identifier: EUPL-1.2
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Contributing to Nix Weather
|
||||||
|
|
||||||
|
Nix Weather is a NixOs adjacent project, and expects contributors to have **at least** a local installation of `Nix` or `Lix` on their development machine.
|
||||||
|
|
||||||
|
## DevShell
|
||||||
|
|
||||||
|
Currently, `nix-weather` is developed against Lix main branch. We also make use
|
||||||
|
of experimental features, including ones still in RFC stage, such as [RFC 0148:
|
||||||
|
`pipe-operators`](https://github.com/NixOS/rfcs/pull/148).
|
||||||
|
|
||||||
|
The `devShell` in the flake takes care of setting this up for you, so as long as
|
||||||
|
you can run that, you shouldn't have to worry.
|
||||||
|
|
||||||
|
Further, the devShell includes formatting through `nix fmt`, and testing through
|
||||||
|
`nix flake check`, as well as pre-commit-hooks, that ensure any PR is up to
|
||||||
|
standard before being submitted.
|
||||||
|
|
||||||
|
We stronly advice working and commiting from inside the devShell. To make this
|
||||||
|
easier, use the provided [direnv](https://direnv.net/) configuration by
|
||||||
|
installing direnv and running `direnv allow` in the repository root.
|
||||||
|
|
||||||
|
## Code Standards
|
||||||
|
|
||||||
|
We make use of several standards, including:
|
||||||
|
- [Semantic Versioning](https://semver.org/) for version bumps.
|
||||||
|
- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit summaries.
|
||||||
|
- [REUSE](https://reuse.software/) for license complicance.
|
||||||
|
|
||||||
|
We also make use of code formatters, as well as rust related tooling for
|
||||||
|
auditing dependencies have licenses that are compliant with the
|
||||||
|
[EUPL-1.2](https://commission.europa.eu/content/european-union-public-licence_en).
|
||||||
|
|
||||||
|
Take note that contributions will be legally considered under the EUPL-1.2
|
||||||
|
Article 6 "Chain of Authorship" section, essentially a developer certificate of
|
||||||
|
origin.
|
||||||
|
|
||||||
|
> 6.Chain of Authorship
|
||||||
|
>
|
||||||
|
> The original Licensor warrants that the copyright in the Original Work granted
|
||||||
|
> hereunder is owned by him/her or licensed to him/her and that he/she has the
|
||||||
|
> power and authority to grant the Licence.
|
||||||
|
>
|
||||||
|
> Each Contributor warrants that the copyright in the modifications he/she
|
||||||
|
> brings to the Work are owned by him/her or licensed to him/her and that he/she
|
||||||
|
> has the power and authority to grant the Licence.
|
||||||
|
>
|
||||||
|
> Each time You accept the Licence, the original Licensor and subsequent
|
||||||
|
> Contributors grant You a licence to their contributions to the Work, under the
|
||||||
|
> terms of this Licence.
|
||||||
|
|
||||||
|
### Pull-Requests
|
||||||
|
|
||||||
|
We currently expect that all commits are functional against `nix flake check`
|
||||||
|
and don't introduce any regressions. Further we prohibit merge branch updates,
|
||||||
|
and expect all pull requests to have been rebased against the `main` branch
|
||||||
|
before being merged.
|
||||||
|
|
||||||
|
Long chains of commits should be divided into separate PRs, specially if
|
||||||
|
introducing multiple features that will all need separate review. Ideally, a
|
||||||
|
stacked workflow is preferred.
|
||||||
|
|
||||||
|
Formatting changes of code created in the PR should be rebased into the commit
|
||||||
|
introducing the codebase, **not** be it's own separate commit.
|
||||||
|
|
||||||
|
Treewide changes should be added to a `.git-blame-ignore-revs`.
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
The project is moderated according to the [Contributor Covenant Code of
|
||||||
|
Conduct](CODE_OF_CONDUCT.md). We expect all contributions, issues, and other
|
||||||
|
project communications made in spaces related to the project to live up to the
|
||||||
|
standards set in the code of conduct, and it will be enforced according to the
|
||||||
|
`Enforcement Guidelines` it describes.
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported to the community leaders responsible for enforcement at:
|
||||||
|
|
||||||
|
matrix: @cafkafk:gitter.im
|
|
@ -52,3 +52,7 @@ Caching the requisites is a future goal, so that we only have to build the
|
||||||
down the nix part of the runtime by ~80%.
|
down the nix part of the runtime by ~80%.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
For information on contributing, please see [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||||
|
|
Loading…
Reference in a new issue