This document is a top-level entry point to all of Fuchsia documentation related to developing Fuchsia and software running on Fuchsia.
Developer workflow
This sections describes the workflows and tools for building, running, testing and debugging Fuchsia and programs running on Fuchsia.
- Getting started - This document covers getting the source, building and running Fuchsia.
- Source code
- fx workflows
- Pushing a package
- Working across different petals
- Build system
- Workflow tips and FAQ
- Testing FAQ
Languages
- README - Language usage in Fuchsia
- C/C++
- Dart
- FIDL
- Go
- Rust
- Python
- Flutter modules - how to write a graphical module using Flutter
- New language - how to bring a new language to Fuchsia
API
- README - Developing APIs for Fuchsia
- API Council - Definition of the API council
- System - Rubric for designing the Zircon System Interface
- FIDL API - Rubric for designing FIDL protocols
- FIDL style - FIDL style rubric
- C - Rubric for designing C library interfaces
- Tools - Rubrics for designing developer tools
- Devices - Rubric for designing device interfaces
ABI
- System - Describes scope of the binary-stable Fuchsia System Interface
SDK
- SDK - information about developing the Fuchsia SDK
Hardware
This section covers Fuchsia development hardware targets.
Drivers
This section covers developing drivers on Fuchsia.
Testing
- Debugging workflow
- Fuzz testing with LibFuzzer
- Test components
- Test environments
- Testability rubrics
- Test flake policy
- Testing Isolated Cache Storage
- Host-target interaction tests
- Testing for Flakiness in CQ
Conventions
This section covers Fuchsia-wide conventions and best practices.