Files
dbyaml/CONTRIBUTING.md
T
2026-09-24 19:06:28 +02:00

64 lines
1.3 KiB
Markdown

# 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
```