diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md
index 84860ec..bdce049 100644
--- a/docs/SUMMARY.md
+++ b/docs/SUMMARY.md
@@ -10,6 +10,7 @@
     * [XOS Modeling Framework](dev/xproto.md)
         * [XOS Tool Chain (Internals)](dev/xosgenx.md)
     * [XOS Synchronizer Framework](dev/synchronizers.md)
+        * [Synchronizer Development Environment](dev/sync_environment.md)
         * [Synchronizer Design](dev/sync_arch.md)
         * [Synchronizer Implementation](dev/sync_impl.md)
         * [Synchronizer Reference](dev/sync_reference.md)
diff --git a/docs/dev/sync_environment.md b/docs/dev/sync_environment.md
new file mode 100644
index 0000000..f605765
--- /dev/null
+++ b/docs/dev/sync_environment.md
@@ -0,0 +1,53 @@
+# Synchronizer Development Environment
+
+This page documents the Makefile and build environment for synchronizers.
+
+## Setting up a synchronizer development environment
+
+The synchronizer Makefile requires the following packages be installed:
+
+* `Python`, preferably version 2.7 as well as a 3.x version
+* `tox`, a framework for running unit tests. This should be installed using `pip`, as older versions obtainable via `apt` may be incompatible.
+* `build-essentials` and `python-dev`, necessary to be able to setup the appropriate python virtual environments
+
+When starting work on a new synchronizer, we recommend using the Makefile from and existing synchronizer (olt-service is a good working example) as a starting point rather than writing a Makefile from scratch.
+
+## Targets available in the synchronizer Makefile
+
+While each developer is free to create a custom Makefile, it is suggested for ease of integration that the following targets are available:
+
+### make docker-build
+
+Builds a docker container for the synchronizer. The environment variables `DOCKER_REGISTRY`. `DOCKER_REPOSITORY`, and `DOCKER_TAG` may be used to configure the name of the docker image that will be build. For example, the following command will build the image `myname/mysynchronizer:test`.
+
+```bash
+DOCKER_REPOSITORY=myname/mysynchronizer DOCKER_TAG=test make docker build
+```
+
+### make docker-push
+
+This target will push a docker image that was built using `make docker-build` to dockerhub or another docker registry.
+
+### make test
+
+This target runs all tests on the repository that are appropriate for acceptance testing. Typically it invokes other Makefile targets such as `make test-unit`, `make test-migration`, and `make test-xproto`.
+
+### make test-unit
+
+This target runs `tox` to execute unit tests and generate a coverage report.
+
+### make test-migration
+
+This target checks that xproto migrations are up-to-date.
+
+### make test-xproto
+
+This target runs a linting check of the xproto files to ensure that the xproto is syntactically correct and that it obeys several semantic rules.
+
+### make create-migration
+
+This target will create or update the database migration scripts from the service's current xproto.
+
+### make clean
+
+This target removes all build artifacts, including the contents of virtual environments that are built, as well as unit testing coverage reports and results.
\ No newline at end of file
