Skip to content
Snippets Groups Projects
index.md 1.36 KiB
Newer Older
  • Learn to ignore specific revisions
  • vangelis's avatar
    vangelis committed
    
    
    dvhirst's avatar
    dvhirst 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.
    
    dvhirst's avatar
    dvhirst committed
    It starts with a high level introduction to get you familiar with CiviCRM development. It covers setting up your development environment, checking whether or not you actually need to implement your own custom code (i.e. you can't achieve what you want through configuration or installing an already existing extension), best practice ways to extend CiviCRM (a.k.a. how to write an extension), things you should know before you start hacking on core, and best practice for testing.
    
    vangelis's avatar
    vangelis committed
    
    
    dvhirst's avatar
    dvhirst 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
    
    
    Sean Madsen's avatar
    Sean Madsen committed
    ## Editing this guide
    
    Sean Madsen's avatar
    Sean Madsen committed
    * This guide is made with MkDocs and stored in a [GitHub repository](https://github.com/civicrm/civicrm-dev-docs).
    * See the "[Writing Documentation](/documentation/index.md)" section in this guide for specific details on editing this guide.
    
    vangelis's avatar
    vangelis committed
    
    
    Sean Madsen's avatar
    Sean Madsen committed
    ## Credits
    
    This guide is collaboratively written by the CiviCRM community, with facilitation from the [Documentation Working Group](https://civicrm.org/working-groups/documentation).