This documentation provides a series of explainers, guides, tutorials and reference material for assisting you in developing on the Urbit platform, or contributing to the Urbit project. If you're looking for documentation on how to use your Urbit ship, see our usage docs.
The Development section is recommended reading for developers interested in contributing to Urbit itself, or building apps on top of Urbit. It serves as a high-level orientation to how to set up a development environment, the various codebases the project comprises, our grants program, and the precepts that drive the development of Urbit.
This section gives a high-level overview to all the major components of the Urbit tech stack - namely, the operating system Arvo, the programming languages Nock and Hoon, the runtime Vere, and the decentralized ID system Azimuth.
This section covers the kernel of Urbit OS, called Arvo, as well as its kernel modules.
Here is contained all official documentation on Hoon, the high-level purely functional programming language in which Arvo and much of userspace is written.
Official guidance on Nock, the functional assembly-level language which serves as the basis for Hoon.
Documentation on Vere, the Nock virtual machine which serves as the interface between Urbit and Unix.
The workings of Azimuth, the decentralized ID system utilized by Urbit.
Developer guides for Gall (the vane for controlling userspace apps), Landscape (the web client by which most users interact with their ship), and Threads (transient apps for IO).