[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI](https://img.shields.io/pypi/v/inventree-plugin-creator)](https://pypi.org/project/inventree-plugin-creator/)

# InvenTree Plugin Creator

Command line tool for scaffolding a new InvenTree plugin.

## Description

This is a command line tool which allows for rapid scaffolding of a new InvenTree plugin.

It uses the [cookiecutter project](https://cookiecutter.readthedocs.io/en/stable/) to generate a new project, based on a custom project template.

## InvenTree Version

The plugin creator tool is designed to target InvenTree version `1.0.0` (or newer). The code generated by this tool is not guaranteed to work for older versions of the InvenTree software. 

## Installation

To install the plugin creator, run:

```bash
pip install -U inventree-plugin-creator
```

## Usage

As a starting point, refer to the [plugin creator documentation](https://docs.inventree.org/en/latest/plugins/creator/)

To create a new plugin, run:

```bash
create-inventree-plugin
```

This will prompt you for required information about the plugin you wish to create.

To view the available options, run:

```bash
create-inventree-plugin --help
```

## Frontend Features

If you are developing a plugin which provides frontend (UI) features, after creating the initial plugin, run the following commands to install and build the initial version of the frontend code:

```bash
cd <myplugin>/frontend
npm install
npm run build
```

This will compile frontend code into the `<myplugin>/static` directory - ready to be packaged and distributed with the python plugin code.

*Note: You must run `npm run build` each time before building and distributing the plugin.*

