Contributing guide

December 17, 2023 ยท View on GitHub

Contributions are more than welcome!

Commit messages / PR title

Please ensure your pull request title conforms to Conventional Commits.

CI

Our CI checks are run using nix.

Development

Dev environment

We use the following tools:

Formatting

Linting

Static type checking

Nix devShell

  • Requires flakes to be enabled.

We provide a flake.nix that can bootstrap all of the above development tools.

To enter a development shell:

nix develop

To apply formatting, while in a devShell, run

pre-commit run --all

If you use direnv, just run direnv allow and you will be dropped in this devShell.

Running checks with Nix

If you just want to run all checks that are available, run:

nix flake check -L --option sandbox false

For formatting and linting:

nix build .#checks.<your-system>.pre-commit-check -L