Skip to content
errium

Contributing

Setup, testing, style, and commit conventions.

Errium welcomes bug reports, feature requests and pull requests.

Development setup

Errium uses uv.

git clone https://github.com/Dagin34/errium.git
cd errium
uv sync
uv pip install -e .

Testing

High coverage is expected on all core operations. Changes need unit and integration tests under tests/ — see Testing layout for how the suite is organised.

uv run pytest
uv run pytest --tb=short

Code style

PEP 8, strong static typing, structural cleanliness. The source is checked under mypy --strict.

uv run ruff check .

CI runs ruff check, ruff format --check, mypy and pytest across Python 3.11 and 3.12, so running these locally first saves a round trip.

Commit conventions

Angular style — <type>(<scope>): <subject>.

TypeUse
featA new feature — feat(core): implement validation beautifier
fixA bug fix — fix(fastapi): correct HTTPException status mapping
docsDocumentation-only changes
styleChanges that don’t affect logic — whitespace, formatting
refactorNeither fixes a bug nor adds a feature
testAdding or correcting tests

Branch naming

  • Features — feature/short-desc or feat/short-desc
  • Bug fixes — bugfix/short-desc or fix/short-desc
  • Documentation — docs/short-desc

Pull requests

Before submitting:

  1. Tests pass.
  2. No lint errors (uv run ruff check .).
  3. Changes are minimal and focused — don’t combine unrelated features in one PR.
  4. The description explains what the change does and why it was needed.

Documentation

This site is the documentation. It is a separate SvelteKit project, so a change to what the docs say lives here rather than in the library repository.

The library repository still carries README.md, ARCHITECTURE.md, ROADMAP.md, CHANGELOG.md and CONTRIBUTING.md, and those remain the source of truth for anyone reading the code directly — keep them accurate alongside a code change. As of 0.1.2 the MkDocs site that used to publish them at dagin34.github.io/errium is retired and serves only a notice pointing here.