-
Notifications
You must be signed in to change notification settings - Fork 4
Contributor workflow
This page covers how we work together on Pynventory: the contributor workflow, collaboration rules, and communication.
For Git command reference, see Git commands.
To configure your Git identity:
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"Use a private email if you want to keep your address hidden. GitHub provides one: GitHub private email.
All work happens on branches. Never code directly to master.
Recommended flow:
- Check if an issue already exists.
- If no issue exists, create one.
- Add the correct label.
- Link the issue to the project board.
- Create the branch from the issue's Development section.
- Work on that branch.
- Open a pull request back to
master.
Every change goes through a pull request.
Open a GitHub issue before writing code. This keeps work visible and avoids wasted effort. Describe:
- what you want to change
- why it should be changed
- your rough idea for the approach
Then add the appropriate label and link the issue to the project board.
Before opening a PR:
-
git statusonly shows files that belong to your change -
data/products.dbis not included - the app starts with
python -m pynventory.main - you manually tested the behavior you changed
- Ruff has been run
- the pull request links to the relevant issue
Go to the repository on GitHub. You will see a banner suggesting you open a pull request. Fill in the template and select a reviewer.
Make changes on the same branch, commit, and push again. The pull request updates automatically.
Once a pull request is approved, the author merges it and deletes the old branch.
git checkout master
git pull origin masterAt least one other contributor must review your pull request before it can be merged. See the Code review page for the full review process, checklist, and how to use GitHub's review UI.
- Ideas, bugs, and feature requests -> GitHub Issues
- Pull request discussions -> keep them on the PR page
- Quick questions -> open an issue with the
questionlabel - Team discussion -> Discord
Common labels:
-
bug- something is broken -
new feature- new feature or improvement -
documentation- docs or wiki changes -
question- clarification needed -
good first issue- suitable for new contributors -
help wanted- extra attention is needed
Keep the project board updated so it matches the status of your work.
The project uses SQLite at data/products.db. This file contains local development data and must never be committed. If it appears in git status, leave it unstaged. See Troubleshooting for help.