# 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 # optinal pacman -S just-lsp yamlfmt shellcheck ``` 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 seperately. A script is available to run the format check. ```shell just format-check just schema-scheck ``` ## 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/). A script is available to run the lint check. ```shell just lint-check just type-check ``` ## Documentation A script is available to run the documentaion generation. ```shell just docs just man ```