Guide: How to Contribute to Pinax

You want to contribute to Pinax but don’t know how? Read this guide for some instructions and tips!

Make Changes to Projects or Apps

Did you discover any bugs in a Pinax project or app? Or do you have an idea on how to make a project or app better?

There are two ways you can let us know. You will need a GitHub account in order to follow the next steps. If you don’t have a GitHub account, click on this link with instructions on how to create one.

If you have an idea for a change but you’re unsure of how to implement the change yourself you can

Create an Issue

  • Go to the Pinax Project GitHub page.

  • Click on the app or project you want to suggest a change for.

  • Click the “Issues” tab.

Alt Text

  • Click the “New issue” button.

Alt Text

  • Type in a short title and describe your idea for a new feature or change. Then click the “Submit new issue” button.

Alt Text

  • If you click the “Issues” button again, you can now find your submitted issue in the list of issues.

  • A Pinax Project team member will take a look at your issue and implement your suggested changes in Pinax as they see fit. They may also comment on your issue in case they have any questions for you. When someone comments on an issue you created, you will get an email notification from GitHub. Please make sure to answer any questions they may have.

If you have an idea for a change, or found a bug and want to fix it yourself

Create a Pull Request

  • In your terminal, create a new folder for Pinax

    $ mkdir Pinax

  • Change into the folder you just created

    $ cd Pinax

  • Create a virtual environment

    $ virtualenv Pinax

  • If you don’t have virtualenv installed on your machine yet, you need to do so first

    $ pip install virtualenv

  • Activate your virtual environment

    $ . Pinax/bin/activate

  • You should now see (Pinax) at the beginning of each line in your terminal, which is an indicator that your virtual environment is activated. You should always work inside a virtual environment in order to make sure other code you have on your computer is not affected by any changes you make when working on a project.

  • Go to the Pinax Project GitHub website.

  • Click on the project or app you want to make changes to or fix a bug for.

  • Fork the repository by clicking the “Fork” button.

Alt Text

  • If you go to your profile and click the “Repositories” tab, you should now see the repository you just forked in your list of repositories.

Alt Text

  • Click on the repository you just forked. You will find a HTTPS URL.

Alt Text

  • In your terminal, type in $ git clone and copy and paste the clone URL of the repository behind it, then press enter. The repository will now be cloned to your local machine. Make sure your virtual environment is still activated and you are still in the Pinax folder you created earlier.

  • Open the repository in your text editor and make any changes you would like to make. Don’t forget to save your changes.

  • Go back to your terminal and push the code to your forked GitHub repository. Type in the following commands one after another:

    $ git add -p (This is a cool git feature which will show you each change you made/line of code you added separately. If the change is correct and you meant to push it to GitHub, just type in y for yes and then hit enter. If it’s not correct or you didn’t mean to push it to GitHub type in n for no and then enter. This way you can make sure to only push the correct code to GitHub.)

    $ git commit -a -m “[Insert your commit message here, explaining briefly what you changed]”

    $ git push

  • Git will then prompt you to type in your GitHub username and password in the terminal. After you typed in the information, your code will be pushed to your forked GitHub repository.

  • If you go back to your GitHub profile page, then click on the “Repositories” tab, and on the name of the forked repository you just made changes to, you should be able to see your commit message next to the files you changed.

  • In order to create a pull request, click the green button in the upper left corner.

Alt Text

  • The Compare page will select the base and compare branches automatically.

  • Click the green “Create pull request” button in the upper left corner

Alt Text

  • Type in a short title and description of your pull request, explaining your changes.

Alt Text

  • Click the green “Create pull request” button in the lower right corner.

  • You just created a pull request. Congratulations!

  • If you click “Pull requests” in the navigation bar, you should be able to see your your pull request in the list of pull requests.

Alt Text

  • A Pinax Project team member will then review your pull request and merge it. In case they have any questions or would like you to make further changes, they will comment on your pull request. You will be notified by GitHub via e-mail. Please make sure that you answer any questions and make any changes they ask you to make to ensure good collaboration. If you don’t understand what they want you to do, or why, please feel free to ask questions and they’ll be happy to answer them and work with you.

  • Congratulations! You are now a Pinax Project contributor :)

New Starter Projects or Apps

You have an idea for a new starter project or app for the Pinax Project? That’s great! If you have questions, need help, or are insecure about your idea, please join our Pinax Slack channel and reach out to us, we’d love to work with you and help you create your new Pinax starter project or app.

To see a list of existing starter projects and apps, visit the Pinax Project documentation.

Your contributions are greatly appreciated!