# pangrango-cli

> Provides 'pgo', the Pangrango CLI for building IoT devices.

Latest version **1.0.2** (published 2018-08-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install pangrango-cli
pnpm add pangrango-cli
yarn add pangrango-cli
bun add pangrango-cli
```

Provides the command `pgo`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2018-08-03 |
| First published | 2018-03-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 14 |
| Unpacked size | 60.9 KB |
| Known vulnerabilities | 0 (+8 in 1 direct dependencies) |
| Install scripts | no |
| Author | Tom Lawton |
| Maintainers | conduitinnovation |

## Links

- npm: https://www.npmjs.com/package/pangrango-cli
- npm.io page: https://npm.io/package/pangrango-cli

## Dependencies (14)

- [dot](https://npm.io/package/dot.md) ^1.1.2
- [clui](https://npm.io/package/clui.md) ^0.3.6
- [glob](https://npm.io/package/glob.md) ^7.1.2
- [klaw](https://npm.io/package/klaw.md) ^2.1.1
- [yargs](https://npm.io/package/yargs.md) ^11.0.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.5
- [rimraf](https://npm.io/package/rimraf.md) ^2.6.2
- [winston](https://npm.io/package/winston.md) ^2.4.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^5.0.0
- [cli-color](https://npm.io/package/cli-color.md) ^1.2.0
- [serialport](https://npm.io/package/serialport.md) ^6.0.5
- [simple-git](https://npm.io/package/simple-git.md) ^1.91.0
- [node-c-parser](https://npm.io/package/node-c-parser.md) ^1.0.11
- [node-fs-extra](https://npm.io/package/node-fs-extra.md) ^0.8.2

## Recent versions

- 1.0.2 (latest) — 2018-08-03
- 1.0.1 — 2018-07-24
- 1.0.0 — 2018-07-23
- 0.0.1 — 2018-03-02

## README

# Pangrango CLI - `pgo`

`pgo` is a command line interface which enables easy access to compiling and flashing a Pangrango project. It wraps the makefile and JS build pipelines, and provides a hookable system for custom drivers.

The `pgo` pipeline is broken down into 4 distinct stages. 

1. **Validate** - Check the validity of the driver and `pangrango.json` manifests.
2. **Prepare (app / kernel)** - Pre-process the kernel, application and drivers. 
3. **Build (app / kernel)** - Build the kernel executable, and create the SPIFFS image which stores the app.
4. **Flash (app / kernel)** - Upload the kernel and app to the device.

`pgo` will output a brief help overview when executed without any parameters. The commands are described in more detail below:

## pgo init

`pgo init [name] [path]`

Initialises a new Pangrango project with GIT called `name` into `path`. This tracks the master branch.

## pgo make

`pgo make {all/app/kernel/clean}`

Runs the build pipeline for both the kernel and application. `pgo make app` will build the app, `pgo make kernel` builds the kernel, and `pgo make all` does both.

If you need to, clean the build with `pgo make clean`.

## pgo flash

`pgo make {all/app/kernel/list/use}`

Flash either the app, kernel or both with `pgo flash app`, `pgo flash kernel` or `pgo flash all`.

You can set the serial port for the programmer with `pgo flash use <serial port>`, and view available ports with `pgo flash list`.

## pgo driver

`pgo make {enable/disable/list}`

Enable drivers with `pgo driver enable <driver name>`, and disable with `pgo driver disable <driver name>`.

You can view all available drivers with `pgo driver list`.

---
_Source: https://npm.io/package/pangrango-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
