0.1.0 source candidate Read the status
RESOURCE ORIENTED META FRAMEWORK

One Resource.
A reactive system.

Model your domain in Rust. Let actions change it, events describe it, and your interface stay in sync.

Open source · Rust core · Svelte workspace

A SMALL ACTION. A SHARED CONTRACT.
RESOURCE WORKSPACEBrowser-local demo
COLLECTIONS◈ Tasks 1◇ Settings 0
SQLite / redb
shared contracts
Resources / tasks / task-001

Ship something meaningful

rev 1
titleShip something meaningful
done false
owneralice
EVENT JOURNALRun the action to see the transition.
Try the action ↗ Illustrative state and events stay in this browser.
ONE MODEL, ACROSS YOUR STACKRust+SQLite / redb+Svelte 5+shadcn-svelte
THE MODEL

Your domain is the starting point.

A common path from declaration to observation.
Application authors add the behavior that matters.

Resourceactioncommiteventreaction↳ another action
RUST AT THE CORE

The contract lives
with your code.

One Task declaration supplies state metadata. Its completion action contains the domain behavior. The common runtime handles execution.

Inspect the complete example
Start with the local workshop.
./demo/run smoke
task.rs · declaration
#[derive(Clone, Debug, PartialEq, Resource)]
#[resource(name = "tasks")]
pub struct Task {
    pub owner: String,
    #[resource(rename = "display-title")]
    pub title: String,
    pub done: bool,
    pub note: Option<String>,
}
ROM STUDIO + ROM UI

A workspace from
the same contract.

Descriptors connect your Resource model to forms, editors and actions. Compose your own Svelte application with the public controls.

Shared controls

Svelte 5 and shadcn-svelte primitives through ROM UI.

Semantic editors

Dates, decimals, references and exact wire representations.

Observation & recovery

Public compositions for sessions, live results and uncertain saves.

FIND YOUR WAY IN

Build, understand, then go deeper.

START WITH YOUR DOMAIN

What will your Resource do?

Open the workshop

ROM Extras

Connect delivery, identity, SQL executors, object storage, projections and maps. Every integration documents its deployment requirements and current qualification limits.

Explore Extras and provider documentation →