# Developing Software with Gerbil

Gerbil is designed to support real world, production-grade Systems
programming.

Naturally, we provide practical tooling to make development
a pleasant experience. The tooling is implemented as dynamically
loadable executable modules, loaded and executed by the [Gerbil
universal binary](bach.md).

Together with the tooling, Gerbil intends to provide a story for all aspects
of software development:
- See [Building](build.md) for more information about the build tool.
- See [Testing](test.md) for tips on how to test your code.
- See [Profiling](profiler.md) for tips on how to profile your programs.
- See [Optimizing](optimizing.md) for tips on how to optimize your programs.
- See [Debugging](debug.md) for tips on how to debug your programs.
- And last but not least, see [Bootstrap](bootstrap.md) for the Chain
  of Trust of your programs.
