# Contributing ## Development setup Prerequisites: [uv](https://docs.astral.sh/uv/#installation), [just](https://just.systems/man/en/installation.html) ```shell # Arch Linux pacman -S uv just # optional pacman -S just-lsp yamlfmt shellcheck typos ``` The development environment and testing requires multiple specific Python versions; they can be installed with (inside the pulled git project directory): ```shell uv sync ``` The storage directory of Python versions can be configured with `UV_PYTHON_INSTALL_DIR`. (It must be an absolute path.) ## Testing A script is available to run the test suit. ```shell just test ``` ## Formatting Formatting of YAML files requires [yamlfmt](https://github.com/google/yamlfmt) to be installed separately. A script is available to run the format check. ```shell just format-check just schema-check ``` ## Linting Linting requires [shellcheck](https://github.com/koalaman/shellcheck) to be installed separately. Validating `pyproject.toml` against the checked-in uv schema also requires [jq](https://jqlang.org/). Spell checking requires [typos](https://github.com/crate-ci/typos) to be installed separately. A script is available to run the lint check. ```shell just lint-check just type-check ``` ## Documentation A script is available to run the documentation generation. ```shell just docs ```