bazel repo: Starting a monorepo

I love monorepos and it was not the case prevously but I do think that monorepos shine in scenarios where:

  • The code is tightly coupled together.
  • One needs to ensure that resources on dev-tooling are efficiently spent.
  • Migrations can be completed atomically.

Bazel is a really good build system, which allows reproducible and reasonably fast builds and the build system is configured with starlark, which can be used to write custom build rules, which allow to do linting or ensure consistency in packaging, etc.