The monorepo: every project, tool and piece of infrastructure.
  • Shell 39.9%
  • HCL 31%
  • Python 10.5%
  • Starlark 10.5%
  • C++ 8.1%
Find a file
2026-11-03 23:33:51 -05:00
.forgejo Rename to slyons 2026-11-03 23:33:51 -05:00
apps/hello Rename to slyons 2026-11-03 23:33:51 -05:00
docs Design the platform's security model end to end 2026-11-03 22:05:29 -05:00
infra Rename to slyons 2026-11-03 23:33:51 -05:00
third_party Rename to slyons 2026-11-03 23:33:51 -05:00
tools Rename to slyons 2026-11-03 23:33:51 -05:00
.bazelrc Design the platform's security model end to end 2026-11-03 22:05:29 -05:00
.bazelversion Initial commit 2026-11-03 01:08:55 -05:00
.clang-format Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
.clang-tidy Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
.editorconfig Initial commit 2026-11-03 01:08:55 -05:00
.gitignore Initial commit 2026-11-03 01:08:55 -05:00
AUTHORS Rename to slyons 2026-11-03 23:33:51 -05:00
BUILD.bazel Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
CLAUDE.md Design the platform's security model end to end 2026-11-03 22:05:29 -05:00
CONTRIBUTING.md Design the platform's security model end to end 2026-11-03 22:05:29 -05:00
CPPLINT.cfg Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
GOVERNANCE.md Design the platform's security model end to end 2026-11-03 22:05:29 -05:00
LICENSE Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
MODULE.bazel Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
MODULE.bazel.lock Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
OWNERS Rename to slyons 2026-11-03 23:33:51 -05:00
README.md Stream of things about updating for future sessions 2026-11-03 19:58:58 -05:00
SECURITY.md Rename to slyons 2026-11-03 23:33:51 -05:00

Monorepo

The single repository for an open-source, decentralized project building open alternatives to everyday cloud apps: search, maps, mail, docs and more. Every project, tool and piece of infrastructure lives here, at one version, built by one build system.

Engineering practice follows Software Engineering at Google (Winters, Manshreck and Wright, O'Reilly 2020) (SWE@G), adapted for a volunteer, decentralized community. See docs/ for the details.

Where things happen

Code, issues, code review, CI, container registry https://git.<domain> (Forgejo)
Chat (sign in with your forge account) https://chat.<domain> (Matrix)

Layout

Path What
apps/ Applications. apps/hello is the reference app.
tools/ Developer tooling: OWNERS compiler, linters, platform bootstrap
infra/terraform/ Cloud infrastructure (OpenTofu/Terraform) for Hetzner or AWS
infra/k8s/ Everything running on the cluster, deployed by Flux from main
docs/ How we work: code review, testing, style, design docs, operations
.forgejo/ CI workflows, issue and PR templates, generated CODEOWNERS

Building

The only prerequisite is Bazelisk (the Bazel launcher) installed as bazel. Use the release and checksum that CI pins in .forgejo/actions/setup-bazel/action.yml. Toolchains (clang, Python) are hermetic and downloaded by Bazel.

bazel test //...                                  # everything presubmit runs
bazel run //apps/hello -- --port=8080             # run the hello server
bazel run //tools/lint:cpp_format -- --fix        # format C++
bazel run //tools/owners -- --write               # regenerate CODEOWNERS

License

Apache-2.0; see LICENSE. Copyright holders are listed in AUTHORS.

Contributing

Read CONTRIBUTING.md. How access and administration work is described in GOVERNANCE.md.