This repository serves as a template for setting up C++ and Rust projects using Bazel.
It provides a standardized project structure, ensuring best practices for:
- Build configuration with Bazel.
- Testing (unit and integration tests).
- Documentation setup.
- CI/CD workflows.
- Development environment configuration.
The template includes a basic "Hello World" example for both C++ and Rust, making it buildable out of the box.
| File/Folder | Description |
|---|---|
README.md |
Short description & build instructions |
src/ |
Source files for the module |
tests/ |
Unit tests (UT) and integration tests (IT) |
docs/ |
Documentation (Doxygen for C++ / mdBook for Rust) |
.github/workflows/ |
CI/CD pipelines |
.vscode/ |
Recommended VS Code settings |
.bazelrc, MODULE.bazel, BUILD |
Bazel configuration & settings |
LICENSE.md |
Licensing information |
CONTRIBUTION.md |
Contribution guidelines |
git clone https://github.com/YOUR_ORG/YOUR_PROJECT.git
cd YOUR_PROJECTbazel build //...bazel build //rust/...bazel run //src:mainbazel run //rust:mainbazel test //tests/...The template integrates tools and linters from centralized repositories to ensure consistency across projects.
- C++:
clang-tidy,cppcheck,Google Test - Rust:
clippy,rustfmt,Rust Unit Tests - CI/CD: GitHub Actions for automated builds and tests
- A centralized docs structure is planned.