.. _source_tree: Source Tree Structure ##################### The Zephyr source tree provides the following top-level directories, each of which may have one or more additional levels of subdirectories which are not described here. :file:`arch` Architecture-specific nanokernel and platform code. Each supported architecture has its own subdirectory, which contains additional subdirectories for the following areas: * architecture-specific nanokernel source files * architecture-specific nanokernel include files for private APIs * platform-specific code :file:`boards` Board related code and configuration files. :file:`doc` Zephyr documentation-related material and tools. :file:`drivers` Device driver code. :file:`include` Include files for all public APIs, except those defined under :file:`lib`. :file:`kernel` Microkernel code, and architecture-independent nanokernel code. :file:`lib` Library code, including the minimal standard C library. :file:`misc` Miscellaneous code. :file:`net` Networking code, including the Bluetooth stack and networking stacks. :file:`samples` Sample applications for the microkernel, nanokernel, Bluetooth stack, and networking stacks. :file:`tests` Test code and benchmarks for the various kernel features. :file:`scripts` Various programs and other files used to build and test Zephyr applications.