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)).