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=shortCode 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>.
| Type | Use |
|---|---|
feat | A new feature — feat(core): implement validation beautifier |
fix | A bug fix — fix(fastapi): correct HTTPException status mapping |
docs | Documentation-only changes |
style | Changes that don’t affect logic — whitespace, formatting |
refactor | Neither fixes a bug nor adds a feature |
test | Adding or correcting tests |
Branch naming
- Features —
feature/short-descorfeat/short-desc - Bug fixes —
bugfix/short-descorfix/short-desc - Documentation —
docs/short-desc
Pull requests
Before submitting:
- Tests pass.
- No lint errors (
uv run ruff check .). - Changes are minimal and focused — don’t combine unrelated features in one PR.
- 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.