1 Developer setup {#devsetup}
4 The %IMP source code and documentation is stored
6 to %IMP, such as fixing typos in
7 [
this documentation](https:
8 you may be able to use GitHub
's web interface. However, for most developer
9 tasks, you will need to [work with git](@ref faq_git) and make a copy of the
10 %IMP code on your own machine. This follows a procedure very similar to that
11 used to [build IMP from source](@ref installation_download).
13 1. Make a copy (fork) of the [IMP repository](https://github.com/salilab/imp).
14 There is an [excellent help page at GitHub](https://help.github.com/articles/fork-a-repo/)
15 that explains this in detail.
17 2. Build %IMP [as previously described](@ref installation_download) - the only
18 difference is you will want to clone your fork, not the main %IMP
19 repository. You will almost always want to use the `develop` branch, as that
20 is where all new %IMP development occurs.
22 3. Make your changes to %IMP (described in more detail below).
24 4. When you are finished with your changes,
25 [open a pull request](https://help.github.com/articles/using-pull-requests/)
26 to get it incorporated into the main %IMP repository.
28 \note There are other ways of working with %IMP. For %example, if you are
29 working in the Sali lab, in most cases you can work directly on the
30 main %IMP repository rather than making a fork (speak to an existing
31 developer to make sure.) You may also choose to develop a single %IMP
32 module in isolation from %IMP itself, in its own repository (as is
33 done for [IMP::pmi](https://github.com/salilab/pmi)).