# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Please, read https://fuchsia.dev/fuchsia-src/contribute/docs/documentation_navigation_toc
# before making changes to this file, and add a member of the fuchsia.dev
# team as reviewer.
toc:
- title: "Overview"
  path: /docs/development/README.md
- heading: "Hardware setup"
- title: "Set up Fuchsia hardware"
  section:
  - include: /docs/development/hardware/_toc.yaml
- heading: "Build and run"
- title: "Build"
  section:
  - include: /docs/development/build/_toc.yaml
- title: "Run"
  section:
  - include: /docs/development/run/_toc.yaml
- heading: "Write code"
- title: "Configure editors"
  section:
  - include: /docs/development/editors/_toc.yaml
- title: "ffx"
  section:
  - include: /docs/development/tools/ffx/_toc.yaml
- title: "FIDL"
  section:
  - include: /docs/development/languages/fidl/_toc.yaml
- title: "Modify the kernel"
  section:
  - include: /docs/development/kernel/_toc.yaml
- title: "Write a driver"
  section:
  - include: /docs/development/drivers/_toc.yaml
- title: "Develop components"
  section:
  - include: /docs/development/components/_toc.yaml
- title: "Develop using the IDK"
  section:
  - include: /docs/development/idk/_toc.yaml
- title: "Languages"
  section:
  - include: /docs/development/languages/_toc.yaml
- title: "Internationalization"
  section:
  - include: /docs/development/internationalization/_toc.yaml
- heading: "Test and debug"
- title: "Test"
  section:
  - include: /docs/development/testing/_toc.yaml
- title: "Diagnose"
  section:
  - include: /docs/development/diagnostics/_toc.yaml
- title: "Benchmark"
  section:
  - include: /docs/development/benchmarking/_toc.yaml
- title: "Debug"
  section:
  - include: /docs/development/debugging/_toc.yaml
- title: "Monitor"
  section:
  - include: /docs/development/monitor/_toc.yaml
- title: "Trace"
  section:
  - include: /docs/development/tracing/_toc.yaml
- heading: "Publish and deploy"
- title: "Publish prebuilt packages"
  section:
  - include: /docs/development/prebuilt_packages/_toc.yaml
- heading: "Contribute code"
- title: "Contribute source code"
  section:
  - include: /docs/development/source_code/_toc.yaml
- heading: "Troubleshooting"
- title: "Error Codes"
  section:
  - include: /docs/development/error_codes/_toc.yaml
