> For the complete documentation index, see [llms.txt](https://performantlabs.gitbook.io/campaign-kit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://performantlabs.gitbook.io/campaign-kit/developer-documentation/development.md).

# Development

## How to Participate <a href="#how-to-participate" id="how-to-participate"></a>

Development is taking place on Drupal.org.

For fixes please submit a patch in an issue.

For additions, please propose your idea in an issue so that it can be discussed. This ensures that you don't do work that may not be merged into the code.

### Setting up a Local Development Environment

1. Install Drupal 8.x with:\
   `composer create-project drupal-composer/drupal-project:8.x-dev drupal86 --stability dev --no-interaction`
2. Add the following modules to composer.json:\
   "drupal/admin\_toolbar": "^1.0", \
   "drupal/campaign\_kit": "^1.0-alpha3", \
   "drupal/entityqueue": "^1.0", \
   "drupal/pathauto": "^1.0", \
   "drupal/subpathauto": "^1.0", \
   "drupal/payment\_stripe": "^1.0-alpha2",
3. Install the modules and libraries required by the above modules with:\
   `cd drupal86`\
   `composer update`
4. Remove the campaign\_kit just installed to make room for the git repo:\
   `cd modules/contrib`\
   `rmdir -Rf campaign_kit`
5. Clone Campaign Kit with:

   `git clone git@git.drupal.org:project/campaign_kit.git`
6. Switch to the main development branch:\
   `cd campaign_kit`\
   `git checkout -t origin/8.x-1.x`
7. Optionally do the same with Payment Stripe:\
   `cd ..`
8. `rmdir -Rf payment_stripe`\
   `git clone git@git.drupal.org:project/payment_stripe.git`\
   `cd payment_stripe`
9. Enable Campaign Kit and Payment Stripe:\
   `drush en -y campaign_kit payment_stripe`

### Uninstall Campaign Kit

1. If you installed Campaign Kit Demo, remove the sample entities it created then the module:\
   drupal entity:delete team --all

   drupal entity:delete campaign\_donation --all\
   drupal entity:delete campaign --all\
   drupal entity:delete campaign\_update --all\
   drush pmu -y campaign\_kit\_demo
2. Uninstall campaign\_kit:\
   drush pmu -y campaign\_kit

### Debugging

Messages that are helpful for debugging can be turned on at the configuration page (/admin/campaign\_kit/configuration/edit).
