Software construction and deployment kit

B0 v0.0.1

WARNING. This package is unstable and work in progress, do not depend on it.

B0 describes software construction and deployments using modular and customizable definitions written in OCaml.

It also provides the B00 build library which provides arbitrary build abstraction with reliable, efficient incremental rebuilds.


For B0 and B00 users.

  • The B0 manual is a conceptual overview of the B0 system and B0 files. It is recommended reading.
  • The B00 manual describes the B00 build library.

For B0 programmers.

  • The B0 driver development manual describes how to make your own drivers to operate on B0 files.
  • The TODO page
  • Old manual fragments and TODO which will eventually disapear.


B00 is the build model used by B0. It can be used for its own good to devise domain specific build system – see for example the brzo or odig tools.

The b0.b00.std and b0.b00.kit libraries also provide sharp tools for quick "scripts" and command line tools even if you are not using b0.b00.

Library b0.b00.std

The b0.b00.std library has a few things that should be in the stdlib and a few others that should not be but are useful for B0 and B00 based programs.

Library b0.b00

The build library.

Library b0.b00.kit

Toolkit for working with B00 and B0. A few things do not depend on the b0.b00 library but are useful to have under your hand.


Dev tools and info

UI fragments

Mostly Cmdliner user interface fragments.

Viewers and editors


B0 is the system for describing software construction and deployments via B0 files.

Library b0

Library b0.kit

Toolkit for B0 files.

Library b0.driver

The driver library provides programmatic access to the definitions of B0 files. Only needed if you want to process B0 files your own own way.