Skip to content
Snippets Groups Projects
index.md 2.82 KiB
Newer Older
  • Learn to ignore specific revisions
  • CiviCRM Developer Guide
    =======================
    
    vangelis's avatar
    vangelis committed
    
    
    [CiviCRM](https://civicrm.org) is an open-source application. The code can be
    poked, prodded, twisted, and hacked. It can be customized, extended, and
    collaboratively developed. This documentation tells you how to do that.
    
    It starts with a high level introduction to get you familiar
    
    with CiviCRM development. It covers setting up your developer environment,
    ensuring that you really need to start coding (i.e. you can't achieve what you
    want thought configuration or installing an already existing extension), best
    practice ways to extend CiviCRM (aka how to write an extensions), things you
    should know before you start hacking on core, and best practice for testing.
    
    vangelis's avatar
    vangelis committed
    
    
    The guide also includes detailed references for tools and subsystems
    
    of CiviCRM. These cover topics like the API and hook system and are intended
    for use by people that are familiar with CiviCRM development.
    
    skessler's avatar
    skessler committed
    
    
    Editing & reading offline
    -------------------------
    
    -   This documentation is made with mkdocs and
        [stored in GitHub](https://github.com/civicrm/civicrm-dev-docs)
    -   See the "[Writing Documentation](documentation.md)" section in this guide
        for specific details on editing this documentation (and others using
        mkdocs). You can also learn how to read these docs off-line!
    
    Migration of content is in progress
    -----------------------------------
    
    As of early 2017 we are actively working to migrate content from the [wiki] to
    this guide. Read more about this [migration process][migration], including how
    to help out!
    
    [wiki]: http://wiki.civicrm.org/confluence/display/CRMDOC/Develop
    [migration]: https://wiki.civicrm.org/confluence/display/CRMDOC/Content+migration+from+wiki+to+Developer+Guide
    
    vangelis's avatar
    vangelis committed
    
    
    Other sources of information
    ------------------------------
    
    vangelis's avatar
    vangelis committed
    
    
    As an open-source project, CiviCRM is managed by an international community of
    developers and activists. Help from these people can be found in the following
    ways:
    
    -   Our [chat rooms](https://chat.civicrm.org/) and
        [mailing lists](http://lists.civicrm.org/lists/info/civicrm-dev) are great
        places to say hello and discuss CiviCRM issues with others.
    
    -   If you need help, your best bet is probably our
        [stack exchange Q+A site](http://civicrm.stackexchange.com/).
    
    -   If you've identified a problem, you can file issues on our
        [issue](http://issues.civicrm.org/) on our issue tracker or fix the issue
        and submit a pull request on
        [Github](https://github.com/civicrm/civicrm-core/).
    
    -   If you've written an extension, please share it in our
        [extensions directory](https://civicrm.org).
    
    -   Use the [wiki](http://wiki.civicrm.org/confluence/display/CRM/CiviCRM+Wiki)
        to share drafts, notes, and specs.
    
    -   And don't forget you are always welcome to come to a
        [real world event](https://civicrm.org/events) like a conference meet-up
        or sprint.