How to Contribute to Particle's Open Source Repositories

Particle is an open-source platform. You might find something you'd like changed, a feature you'd like implemented, or a bug you see a fix for. If so, you can create a pull request or an issue on one of our open-source GitHub repos. Here's a quick run-down of some repos you might want to know about, as well as some information on how to contribute.

Open-Source Repos

Go to http://github.com/particle-iot to see all the available repositories. There are quite a few! Here's a guide to the most popular repos.

Style guides

Before you contribute to the code base, check out the style-guides repo. This will give you an idea of how we format our code. If you have additional suggestions on good code practices, please make a pull request.

Firmware

The firmware repo contains the Device OS code that runs on the Core and Photon.

See the local build tools FAQ for steps to build the firmware on your machine.

CLI

The particle-cli repo contains the code used to run the Command Line Interface.

Particle API JS

The particle-api-js repo contains the code used to run Particle API JS, the official Particle JavaScript wrapper.

Mobile

There are several mobile repos, for both iOS and Android.

Particle Dev

The particle-dev repo contains the code used to run Particle Dev, our professional, open source, hackable IDE, designed for use with Particle devices.

Documentation

The docs repo contains Particle's open source documentation. If you want something to be added or changed, just make a pull request.

Official Libraries

Particle maintains several open source libraries to be used with official Particle shields. They include:

Local Cloud

The spark-server repo is an API compatible open source server for interacting with devices speaking the spark-protocol. If you are interested in the local cloud, this repo is for you.

Hardware Design

We share some hardware design files for each of our dev boards. These open source repos are designed mostly to give you a sense of what we are working on, but you are welcome to make contributions here as well if you have interest and expertise.

Current hardware design repos include:

Using GitHub

If you're new to GitHub expert, go here to get a sense of GitHub flow. We also suggest the GitHub for Desktop application, which has a great built-in tutorial on forking, editing, merging, and creating a pull request.

If you prefer the command line, here's an extra fast tutorial on how to get started. Just make sure you fork a repo to your GitHub account before cloning your fork to edit on your local machine.

If you have your own favorite tutorials on how to git, make a pull request on this documentation to add them!

Also, check out and join our community forums for advanced help, tutorials, and troubleshooting.