- Shell 39.9%
- HCL 31%
- Python 10.5%
- Starlark 10.5%
- C++ 8.1%
| .forgejo | ||
| apps/hello | ||
| docs | ||
| infra | ||
| third_party | ||
| tools | ||
| .bazelrc | ||
| .bazelversion | ||
| .clang-format | ||
| .clang-tidy | ||
| .editorconfig | ||
| .gitignore | ||
| AUTHORS | ||
| BUILD.bazel | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| CPPLINT.cfg | ||
| GOVERNANCE.md | ||
| LICENSE | ||
| MODULE.bazel | ||
| MODULE.bazel.lock | ||
| OWNERS | ||
| README.md | ||
| SECURITY.md | ||
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.