add contributing guidelines

This commit is contained in:
JesseBot 2023-03-18 15:31:58 +01:00
parent bb280b4f45
commit f77ccad6c3
No known key found for this signature in database
GPG key ID: C01D207CE04D55D9
2 changed files with 49 additions and 0 deletions

8
.pre-commit-config.yml Normal file
View file

@ -0,0 +1,8 @@
repos:
- repo: https://github.com/python-poetry/poetry
rev: '1.2.2'
hooks:
# make sure the poetry config does not get committed in a broken state
- id: poetry-check
# make sure the lock file is up-to-date when committing changes
- id: poetry-lock

41
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,41 @@
# Contributing
Always happy to review pull requests and merge any fixes, or features, that would help onboardme.
Here's some guidelines on how we code.
## Getting Started
<details>
<summary><bold>Prereqs</bold><summary>
- Install [poetry], which we use for dependency management and packaging in python.
- If using vim/neovim, we recommend installing the [jedi language server]. onboardme will install it for you with the following:
```bash
# if you have existing dot files that you don't mind overwriting, use append -O
onboardme -s dot_files,neovim_setup --git_url https://github.com/jessebot/onboardme.git
```
</details>
Once you have the pre-reqs installed you can fork the [repo] and then clone your fork:
```bash
# this should be YOUR fork, but for an example, we're using the actual repo
git clone git@github.com:jessebot/onboardme.git
cd onboardme
```
Use `poetry` and `pre-commit` to install onboardme depedencies:
```bash
poetry install
pre-commit install
```
Now you can proceed as normal for python development and when you're done, just commit the changes and the pre-commit hooks will run any linting and tests we have. When everything passes, open up a PR against the main repo and we'll get it reviewed :)
[repo]: https://github.com/jessebot/onboardme/ "onboardme repo"
[pre-commit]: https://pre-commit.com/#install "pre-commit, for running actions before commits"
[poetry]: https://python-poetry.org/docs/#installation "poetry, tool for dependency management and packaging in Python"
[jedi language server]: https://github.com/pappasam/jedi-language-server#editor-setup