Skip to content

Commit 1531da1

Browse files
committed
chore: add CONTRIBUTING.md
1 parent adfafb4 commit 1531da1

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributing
2+
3+
## Development
4+
5+
Install dependencies with [uv](https://docs.astral.sh/uv/getting-started/installation/):
6+
7+
uv sync
8+
9+
Run tests:
10+
11+
uv run pytest
12+
13+
Run linters:
14+
15+
uv run commit pre-commit run -a
16+
17+
Install the pre-commit hooks (runs automatically on each commit):
18+
19+
uv run pre-commit install --hook-type commit-msg
20+
21+
Commits must follow the [Conventional Commits](https://www.conventionalcommits.org/) format,
22+
e.g. `feat: add new command` or `fix: handle missing config file`. This is enforced by the
23+
pre-commit hook above.
24+
25+
## Releasing
26+
27+
1. Run `cz bump` to update the version and changelog:
28+
29+
uv run cz bump
30+
31+
This will increment the version in `pyproject.toml` based on the commit history since the
32+
last release, append the new section to `CHANGELOG.md`, and create a git tag.
33+
34+
2. Push the commit and tag:
35+
36+
git push origin master --tags
37+
38+
3. Create a GitHub release for the new tag. The `pypi-publish` workflow will automatically
39+
build and publish the package to PyPI when the release is published.

0 commit comments

Comments
 (0)