# How to Contribute to Natron Here's a quick guide to get new developers initiated with contributing to Natron. If you'd like to submit a change to make Natron better, here's how! * If you've never heard of `git` and never used a terminal, see the [beginners tutorial](#contributing-for-beginners) * If you have heard of `git` and used it a few times, but you're not super familiar with it, see the [intermediate tutorial](#contributing-for-intermediate-users) * If you are a developer with some experience working with open-source codebases, see the [basic developer tutorial](#contributing-for-new-developers) * If you're a seasoned developer, see the [advanced tutorial](#contributing-for-advanced-developers) ## Contributing for Beginners *Info: Add stuff to here, reference: <http://brunoruviaro.github.io/ardour4-tutorial/how-to-contribute-0/>* Welcome to the beginner's edition of the Natron contribution guide! Here, you'll learn: - What open-source is and how Natron is built around it - What an *issue*, *pull request*, and *commit* is - Some basic open-source contributing ettiquette Reference stuff to add: http://rogerdudler.github.io/git-guide/ ## Contributing for Intermediate Users ### TL;DR The workflow used is the fork-branch-pr workflow, based on these steps: - Fork the Natron repo - Clone your fork - Make a new branch to make changes - Commmit changes in your branch - Create a pull request - Delete your merged branch - Merge upstream changes into your fork If you don't really understand what this means, no problem! Detailed steps are explained in the rest of this guide. ### Step 0: Installing and getting to know git Some git terminology: * Commit * Fork * Repository ### Step 1: Forking a copy of Natron to your computer #### Forking the Natron repository Natron is developed at a central repository at <https://github.com/NatronGitHub/Natron> - let's call this the "official repository". However, Natron's contributors work on Natron in copies, or *forks*, of the official repository. So, that's the first thing to do - make a copy of the official repository to your computer. To do that, press the **fork** button on the repository page: ![Fork button on Natron github website](https://github-images.s3.amazonaws.com/help/bootcamp/Bootcamp-Fork.png) Watch the GitHub magic happen, and you'll be led to a shiny new repository at `<yourusername>/Natron`. Let's just say your username is `awesome-unicorns` - you'll be able to find your fork at `https://github.com/awesome-unicorns/Natron.git`. #### Cloning your fork Alright, so you have your fork, but you can't make changes yet - it's not on your computer. To download the repository to your computer, use the `git clone` command. Open your terminal and run: ```bash git clone https://github.com/<yourusername>/Natron && cd Natron ``` Again, if your username is `awesome-unicorns`, then the command would be: ```bash git clone https://github.com/awesome-unicorns/Natron && cd Natron ``` This command copies the Natron repository to your machine as a folder called `Natron` and enters the `Natron` folder for you. You're now free to make your changes! #### Making and pushing changes Let's say you've made some changes - maybe you added a sentence in the file `README.md`. ## Contributing for new developers ## Contributing for experienced developers