KBVE is a collective that builds programs, libraries, games and memes. This monorepo is where all of it lives: a dozen web apps, a Kubernetes fleet, Rust crates, Unreal and Unity plugins, Godot and Bevy games, and the CI that ships them.
The build graph is grapify + moon. Every project declares its own tasks, and moon works out what a
change affects — you rarely need to know more than moon run <project>:<task>.
Requires Linux, macOS or WSL. Direct Windows is not supported.
Toolchain versions are pinned in .prototools — Node 24, pnpm 11, moon 2.5, Rust 1.98, uv 0.11.
proto installs all of them for you.
git clone https://github.com/KBVE/kbve.git
cd kbve
pnpm install
moon run astro-kbve:dev # kbve.com dev server
moon run astro-herbmail:dev # herbmail.com dev serverUseful workspace tasks:
moon check --all # lint + test everything the graph knows about
moon run root:stats # line counts across the tree
moon query projects # what is in the graphCI runs
moon ci ':lint' ':test'— never a baremoon ci. See.github/workflows/ci.yml.
| Path | What lives there |
|---|---|
apps/ |
Deployable products, grouped by product: web, api, gameserver, e2e |
crates/ |
Rust crates — engine pillars, Bevy plugins, shared libraries |
packages/npm/ |
Published @kbve/* TypeScript packages |
packages/unreal/ |
Unreal Engine plugins (KBVE*) |
packages/unity/ |
Unity packages — kilonet, mmextensions, ssdb |
packages/python/ |
Python packages — kbve, fudster, graphify-wrapper |
packages/proto/ |
Protobuf schemas shared across languages |
apps/kube/ |
ArgoCD app-of-apps — the whole cluster, declaratively |
services/ |
Edge functions and Windmill scripts |
tools/ |
Repo tooling: CI guards, release resolution, commit validation, LFS, deploy |
.moon/ |
Workspace config and shared toolchain task presets |
| App | Site | Stack |
|---|---|---|
| kbve | kbve.com | Astro + Axum + Supabase (kilobase) |
| herbmail | herbmail.com | Astro + Axum, PSX-style R3F game |
| discordsh | discord.sh | Astro + Axum + Discord bot |
| rareicon | rareicon.com | Astro + Unreal + Unity DOTS |
| cryptothrone | cryptothrone.com | Bevy isometric ARPG, WASM + Agones |
| chuckrpg | chuckrpg.com | Unreal MMO + Tauri launcher |
| irc | chat.kbve.com | Astro + Rust gateway over NATS |
| memes | meme.sh | Astro + Axum |
| friendslop | — | Godot + Rust (q engine via gdext) |
| rentearth | — | Unreal + Axum |
| jobboard | — | Rust service + web |
| mc | — | Minecraft server ops, mods, Velocity |
| rows | — | Multi-tenant Rust API |
| agones | — | Agones runtime for the game fleets |
Rareicon Unreal + Unity DOTS |
![]() Rent Earth Unreal + Axum |
![]() Discord.sh Astro + Axum + bot |
Rust — kbve · jedi ·
holy · erust plus the bevy_* plugin family,
q, simgrid, simbody3d, embeddb and unr.
npm — @kbve/laser, @kbve/devops, @kbve/astro, @kbve/core, @kbve/chat, @kbve/droid, @kbve/fx,
@kbve/rn, @kbve/tauri, @kbve/observ, @kbve/khashvault.
All work happens in an isolated git worktree branched from dev. Nothing is committed directly to dev or main.
./kbve.sh -worktree <task-name> # creates worktree, copies .env, installs depsThen commit with conventional commits and open a PR against dev.
Versions are never bumped by hand — releases are cut from git tags shaped <moon-project-id>@<semver>.
Full workflow, commit scopes and release rules: AGENTS.md.
WSL setup instructions: CONTRIBUTE.md.
Getting-started docs: kbve.com/guides.
- One environment. Every project shares the same pinned toolchain, lint rules and CI lane.
- Atomic changes. A protobuf change, its Rust server and its TypeScript client land in one commit.
- One source of truth. Configs, schemas and deployment manifests sit next to the code they describe.
- It scales. The moon graph only builds and tests what a change actually touches.
References to Monorepos




