Maintenance (keep tools & dependencies up-to-date)

This page lists safe, repeatable maintenance tasks for keeping the development environment, tools, and dependencies compatible and up-to-date.

Update pre-commit hooks

Terminal (pwsh / bash):

# Run to update hooks to latest versions allowed by
pre-commit autoupdate
# Verify updated hooks
pre-commit run --all-files

Review diffs and commit .pre-commit-config.yaml changes if needed.

Update project dependencies and lockfile

Terminal (pwsh / bash):

# Update dependencies to latest versions allowed by pyproject.toml
uv lock --upgrade
# Sync environment to updated lockfile
uv sync --all-groups --all-extras

Commit uv.lock and pyproject.toml changes after updates so CI can reproduce the environment. If uv.lock changed, run verification tests.

Update UV (and uv-managed tools)

Terminal (pwsh / bash):

# Update UV to latest version
uv self update
# Re-install specific user-level tools if needed, e.g.
# uv tool install pre-commit@<version> --with pre-commit-uv