{"id":19328623,"url":"https://github.com/particle-iot/particle-cli","last_synced_at":"2026-02-23T19:11:43.773Z","repository":{"id":31991847,"uuid":"35562367","full_name":"particle-iot/particle-cli","owner":"particle-iot","description":"Command Line Interface for Particle Cloud and devices","archived":false,"fork":false,"pushed_at":"2025-05-12T16:13:45.000Z","size":67554,"stargazers_count":213,"open_issues_count":32,"forks_count":92,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-05-12T17:29:20.411Z","etag":null,"topics":["argon","b5som","boron","bsom","cli","electron","eseries","iot","particle","photon","tracker"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/particle-iot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-05-13T17:05:39.000Z","updated_at":"2025-04-30T18:52:03.000Z","dependencies_parsed_at":"2023-10-05T01:36:59.134Z","dependency_job_id":"7ce3352d-c2e1-4836-bed0-87ae2728beb2","html_url":"https://github.com/particle-iot/particle-cli","commit_stats":{"total_commits":2820,"total_committers":61,"mean_commits":46.22950819672131,"dds":0.847872340425532,"last_synced_commit":"df615d76046fc4b21f4c54f44e24df81cef52f3e"},"previous_names":[],"tags_count":303,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/particle-iot%2Fparticle-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/particle-iot%2Fparticle-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/particle-iot%2Fparticle-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/particle-iot%2Fparticle-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/particle-iot","download_url":"https://codeload.github.com/particle-iot/particle-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253789070,"owners_count":21964602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argon","b5som","boron","bsom","cli","electron","eseries","iot","particle","photon","tracker"],"created_at":"2024-11-10T02:23:12.902Z","updated_at":"2026-02-23T19:11:38.746Z","avatar_url":"https://github.com/particle-iot.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm](https://img.shields.io/npm/v/particle-cli.svg?style=flat-square)](https://www.npmjs.com/package/particle-cli) ![GitHub Actions](https://github.com/particle-iot/particle-cli/actions/workflows/dev.yml/badge.svg?branch=master) [![License](https://img.shields.io/badge/license-Apache_2.0-blue.svg?style=flat-square)](https://github.com/particle-iot/particle-cli/blob/master/LICENSE)\n\nParticle's full-stack Internet of Things (IoT) device platform\ngives you everything you need to securely and reliably connect\nyour IoT devices to the web. For more details please visit [www.particle.io](http:/www.particle.io).\n\n\n# Particle CLI\n\nThe Particle CLI is a powerful tool for interacting with your IoT devices and the Particle Cloud.  The CLI uses [node.js](http://nodejs.org/) and can run on Windows, Mac OS X, and Linux.  It's also [open source](https://github.com/particle-iot/particle-cli) so you can edit and change it, and even send in your changes as [pull requests](https://help.github.com/articles/using-pull-requests) if you want to share!\n\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n## Table of Contents\n\n  - [Installing](#installing)\n  - [Getting Started](#getting-started)\n    - [particle setup](#particle-setup)\n    - [particle help](#particle-help)\n  - [Updating Firmware](#updating-firmware)\n    - [Photon/P1/Electron](#photonp1electron)\n      - [particle update](#particle-update)\n  - [Command Reference](#command-reference)\n  - [Known Issues](#known-issues)\n- [Development](#development)\n  - [Installing](#installing-1)\n  - [Running](#running)\n  - [Testing](#testing)\n  - [Releasing a new version](#releasing-a-new-version)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n\n## Installing\n\nFor end-users, the most up-to-date installation instructions can be found here: [macOS / Linux](https://docs.particle.io/tutorials/developer-tools/cli/#using-macos-or-linux) | [Windows](https://docs.particle.io/tutorials/developer-tools/cli/#using-windows)\n\nNote: Some commands may require `openssl` to be installed on your system.\nYou can install it using your package manager (e.g. `brew install openssl` on macOS).\n\n### Installing a staging version\nBefore proceeding with this section,\nremember that the staging version may contain bugs and issues that are not present in the production version.\n\n***Please use the staging versions only for testing purposes.***\n\nIn case you're running macOS or Linux, you can install a staging version of the CLI by running the following command:\n```bash\n  MANIFEST_HOST=binaries.staging.particle.io bash \u003c(curl -sL https://particle.io/install-cli)\n```\n\nFor Windows,\nyou can install a staging version of the CLI\nby downloading the installer from [here](https://binaries.staging.particle.io/particle-cli/installer/win32/ParticleCLISetup.exe).\n\nIn case you have already installed the CLI, you can update it to the staging version by running the following command:\n```bash\n  export PARTICLE_MANIFEST_HOST=binaries.staging.particle.io\n  particle update-cli --version {STAGING_VERSION_TO_TEST}\n```\nDon't forget to turn off the updates to prevent issues while you're testing the staging version:\n```bash\n  particle update-cli --disable-updates\n```\n\nOnce you're done testing the staging version, you can revert to the production version by running the following command:\n```bash\n  export PARTICLE_MANIFEST_HOST=binaries.particle.io\n  particle update-cli --enable-updates\n  particle update-cli --version {PRODUCTION_VERSION}\n```\n\n\n## Getting Started\n\nThese next two commands are all you need to get started setting up an account, claiming a device, and discovering new features.\n\n\n### particle setup\n\nGuides you through creating a new account, and claiming your device!\n\n```sh\n$ particle setup\n```\n\n\n### particle help\n\nShows you what commands are available, and how to use them.  You can also give the name of a command for detailed help.\n\n```sh\n$ particle help\n$ particle help keys\n```\n\n### particle update\n\nIf you wish to easily update Device OS on your device to a later version, you can use the `particle update` command.\nYou can specify a version with the `--target` argument.\n\n1. Connect your device via USB\n1. Run `particle update`.\n\n\n## Command Reference\n\nFor the full list of commands, please see the [CLI command reference](https://docs.particle.io/reference/cli/).\n\n\n## Known Issues\n* The Wireless Photon Setup Wizard will only automatically switch networks on OS X. Users of other operating systems will need to manually connect their computer to the Photon's Wi-Fi. You will be prompted during the wizard when this is required.\n\n\n# Development\n\n_Currently development is supported on macOS only!_\n\n\n## Installing\n\n1. Install Node.js [`node@16.x` and `npm@8.x` are required]\n1. Clone this repository `$ git clone git@github.com:particle-iot/particle-cli.git \u0026\u0026 cd ./particle-cli`\n1. Install external tools: `openssl` (e.g. `brew install openssl`)\n1. Install dependencies `$ npm install`\n1. View available commands `$ npm run`\n1. Run the tests `$ npm test`\n1. Run the CLI `$ npm start`\n1. Start Hacking!\n\n\n## Running\n\n**When developing, run individual commands using:**\n\n`$ npm start -- \u003ccommand\u003e \u003coptions\u003e` - e.g. `$ npm start -- library view dotstar --readme`\n\nAnything after the `--` delimiter is passed directly to the CLI ([docs](https://docs.npmjs.com/cli/run-script)).\n\n\n**To test the source as it will be published:**\n\n1. Register the `particle` command globally: `$ npm link`\n2. Run commands: `$ particle --help` (using standard argument formatting)\n\n\n## Testing\n\nThe Particle CLI has a number of automated test suites and related commands. The most important are:\n\n* `npm test` - run all tests (NOTE: [End-To-End tests require additional setup](https://github.com/particle-iot/particle-cli/tree/master/test/README.md))\n* `npm run lint` - run the linter and print any errors to your terminal\n* `npm run test:ci` - run all tests excluding device-dependent end-to-end test as CI does\n* `npm run test:unit` - run unit tests\n* `npm run test:integration` - run integration tests\n* `npm run coverage` - report code coverage stats\n\nAll tests use [mocha](https://mochajs.org), [chai](https://www.chaijs.com), and [sinon](https://sinonjs.org/) with coverage handled by [nyc](https://github.com/istanbuljs/nyc).\n\nWe recommend running locally if you can as it greatly shortens your feedback loop.\nHowever, CI also runs against every PR and [error reporting\nis publicly available](https://app.circleci.com/pipelines/github/particle-iot/particle-cli).\n\n## CLI Packaging and Distribution\n* Cli is packaged using [pkg](https://github.com/vercel/pkg).\nThe packaging is done using GitHub Actions\n  and the executables are uploaded to [binaries.particle.io/particle-cli](https://binaries.particle.io/particle-cli/).\n* There are two installers that are created for the CLI:\n  * Windows installer: `particle-cli-setup.exe` (This is an NSIS installer for Windows).\n    You can see the installer script here [ParticleCLISetup.nsi](installer/windows/ParticleCLISetup.nsi)\n  * Unix installer: `install-cli` (This is a shell script that installs the CLI on Unix systems).\n    You can see the installer script here [install-cli.sh](installer/unix/install-cli)\n* The installers are created using GitHub Actions and are uploaded to [binaries.particle.io/particle-cli/installer](https://binaries.particle.io/particle-cli/installer).\n* The current supported platforms for the CLI are:\n  * Windows\n    * x64\n  * macOS\n    * x64\n    * arm64\n  * Linux\n    * x64\n    * arm64\n    * arm\n## Releasing a new version\n\nSee [RELEASE.md](RELEASE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparticle-iot%2Fparticle-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparticle-iot%2Fparticle-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparticle-iot%2Fparticle-cli/lists"}