Skip to content

Contributing

Wuf requires Python 3.11 or newer and uses uv for Python environments. The Nix development shell includes Python, uv, Ruff, Node.js, pnpm, and release tools.

Terminal window
nix develop
uv sync --locked --extra dev

Run the checkout directly:

Terminal window
uv run --locked wuf --help
uv run --locked python -m wuf --version
Terminal window
uv run --locked pytest
uv run --locked ruff check .
uv run --locked ruff format --check .
uv run --locked pyright

Tests include architecture constraints, unit behavior, temporary Git fixture repositories, filesystem capability cases, packaging, and end-to-end CLI output.

Terminal window
nix run .#docs-install
nix run .#docs-check
nix run .#docs-build
nix run .#docs-dev

Public pages under docs/src/content/docs/ are for users and contributors. Architecture decisions, complete behavioral notes, and roadmap material live in the repository’s OKF knowledge bundle.

Terminal window
uv sync --locked --extra release
uv run --locked python -m build
uv run --locked python -m build compat/workfold --outdir dist
uv run --locked python -m twine check dist/*

Releases are automated after the tested main revision passes CI. The release publishes the canonical wuf distribution, the transitional workfold compatibility package, and platform archives.