Contributing¶
Thanks for your interest in MarkoWizard.
Setup¶
The project uses uv.
git clone https://github.com/OutliersAnalytics/MarkoWizard
cd MarkoWizard
uv sync
uv sync installs the library plus the dev dependency group (pytest, ruff).
Checks¶
uv run pytest # tests
uv run ruff check # lint
uv run ruff format # format
Please make sure both pass before opening a pull request.
Scope¶
markowizard/ is the installable library — keep it dependency-light and free of
web/UI concerns. The web application under backend/ and frontend/ is not
part of the published package; run it with:
uv run --with-requirements backend/requirements.txt uvicorn backend.main:app --port 8000
Building the docs¶
This site is built with MkDocs Material and mkdocstrings (API pages are generated from the library's docstrings). To preview locally:
uv run --group docs mkdocs serve
It publishes automatically to GitHub Pages on every push to main that touches
docs/, mkdocs.yml, or markowizard/ (see .github/workflows/docs.yml).
Pull requests¶
- Branch off
main, keep changes focused. - Add or update tests for behaviour changes.
- Describe what changed and why.