Skip to content

Your first contribution

Joel B edited this page May 9, 2026 · 6 revisions

This page walks you through making your first contribution to Pynventory.

The goal is not to do something big. The goal is to make one small, clear change, open a pull request, and learn the project workflow.

Before you start

Make sure you have:

If something does not work, ask for help before spending too much time stuck.

Pick a good first issue

Start with a small issue.

Good first issues usually involve:

  • documentation improvements
  • small text fixes
  • simple validation improvements
  • small command-line output improvements
  • simple cleanup tasks

Avoid starting with large changes such as:

  • changing the database structure
  • adding a web interface
  • rewriting multiple files
  • changing the full project architecture

If you are unsure whether an issue is a good first task, ask in the issue or on Discord.

Create a branch

Branches should normally be created from GitHub issues.

  1. Open the issue you want to work on.
  2. Find the Development section in the issue sidebar.
  3. Click Create a branch.
  4. Keep the default branch name unless there is a clear reason to change it.
  5. Copy the commands GitHub shows.
  6. Run those commands in your terminal.

This connects your branch to the issue and makes the work easier to track.

Make a small focused change

Keep your first contribution small.

A good first pull request should:

  • solve one issue
  • change only the files needed for that issue
  • avoid unrelated refactoring
  • avoid formatting files you did not otherwise need to change
  • be easy for another contributor to review

Small pull requests are easier to review, easier to fix, and better for learning.

Test your change

Before opening a pull request, test your change manually.

At minimum:

  • run the app with python main.py
  • try the command or behavior you changed
  • try at least one invalid input if your change affects user input
  • confirm the app does not crash
  • check git status before committing

If products.db appears as modified, do not include it in your pull request.

Open a pull request

When your change is ready:

  1. Push your branch to GitHub.
  2. Open a pull request into master.
  3. Fill in the pull request template.
  4. Link the issue using Closes #issue-number.
  5. Explain how you tested your change.
  6. Request a review.

Example issue link:

Closes #12

During review

Code review is part of the learning process.

You may receive comments asking you to:

  • explain a choice
  • rename something
  • simplify code
  • test another case
  • make a small correction

This is normal. Review comments are about improving the work, not criticizing the person.

After your pull request is merged

After your pull request is merged:

  1. Switch back to master.
  2. Pull the latest changes.
  3. Delete your old branch if it is no longer needed.
  4. Pick a new issue if you want to continue.

Useful commands:

git checkout master
git pull origin master

Remember

The best first contribution is small, clear, and finished.

You do not need to understand the whole project before helping. Learning the workflow is already a valuable contribution.

Clone this wiki locally