Skip to content

Customization

This page covers ongoing changes to dependencies, tools, and workflows after your repository already has a name and import path.

If you are still adopting the GitHub template (rename package, remove template docs), use Customize and clean up first.

Dependencies

Runtime and optional groups live in pyproject.toml:

[project]
dependencies = [...]

[project.optional-dependencies]
test = [...]
dev = [...]
docs = [...]

After editing dependencies, refresh the lockfile:

uv lock
uv sync --extra dev

Ruff

Rules and formatting live under [tool.ruff] and [tool.ruff.lint] in pyproject.toml. Prefer editing there and re-running:

uv run ruff check --fix src tests
uv run ruff format src tests

Git hooks (prek)

Hooks are listed in .pre-commit-config.yaml. Add or remove repos there, then:

uv run prek auto-update
uv run prek run --all-files

Documentation site

Navigation and theme options are in zensical.toml. Add a page under docs/, then add it to the nav array so it appears in the sidebar.

CI workflows

Workflows live in .github/workflows/. Typical edits are Python version matrices in ci.yml, release cadence in scheduled_release.yml, and Pages settings described in CI/CD and releases.

Spell checking

Typos are checked with typos via the hook in .pre-commit-config.yaml (run locally with prek). Project-specific overrides go in .typos.toml at the repository root.