IMP logo
IMP Manual  for IMP version 2.16.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)).