Build on Rusl

Bundles

A bundle is a versioned package of schema dependencies that resolve together. Like a schema, it's created empty; its content is an immutable version — a manifest.

Create the bundle
Open Bundles → New and give it a slug and visibility.
Author a manifest
Start a version and write the manifest (TOML by default, JSON optional). List Rusl resources under [rusl.resources] — each "account/schemas/slug" or "account/bundles/slug" mapped to a version requirement.
Validate, then publish
A bundle has one draft at a time. Save it, run Validate (a dry run that checks every resource exists, with no self- or circular references, and that a public bundle includes no private resources), then Publish — which needs at least one entry and turns the draft active.
Lifecycle
Published bundle versions follow the same deprecate / yank / reactivate path as schema versions.
rusl.bundle.toml
[rusl.resources]
"acme/schemas/customer" = "~> 1.0"
"acme/schemas/address" = ">= 0.3.0"

Pulling a bundle into your own project is the other half of the story.

Using it from your code