---
description: >-
  The Skeleton Package is a template to get started with ProcessMaker Platform
  Packages
---

# The Package Skeleton

## Overview <a href="#getting-started" id="getting-started"></a>

The skeleton package provides the necessary base to start developing a package for ProcessMaker Platform. Because ProcessMaker is built with [Laravel](https://laravel.com/), this is essentially a skeleton package for Laravel, with some modifications to ease development within the ProcessMaker Platform.

## Step 1: Getting Started <a href="#clone-the-repo" id="clone-the-repo"></a>

### Clone the repo

```
git clone https://github.com/Processmaker/package-skeleton.git
```

### Set Package Name

Change the package name (default is package skeleton) throughout the package to whatever name you would like:

```
cd package-skeleton
```

```
php rename-project.php string_to_replace
```

## Step 2: Install Composer <a href="#clone-the-repo" id="clone-the-repo"></a>

### Composer

Make sure composer and any dependencies are installed correctly:

```
composer update && composer install
```

### Node Modules

```
npm install && npm run dev
```

### Installation <a href="#installation" id="installation"></a>

In order to install your package in ProcessMaker, here are the step-by-step instructions.

{% hint style="info" %}
Don't forget to replace the name you changes above when executing the commands below. They use the default name of `package-skeleton` but should be replaced with what you changed the name to.
{% endhint %}

#### Require the Package

Require the package with Composer and thereby adding it to the composer.json file as a dependency of the application:

```
composer require processmaker/package-skeleton --ignore-platform-reqs
```

#### Run the installation command

```
php artisan package-skeleton:install
```

{% hint style="info" %}
The installation code is located within Laravels artisan console commands. You can find additional details about it here: [Artisan Docs](https://laravel.com/docs/10.x/artisan)
{% endhint %}

## Step 3: Navigation and testing <a href="#navigation-and-testing" id="navigation-and-testing"></a>

*   Navigate to the admin menu in your ProcessMaker Platform instance.&#x20;

    <figure><img src="https://1243566085-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPyTHGwZ0VereJkRNmGxE%2Fuploads%2FCFaUegGYzbj2xa6q3RkN%2Fimage.png?alt=media&#x26;token=9f0bcb19-9ae2-44fd-85fd-2ee7ed4b4a7c" alt=""><figcaption></figcaption></figure>
* You should see your new menu item "Package Skeleton" or whatever you named your package, in the left sidebar.

### Uninstall <a href="#uninstall" id="uninstall"></a>

{% hint style="info" %}
Note: it is up to the developer to add any necessary code or proceedures to the install and uninstall commands. These can include adding and removing tables in the database, setting or removing api keys etc
{% endhint %}

* Use `php artisan package-skeleton:uninstall` to uninstall the package.
* Use `composer remove processmaker/package-skeleton` to remove the package completely.

​
