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.
Set up
Section titled “Set up”nix developuv sync --locked --extra devRun the checkout directly:
uv run --locked wuf --helpuv run --locked python -m wuf --versionCheck a change
Section titled “Check a change”uv run --locked pytestuv run --locked ruff check .uv run --locked ruff format --check .uv run --locked pyrightTests include architecture constraints, unit behavior, temporary Git fixture repositories, filesystem capability cases, packaging, and end-to-end CLI output.
Work on the documentation
Section titled “Work on the documentation”nix run .#docs-installnix run .#docs-checknix run .#docs-buildnix run .#docs-devPublic 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.
Build distributions
Section titled “Build distributions”uv sync --locked --extra releaseuv run --locked python -m builduv run --locked python -m build compat/workfold --outdir distuv 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.