Zenbu is June's private personal monorepo: one place for the libraries, services, websites, applications, tools, and experiments that support the things I want to build.
Most shared systems are written in C or C++, with browser applications and assets alongside them. The repository includes the MrJuneJune website, first-party networking and storage libraries, personal services, Yuu, and a collection of focused experiments.
Developer access
Zenbu is not open source. Viewing source code or cloning and syncing the repository requires an approved developer account.
- Create a Fossil account.
- Email [email protected] with your Fossil user ID to request developer access.
- Wait for approval, then log in to browse the repository.
Creating an account does not grant repository access by itself.
Explore
After approval, sign in before using these links:
- Browse the source
- See recent changes
- Read the versioned repository guide
- Read the agent instructions
- Things I want to do
Clone
Install Fossil, then clone with your approved Fossil user ID. A browser login does not authenticate the command-line client.
FOSSIL_USER=your-fossil-user-id
fossil clone "https://${FOSSIL_USER}@zenbu.babocoder.com" zenbu.fossil
mkdir zenbu
cd zenbu
fossil open ../zenbu.fossil
Set FOSSIL_USER to your Fossil user ID. Fossil prompts for your account
password during the clone; do not put the password in the URL or your shell
history. If cloning is denied, confirm that the account has been approved and
that the user ID is correct.
The zenbu.fossil file is the local repository database. The zenbu/
directory is the editable checkout. The saved remote URL is used for later
authenticated fossil sync, fossil pull, and fossil push operations.
Prerequisites
- Fossil 2.28 or a compatible newer release
- Bazelisk or Bazel with Bzlmod support
- A supported C/C++ host toolchain for native targets
- Linux or macOS for the broadest target support
The repository currently builds with Bazel 9.2.0. Bazel owns normal builds, tests, generated assets, downloaded tools, and application launch workflows. Do not install package dependencies manually unless a package's documentation explicitly calls for it.
Build
Run commands from the checkout root:
bazel build //mrjunejune:mrjunejune_server
bazel test //mrjunejune/test:integration_test
bazel test //:arena_policy_test
Start with the repository guide, then follow the
documentation for the package you are changing. Package BUILD files and tests
remain the final authority.
Documentation
The Fossil wiki is for the visitor-facing homepage, roadmap, and project-level
notes. Technical documentation lives in the versioned wiki/ directories so
it can be reviewed and updated with the code it describes.