Skip to content

Your first contribution

Joel B edited this page May 10, 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 -m pynventory.main from the repository root
  • 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 data/products.db appears as modified, do not include it in your pull request. See Troubleshooting for help.

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

See the FAQ for the post-merge cleanup steps.

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