Skip to content

Commit 37e1935

Browse files
Create CONTRIBUTING.md (#592)
1 parent 1cb62c8 commit 37e1935

File tree

2 files changed

+72
-13
lines changed

2 files changed

+72
-13
lines changed

CONTRIBUTING.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to usethis! There are issues labeled
4+
[Good First Issue](https://github.com/nathanjmcdougall/usethis-python/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22)
5+
which are good opportunities for new contributors.
6+
7+
Since `usethis` is at early stages of development, please
8+
[ensure a GitHub Issue is opened](https://github.com/nathanjmcdougall/usethis-python/issues)
9+
before starting work on a new feature or bug fix. This helps to ensure that the
10+
feature is aligned with the project's goals and that there is no duplication of effort.
11+
12+
## Setup
13+
14+
[uv](https://github.com/astral-sh/uv) is required to install the development
15+
environment. You can install it using the instructions here:
16+
17+
<https://docs.astral.sh/uv/getting-started/installation/>
18+
19+
Then with the current working directory set to the project root, run:
20+
21+
```shell
22+
uv sync
23+
```
24+
25+
## Testing
26+
27+
To run the tests, simply run:
28+
29+
```shell
30+
uv run pytest
31+
```
32+
33+
## Documentation
34+
35+
Documentation is hosted at <https://usethis.readthedocs.io/en/latest/>. It can be served
36+
locally with:
37+
38+
```shell
39+
uv run mkdocs serve
40+
```
41+
42+
Docstrings use Google Style.
43+
44+
## Version Control
45+
46+
Git is used for version control, using
47+
[Trunk-based development](https://trunkbaseddevelopment.com/).
48+
49+
It is recommended that you use signed commits, although this is not a requirement.
50+
Please see this guide from the VS Code project for instructions on how to do this:
51+
<https://github.com/microsoft/vscode/wiki/Commit-Signing>
52+
53+
## Architecture
54+
55+
This project uses [Import Linter](https://import-linter.readthedocs.io/en/stable/) to
56+
enforce a software architecture. Refer to the `[[tool.importlinter.contracts]]` sections
57+
in `pyproject.toml` to understand the structure of the project.

README.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -269,17 +269,6 @@ Supported options:
269269

270270
- `--browser` to open the link in the browser automatically.
271271

272-
## 🚧 Development Roadmap
273-
274-
Major features planned for later in 2025 are:
275-
276-
- Support for users who aren't using uv, e.g. poetry users,
277-
- Support for automated GitHub Actions workflows ([#57](https://github.com/nathanjmcdougall/usethis-python/issues/57)),
278-
- Support for a typechecker (likely Pyright, [#121](https://github.com/nathanjmcdougall/usethis-python/issues/121)), and
279-
- Support for documentation pages (likely using mkdocs, [#188](https://github.com/nathanjmcdougall/usethis-python/issues/188)).
280-
281-
Other features are tracked in the [GitHub Issues](https://github.com/nathanjmcdougall/usethis-python/issues) page.
282-
283272
## 📚 Similar Projects
284273

285274
Not sure if usethis is the exact fit for your project?
@@ -295,9 +284,22 @@ You could [consider this template](https://github.com/pawamoy/copier-uv) which w
295284
296285
One of usethis's strengths is that it can update existing configuration. If you're using Cookiecutter, then you can update to a latest version of a template using a tool like [cruft](https://github.com/cruft/cruft). Copier has inbuilt support for template updating.
297286

298-
## Development
287+
## 🚧 Development Roadmap
288+
289+
Major features planned for later in 2025 are:
290+
291+
- Support for users who aren't using uv, e.g. poetry users,
292+
- Support for automated GitHub Actions workflows ([#57](https://github.com/nathanjmcdougall/usethis-python/issues/57)),
293+
- Support for a typechecker (likely Pyright, [#121](https://github.com/nathanjmcdougall/usethis-python/issues/121)), and
294+
- Support for documentation pages (likely using mkdocs, [#188](https://github.com/nathanjmcdougall/usethis-python/issues/188)).
295+
296+
Other features are tracked in the [GitHub Issues](https://github.com/nathanjmcdougall/usethis-python/issues) page.
297+
298+
## 🙌 Contributing
299299

300-
This project is at the early stages of development. If you are interested in contributing, please ensure you have a corresponding GitHub Issue open.
300+
See the
301+
[CONTRIBUTING.md](https://github.com/nathanjmcdougall/usethis-python/blob/main/CONTRIBUTING.md)
302+
file.
301303

302304
## License
303305

0 commit comments

Comments
 (0)