Nonprofit Success Pack

code contributor's guide

Fork me on GitHub


How to Contribute Code to the Nonprofit Success Pack

The Nonprofit Success Pack (NPSP) is an application that integrates directly with Salesforce to help nonprofits and higher ed institutions use Salesforce more effectively. The NPSP is an open-source project that thrives on the generosity of its developer community. Along with the information in these documents, please read Contributing to the Nonprofit Success Pack.

This document outlines everything you need to know to start contributing code to the NPSP. We’ll show you how to set up your development environment, how to develop in the NPSP code base, and how to submit changes to Salesforce.org for review. We’re assuming you’re using a unix environment, such as Linux or OS X. If you’re a Windows user, you may need to set up a unix command line such as the new Windows Subsystem for Linux, aka Bash on Ubuntu on Windows (Windows 10 only), or Cygwin. It is possible to use Git and CumulusCI from a Windows command line, but the specifics of doing so are beyond the scope of this documentation.

Git and Initial Setup

  1. Set up git and github
    • Create a github account
    • Fork the NPSP repository
    • Set up SSH access to github (optional, but recommended)
    • Copy your forked repository to your local machine
      • git clone git@github.com:[YourUserName]/Cumulus.git (ssh) or
      • git clone https://github.com/[YourUserName]/Cumulus.git (https)
  2. Set up Salesforce Developer Edition and CumulusCI
  3. Set up an IDE
  4. Do the work!
  5. Submit the work

Looking for the CumulusCI 1.x (Ant-based) information that used to be here? It’s strongly recommended to switch to CumulusCI 2, but you can find that information here.