https://github.com/bazelment/hajime
Hajime (はじめ - "beginning" in Japanese) is a polyglot monorepo starter template that demonstrates modern multi-language development using Bazel.
https://github.com/bazelment/hajime
Last synced: 3 months ago
JSON representation
Hajime (はじめ - "beginning" in Japanese) is a polyglot monorepo starter template that demonstrates modern multi-language development using Bazel.
- Host: GitHub
- URL: https://github.com/bazelment/hajime
- Owner: bazelment
- License: apache-2.0
- Created: 2025-11-12T22:40:16.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-12-13T01:30:40.000Z (6 months ago)
- Last Synced: 2025-12-14T16:20:13.600Z (6 months ago)
- Language: Starlark
- Size: 34.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hajime
## Purpose
**Hajime** (はじめ - "beginning" in Japanese) is a polyglot monorepo starter template that demonstrates modern multi-language development using Bazel. It provides working examples of:
- **Multi-language build system**: Build Go and Rust applications in the same repository with consistent tooling
- **gRPC microservices**: Complete client/server implementations in both Go and Rust, showcasing language interoperability
- **Protocol Buffers**: Automated protobuf code generation for both languages from shared schema definitions
- **Modern Bazel**: Uses MODULE.bazel (bzlmod) for dependency management, replacing the legacy WORKSPACE approach
## What's Included
- **grpc_example/**: Working gRPC service implementations
- Go client and server
- Rust client and server
- Shared protobuf definitions with automatic code generation
- **Bazel configuration**: Pre-configured rules for Go (`rules_go`), Rust (`rules_rust`), and protobuf code generation
## Use Cases
- Starting a polyglot microservices project
- Learning how to structure multi-language Bazel workspaces
- Understanding gRPC service implementations across different languages
- Evaluating Bazel for multi-language projects