# Documentation

## Building and Developing

-   A quick start guide to building a demo application and controller is
    available in the [Getting started](./getting_started/) guide
-   A guide to new cluster and device type development is available in the
    [New Cluster and Device Type Developement Guide](./cluster_and_device_type_dev/)
-   Documentation about building from the command line can be found in
    [the build guide](guides/BUILDING.md)
-   Documentation about running [cirque](https://github.com/openweave/cirque)
    tests can be found in
    [the cirque test guide](../src/test_driver/linux-cirque/README.md)
-   Documentation about standard build & development flows using
    [Visual Studio Code](https://code.visualstudio.com/) can be found in
    [the development guide](./VSCODE_DEVELOPMENT.md)

## Issue triage

Project issues are triaged and maintained according to the
[issue triage](./issue_triage.md) guide.

## Platform Guides

-   Various guides are available [here](./guides/README.md) that cover platform
    bring up, testing, and various troubleshooting things.

## Project Flow

-   Documentation about general project usage of GitHub, and project tools is
    documented in [the project flow](./PROJECT_FLOW.md)

## Style Guide

-   Documentation about style is documented in
    [the style guide](./style/style_guide.md)
-   Additional documentation about more specific files are in the
    [style folder](./style/)

## Third Party Tools

Some tools and utilities are dependent on third party tools, such as Docker.

[Docker](https://www.docker.com) is an excellent way to have stable build
environments that don't pollute the host OS. It is also much easier to maintain
stability across multiple host environments. Install stable version of
[Docker Desktop](https://www.docker.com/products/docker-desktop) relevant to
your native OS (macOS or Windows). Once installed, you can run docker commands
from the shell/terminal.