Skip to content

Latest commit

 

History

History
84 lines (55 loc) · 2.21 KB

CONTRIBUTING.md

File metadata and controls

84 lines (55 loc) · 2.21 KB

For Contributors

Most of the setup is automated with make. Check the Makefile to learn more.

Requirements

  • Python>=3.11
  • make:

Setup

make will take care of setting a the virtual environment (it will be located in .venv). It will also install pdm and with it all dependencies.

Furthermore, it will install pre-commit hooks to run checks on staged changes before each commit and to enforce the commit message style.

make bootstrap-dev

Screencast

asciicast

Development

To run all of the checks below (formatting, testing, linting, typechecks) run:

make ci

Static Analysis

ornaments uses ruff for formatting & linting and mypy for typechecks.

make format   # ruff formatting and auto-fixes
make lint     # ruff checks
make mypy     # mypy

Testing

To trigger pytest and coverage run the following:

make test

This will also generate a coverage badge which is displayed in the README.

Commit Message Style

A uniform commit message style and here. for better readibilty shall be enforced to be able to generate a changelog.

Allowed Prefixes

fix:  feat:  docs:  style:  refactor:  perf:
test:  build:  ci:  chore:  revert:

Example

git commit -m "feat: adds support for new feature"