IMP logo
IMP Manual  for IMP version 2.5.0
devsetup.md
1 Developer setup {#devsetup}
2 ===============
3 
4 The IMP source code and documentation is stored
5 [at GitHub](https://github.com/salilab/imp). For some basic contributions
6 to IMP, such as fixing typos in
7 [this documentation](https://github.com/salilab/imp/tree/develop/doc/manual),
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).
12 
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.
16 
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.
21 
22  3. Make your changes to IMP (described in more detail below).
23 
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.
27 
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)).