The KGROO monorepo https://kgroo.co/
  • Rust 91.4%
  • TypeScript 4.9%
  • JavaScript 1.8%
  • Starlark 0.7%
  • HTML 0.6%
  • Other 0.6%
Find a file
2026-07-12 14:32:37 +00:00
.forgejo/workflows docs(zensical): scaffold documentation site + Forgejo tailnet deploy 2026-06-12 18:27:57 +00:00
CAM Merge pull request 'feat(cam-blend): eta^3-spline G3 blend construction with numeric certificates' (#74) from patman/eta3-blend into main 2026-07-12 14:32:37 +00:00
common feat(units): Snap/Curvature newtypes + constant-snap advance (M3 foundation) 2026-07-12 00:47:46 +00:00
docs Merge pull request 'feat(units): uom-backed newtypes + dim currency for typed math' (#37) from patman/uom-units into main 2026-07-09 23:11:19 +00:00
interpreter buckify durac project - destructive to bazel builds. Do not land until interpreter and all of common is buckified. \n build w/ buck2 build //common/durac:durac 2026-05-25 15:24:29 -07:00
provisioning chore(provisioning): Ansible devserver bootstrap with shared toolchain role 2026-06-05 04:46:38 +00:00
third-party/rust merge: main into cam-scurve (stale-generation cam-plan content in trunk) 2026-07-09 23:24:38 +00:00
toolchains buckify durac project - destructive to bazel builds. Do not land until interpreter and all of common is buckified. \n build w/ buck2 build //common/durac:durac 2026-05-25 15:24:29 -07:00
website chore(website): drop deprecated lucia auth packages 2026-06-12 21:20:32 +00:00
.buckconfig buckify durac project - destructive to bazel builds. Do not land until interpreter and all of common is buckified. \n build w/ buck2 build //common/durac:durac 2026-05-25 15:24:29 -07:00
.gitignore docs(zensical): scaffold documentation site + Forgejo tailnet deploy 2026-06-12 18:27:57 +00:00
.python-version docs(zensical): scaffold documentation site + Forgejo tailnet deploy 2026-06-12 18:27:57 +00:00
Cargo.lock feat(cam): true-contour geometry primitives (CAM/geom) 2026-07-03 22:26:38 +00:00
Cargo.toml feat(cam-blend): eta^3-spline G3 blend construction with numeric certificates 2026-07-12 01:28:45 +00:00
CLAUDE.md Merge pull request 'feat(units): typed angular Δt helpers (MulDt/DivDt)' (#38) from patman/uom-angular-helpers into main 2026-07-09 23:11:23 +00:00
main.py docs(zensical): scaffold documentation site + Forgejo tailnet deploy 2026-06-12 18:27:57 +00:00
pyproject.toml docs(zensical): scaffold documentation site + Forgejo tailnet deploy 2026-06-12 18:27:57 +00:00
README.md docs(readme): replace stale Bazel build docs with Buck2 2026-06-12 19:35:41 +00:00
uv.lock docs(zensical): scaffold documentation site + Forgejo tailnet deploy 2026-06-12 18:27:57 +00:00
zensical.toml oops 2026-06-12 21:22:27 +00:00

KGROO

The KGROO monorepo

Build

Buck2 is the build system for the entire monorepo. All builds and tests go through Buck2 — Cargo is never the build path. The checked-in Cargo.toml manifests exist only so rust-analyzer and other IDE tooling work; they are a development-ergonomics artifact, not a build artifact.

Toolchains come from the host via the Buck2 prelude's system toolchains (toolchains/BUCK): buck2, rustc/cargo, rustfmt, and python3 on $PATH. The Rust toolchain is not version-pinned; anything supporting edition 2024 works.

buck2 build //...                # build everything
buck2 test  //...                # test everything

buck2 test  //common:common-tests # one crate's tests, by target

Third-party Rust dependencies

Third-party crates are managed by reindeer in third-party/rust/: reindeer.toml plus a Cargo.toml listing the deps, from which reindeer generates the BUCK file (crates fetched from crates.io via http_archive, not vendored).

To add or update a dependency:

# 1. Edit third-party/rust/Cargo.toml (and the consuming crate's Cargo.toml for rust-analyzer)
# 2. Regenerate third-party/rust/BUCK
reindeer --third-party-dir third-party/rust buckify
# 3. Add the dep to the consuming crate's BUCK `deps = [...]`

A dependency that exists in only Cargo.toml or only BUCK is a bug — both must be updated together.