# Contributing Thanks for your interest in contributing! We welcome ideas, code, docs, etc -- just open an issue or MR. ## Setup This project uses [flakes](https://nixos.wiki/wiki/Flakes) so a development environment can be created with nix develop > **NOTE**: there's also support for [direnv](https://direnv.net/) to automate the dev shell process ## Commits There's no formal commit process at this time. Do try to format the repo with [treefmt](https://github.com/numtide/treefmt) before submission, however. nix fmt ## Kubernetes versions To support a new Kubernetes version: - Edit [`./versions.nix`](./versions.nix) and add a new attribute for the version; for example: ```nix { "1.23.0" = "sha256:0jivg8nlxka1y7gzqpcxkmbvhcbxynyrxmjn0blky30q5064wx2a"; } ``` - Build and copy the updated specs to [`modules/generated/`](./modules/generated/) with nix run '.#generate' ## Tests Tests are executed through GitHub actions; see the [workflow definition](../kubenix/.github/workflows/ci.yml) for commands. ## Docs Build and serve the static site nix run '.#docs' serve which will be available at . ### Examples Examples are written at [./docs/content/examples](./docs/content/examples) and are (or will, really) also used as tests which can be executed with nix flake check In general, that just means: don't directly put nix snippets into a markdown doc; instead use the shortcode provided to pull them in so they don't have to be parsed out for testing.