# 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: "API development"
  path: /docs/concepts/api
- title: "CLI tool help requirements"
  path: /docs/concepts/api/cli_help.md
- title: "Command-line tools rubric"
  path: /docs/concepts/api/cli.md
- title: "C library readability rubric"
  path: /docs/concepts/api/c.md
- title: "Dart API readability rubric"
  path: /docs/concepts/api/dart.md
- title: "Fuchsia device interface rubric"
  path: /docs/concepts/api/device_interfaces.md
- title: "API documentation readability rubric"
  path: /docs/concepts/api/documentation.md
- title: "FIDL API readability rubric"
  path: /docs/concepts/api/fidl.md
- title: "Zircon system interface rubric"
  path: /docs/concepts/api/system.md
- title: "Developer tool guidelines"
  path: /docs/concepts/api/tools.md
- title: "Go rubric"
  path: /docs/concepts/api/go.md
