How to contribute to Particle's open source repositories
This page is no longer maintained and is provided for historical reference only
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 https://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.
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.
iOS Repos
spark-setup-ios
: the Particle Device Setup libraryspark-sdk-ios
: the Particle iOS Cloud SDKphoton-tinker-ios
: the official Particle App
Android Repos
spark-setup-android
: the Particle Device Setup libraryspark-sdk-android
: the Particle Android Cloud SDKphoton-tinker-android
: the official Particle App
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:
InternetButton
: the library intended for use with the Internet Button.RelayShield
: the library intended for use with the Photon Relay ShieldPowerShield
: the library intended for use with the Photon Power Shield
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:
electron
photon
core
- Official Libraries such as the
InternetButton
,RelayShield
, andPowerShield
hardware-libraries
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.