Gall is one of the nine vanes (kernel modules) of Arvo, Urbit's operating system. Gall's purpose is to manage userspace applications called agents. Agents are the main kind of userspace application on Urbit. They have a persistent state and API that handles events and produces effects.Gall agents can variously be treated as databases with developer-defined logic, services, daemons, or a kind of state machine.

One or more Gall agents can be put together in a "desk" in Clay (the filesystem vane) and, along with a front-end, can be published and distributed as a cohesive app for users to install.

This section of the docs contains guides related to writing apps and distributing them. It also contains a number of different examples and exercises you can work through to learn how to build different kinds of apps.

Additionally, the courses section of the docs contain two in-depth app-building tutorials, which are the recommended place to start learning Urbit app development: