Skip to content

7 Contribute to Pi Project

Marco edited this page May 30, 2014 · 15 revisions

1. How to contribute to Pi-Engine repository?

Pi Engine project is hosted on GitHub in 3 areas, from where you will be able to contribute

What is GitHub ?

See http://en.wikipedia.org/wiki/GitHub Basically, it hosts projects because it provides a powerfull revision & source control system, and also collaborative tools (like this wiki, the issue tracker, etc.).

Do i need an extra tool ?

It depends what is your contribution :

  • To declare bugs : NO. You will do this directly on GitHub project repository
  • To propose code : YES (see below)

2. How to declare a bug ?

Simply use the issue tracker of GitHub, for the proper branch

3. How to propose a code improvement ?

Working principles

  • 1-fork the project into your github account : it creates a copy in your GitHub account, that's the way to be able to collaborate to a project. Everyone works on its local code, and then push their contribution to the official project repository. You can work directly from the GitHub website (click on the fork button) : once forked, you will able then to work on your own project copy with those tools.
  • 2-clone the projet : it creates locally on your laptop/desktop a copy of your fork. The Git Tools will help to make that, and then to manage the merge from your local code to your fork repository.
  • 3-pull a request to the official project repository : it's the action to send your code for review to the project. You will do that directly from the GitHub website also, there is a diff feature that compared the official project code to your fork code.

What tool shall i use ?

You'll need a tool to manage the interaction between the official repo, your fork, and your local repo, and so to be able to code contribute. For a start, you can use GitHub official tools

There are other tools available on the web, use google to find the best of them !

Pi Engine GitHub Usages

See https://github.com/pi-engine/pi/blob/master/README-GIT.md

Clone this wiki locally