From b530dbcefabf297a0078f1f24f944aa3b849b034 Mon Sep 17 00:00:00 2001 From: Bartosz Sokorski Date: Tue, 13 Jun 2023 11:42:40 +0200 Subject: [PATCH] Add CONTRIBUTING.md (#331) --- CONTRIBUTING.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ news/331.docs.md | 1 + 2 files changed, 63 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 news/331.docs.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..7696e541 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,62 @@ +# Contribute to Cleo + +## Project Management + +The Cleo project is managed by [Poetry](https://python-poetry.org/). You need to install it first: + +```bash +pipx install poetry +``` + +For other installation methods, please refer to [Poetry's documentation](https://python-poetry.org/docs/#installation). + +After the installation, install the project and dependencies: + +```bash +poetry install +``` + +## Run the Tests + +```bash +poetry run pytest +``` + +## Code Style and Linters + +We use [Black](https://github.com/psf/black) to format the code and [Ruff](https://github.com/charliermarsh/ruff) as the linter. +They are all integrated into [pre-commit](https://pre-commit.com/). You can enable it by: + +> NOTICE: `pre-commit` is declared as one of development dependencies of Cleo. If you don't have `pre-commit` installed globally, prepend the commands in this section with `poetry run` + +```bash +pre-commit install +``` + +and run the checks by: + +```bash +pre-commit run --all-files +``` + +### News fragments + +When you make changes such as fixing a bug or adding a feature, you must add a news fragment describing +your change. News fragments are placed in the `news/` directory, and should be named according to this pattern: `..md` (e.g., `566.bugfix.md`). + +> NOTICE: If your change doesn't have an issue, please use PR number in place of `` + +#### Issue Types + +- `break`: Breaking changes +- `feat`: Features & Improvements +- `bugfix`: Bug fixes +- `docs`: Changes to documentation +- `deps`: Changes to dependencies +- `removal`: Removals or deprecations in the API +- `misc`: Miscellaneous changes that don't fit any of the other categories + +The contents of the file should be a single sentence in past tense that describes your changes (e.g., `Added CONTRIBUTING.md file.`). +See entries in the [Change Log](/CHANGELOG.md) for more examples. + + diff --git a/news/331.docs.md b/news/331.docs.md new file mode 100644 index 00000000..641bdd81 --- /dev/null +++ b/news/331.docs.md @@ -0,0 +1 @@ +Added CONTRIBUTING.md file.