11Contributor Guide
22=================
33
4- Thank you for your interest in improving this project.
5- This project is open-source under the `MIT license `_ and
6- welcomes contributions in the form of bug reports, feature requests, and pull requests.
7-
8- Here is a list of important resources for contributors:
9-
10- - `Source Code `_
11- - `Issue Tracker `_
12- - `Code of Conduct `_
13-
14- .. _MIT license : https://opensource.org/licenses/MIT
15- .. _Source Code : https://github.com/treyhunner/countdown-cli
16- .. _Issue Tracker : https://github.com/treyhunner/countdown-cli/issues
17-
184How to report a bug
195-------------------
206
@@ -41,81 +27,47 @@ Request features on the `Issue Tracker`_.
4127How to set up your development environment
4228------------------------------------------
4329
44- You need Python 3.7+ and the following tools:
45-
46- - Poetry _
47- - Nox _
48- - nox-poetry _
49-
50- Install the package with development requirements:
30+ You need Python, uv _, and just _ installed locally.
31+ Nox _ is optional but required for the multi-version test matrix.
5132
52- .. code :: console
53-
54- $ poetry install
55-
56- You can now run an interactive Python session,
57- or the command-line interface:
33+ The CLI is exposed through the ``countdown `` script.
34+ Run it directly from the synced environment:
5835
5936.. code :: console
6037
61- $ poetry run python
62- $ poetry run countdown
38+ uv run countdown 6m30s
6339
64- .. _Poetry : https://python-poetry.org/
40+ .. _uv : https://docs.astral.sh/uv/
41+ .. _just : https://github.com/casey/just
6542.. _Nox : https://nox.thea.codes/
66- .. _nox-poetry : https://nox-poetry.readthedocs.io/
6743
6844
6945How to test the project
7046-----------------------
7147
72- Run the full test suite:
48+ This project uses pytest _ and Ruff _ orchestrated through ``just `` tasks.
49+ Before opening a pull request, run the aggregated check:
7350
7451.. code :: console
7552
76- $ nox
53+ just check
7754
78- List the available Nox sessions :
55+ Useful individual commands :
7956
8057.. code :: console
8158
82- $ nox --list-sessions
83-
84- You can also run a specific Nox session.
85- For example, invoke the unit test suite like this:
86-
87- .. code :: console
88-
89- $ nox --session=tests
59+ just test -- -k timer
60+ just test-cov # pytest with coverage (fail_under=100)
9061
9162 Unit tests are located in the ``tests `` directory,
9263and are written using the pytest _ testing framework.
64+ Open ``htmlcov/index.html `` after ``just test-cov `` to debug coverage issues.
9365
94- .. _pytest : https://pytest.readthedocs.io/
95-
96-
97- How to submit changes
98- ---------------------
99-
100- Open a `pull request `_ to submit changes to this project.
101-
102- Your pull request needs to meet the following guidelines for acceptance:
103-
104- - The Nox test suite must pass without errors and warnings.
105- - Include unit tests. This project maintains 100% code coverage.
106- - If your changes add functionality, update the documentation accordingly.
107-
108- Feel free to submit early, though—we can always iterate on this.
109-
110- To run linting and code formatting checks before committing your change, you can install pre-commit as a Git hook by running the following command:
66+ If you need to validate across every supported Python version, run:
11167
11268.. code :: console
11369
114- $ nox --session=pre-commit -- install
70+ just test-all
11571
116- It is recommended to open an issue before starting work on anything.
117- This will allow a chance to talk it over with the owners and validate your approach.
118-
119- .. _pull request : https://github.com/treyhunner/countdown-cli/pulls
120- .. github-only
121- .. _Code of Conduct : CODE_OF_CONDUCT.rst
72+ .. _pytest : https://pytest.readthedocs.io/
73+ .. _Ruff : https://docs.astral.sh/ruff/
0 commit comments