Simple Node commandline application for working with your Particle devices and using the Particle Cloud
 !GitHub Actions 
Particle's full-stack Internet of Things (IoT) device platform
gives you everything you need to securely and reliably connect
your IoT devices to the web. For more details please visit www.particle.io.
The Particle CLI is a powerful tool for interacting with your IoT devices and the Particle Cloud. The CLI uses node.js and can run on Windows, Mac OS X, and Linux. It's also open source so you can edit and change it, and even send in your changes as pull requests if you want to share!
- Installing
- Getting Started
- particle setup
- particle help
- Updating Firmware
- Photon/P1/Electron
- particle update
- Command Reference
- Known Issues
- Development
- Installing
- Running
- Testing
- Releasing a new version
For end-users, the most up-to-date installation instructions can be found here: macOS / Linux | Windows
Note: Some commands may require openssl to be installed on your system.
You can install it using your package manager (e.g. brew install openssl on macOS).
Please use the staging versions only for testing purposes.
In case you're running macOS or Linux, you can install a staging version of the CLI by running the following command:
``bash`
MANIFEST_HOST=binaries.staging.particle.io bash <(curl -sL https://particle.io/install-cli)
For Windows,
you can install a staging version of the CLI
by downloading the installer from here.
In case you have already installed the CLI, you can update it to the staging version by running the following command:
`bash`
export PARTICLE_MANIFEST_HOST=binaries.staging.particle.io
particle update-cli --version {STAGING_VERSION_TO_TEST}`
Don't forget to turn off the updates to prevent issues while you're testing the staging version:bash`
particle update-cli --disable-updates
Once you're done testing the staging version, you can revert to the production version by running the following command:
`bash`
export PARTICLE_MANIFEST_HOST=binaries.particle.io
particle update-cli --enable-updates
particle update-cli --version {PRODUCTION_VERSION}
These next two commands are all you need to get started setting up an account, claiming a device, and discovering new features.
Guides you through creating a new account, and claiming your device!
`sh`
$ particle setup
Shows you what commands are available, and how to use them. You can also give the name of a command for detailed help.
`sh`
$ particle help
$ particle help keys
If you wish to easily update Device OS on your device to a later version, you can use the particle update command.--target
You can specify a version with the argument.
1. Connect your device via USB
1. Run particle update.
For the full list of commands, please see the CLI command reference.
_Currently development is supported on macOS only!_
1. Install Node.js [node@16.x and npm@8.x are required]$ git clone git@github.com:particle-iot/particle-cli.git && cd ./particle-cli
1. Clone this repository openssl
1. Install external tools: (e.g. brew install openssl)$ npm install
1. Install dependencies $ npm run
1. View available commands $ npm test
1. Run the tests $ npm start
1. Run the CLI
1. Start Hacking!
When developing, run individual commands using:
$ npm start -- - e.g. $ npm start -- library view dotstar --readme
Anything after the -- delimiter is passed directly to the CLI (docs).
To test the source as it will be published:
1. Register the particle command globally: $ npm link$ particle --help
2. Run commands: (using standard argument formatting)
The Particle CLI has a number of automated test suites and related commands. The most important are:
* npm test - run all tests (NOTE: End-To-End tests require additional setup)npm run lint
* - run the linter and print any errors to your terminalnpm run test:ci
* - run all tests excluding device-dependent end-to-end test as CI doesnpm run test:unit
* - run unit testsnpm run test:integration
* - run integration testsnpm run coverage
* - report code coverage stats
All tests use mocha, chai, and sinon with coverage handled by nyc.
We recommend running locally if you can as it greatly shortens your feedback loop.
However, CI also runs against every PR and error reporting
is publicly available.
(This is an NSIS installer for Windows).
You can see the installer script here ParticleCLISetup.nsi
* Unix installer: install-cli` (This is a shell script that installs the CLI on Unix systems).See RELEASE.md.