Install
Add only what your feature needs. kuilt is published to Maven Central under us.tractat.kuilt.
Add the repository
Depend on the modules you need
The recommended path is the BOM: it keeps all kuilt modules on one version, while you add only the modules you need:
Why use the BOM: it prevents version drift between kuilt modules.
Without the BOM, pin each module explicitly (for example, us.tractat.kuilt:kuilt-crdt:VERSION). Replace VERSION with the latest release.
The fabric and session modules re-export the kuilt-core contract (Loom/Seam/Swatch), so you do not need to list kuilt-core separately alongside them. The data modules are different: kuilt-crdt and kuilt-bolt are plain serializable value types that work with no network at all, so they do not bring the contract with them — add kuilt-core yourself if you want it too. If you only need in-memory message passing, kuilt-core alone is enough.
If you're unsure where to start, begin with one transport module (kuilt-websocket is usually the easiest), then add kuilt-crdt, kuilt-session, or kuilt-raft only when the feature needs those guarantees.
Local iteration with includeBuild
When you are developing kuilt and a consumer side by side, you can use includeBuild so Gradle uses your local kuilt source instead of the published artifact:
When the kuilt/ directory is absent (CI, temporary worktrees), Gradle falls back to the published artifact automatically. includeBuild is only a local development shortcut.
Test utilities
These are the two you reach for first when testing code built on kuilt:
kuilt-conformance includes SeamConformanceSuite, which verifies that a Loom implementation follows the kuilt contract. See Connections for usage.
Several libraries ship their own test-support module too — kuilt-raft-test, kuilt-session-test, kuilt-gossip-test, kuilt-deal-test — published on the same version line, so the BOM covers them.