# Set up the development environment
Before starting to develop, you must set up your device. This is what you must
do:

1. [Install Go](https://golang.org/doc/install). On Mac, you can install it
with [Homebrew](https://brew.sh/) by running `brew install go`.
   - This is because the build script uses a Go program to generate the
   manifest.
1. [Install NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/).
1. That's it! If you're using a Mac, you're out of luck, because you must
perform some more steps.

## Mac-specific configuration
On a Mac, you must also follow these steps:

TODO(Issue #18): add macOS steps
