Use the right Rusl tool at the right boundary.
Installed schemas live at ./.rusl/schemas/<account>/schemas/<schema>.json.
Rusl does not replace your language ecosystem. It resolves the shared contract, vendors it locally, and gives agents the meaning they need before code generation or validation starts.
Separate dependency work from agent behavior.
This is the important boundary: the CLI vendors contracts; the Agent Kit changes how Claude Code reasons about them.
Install the schema dependency manager.
The CLI installs, locks, and vendors schema dependencies from the registry into your project.
Install the Claude Code plugin from the marketplace.
The plugin works out of the box. On first project use, it creates the bundle manifest and registers the MCP server for the session.
Use a bundle first.
A bundle gives you a useful set of related schemas in one step. Add it once, install it, then generate code from the local files.
Bundle one root for quicktype.
The Rusl bundle gets schemas into the configured schema directory. This step prepares one root schema for quicktype; your installed files stay as they are.
Generated code is not the contract.
Generated structs and types make app code easier to write. Boundary data still deserves a real JSON Schema validator.
Treat generators as projections.
Rusl gives the shared source of truth. CLI installs, agent context, generated code, and validators are projections around that contract.