Resuma product map
One crate to install — layered products like Qwik + Qwik City or Solid + SolidStart.
TRY IT
Install
cargo add resuma@1.2.0 · crates.io
Layers
| # | Product | Rust | Purpose |
|---|---|---|---|
| 1 | Resuma | resuma | Signals, view!, resumability, ResumaApp |
| 2 | Resuma Flow | resuma::flow | FlowApp, pages, loaders, actions |
| 3 | Resuma OS | resuma::exec | Workers, queue, scheduler, graphs |
| 4 | Resuma Flow UI | resuma-flow | Ops dashboard + graph widgets |
| 5 | Resuma Macros | resuma-macros | view!, #[component], #[worker], rs2js |
| 6 | Resuma Runtime | runtime/ | Browser loader + core (/_resuma/*.js) |
| 7 | Resuma Client | client/resuma-client.ts | TypeScript widgets via ClientComponent |
| 8 | Resuma CLI | resuma feature | new, dev, build, update |
When to use what
- Resuma — ResumaApp for single-page apps, widgets, resumable UI.
- Resuma Flow — FlowApp + src/pages/ for multi-page apps.
- Resuma OS —
#[worker], queues, scheduler for background work (docs →). - Resuma Flow UI — optional
resuma-flowcrate for ops dashboards. - Resuma Client — ClientComponent for TypeScript bundles (Three.js, charts).
Users depend on a single crate:
[dependencies]
resuma = "1.0.2"
tokio = { version = "1", features = ["full"] }Everything re-exports through resuma::prelude:
use resuma::prelude::*;
// ResumaApp, view!, #[component], #[server]
// FlowApp, #[load], #[submit], ClientComponent, client_assetProject structure (Resuma Flow)
my-app/
src/
main.rs # FlowApp bootstrap
pages/
index.rs # GET /
about.rs # GET /about
client/ # optional — Resuma Client (TypeScript)
resuma-client.ts
components/
Cargo.toml # resuma + tokio onlyCLI commands
cargo install resuma
resuma new my-app # static SSR (default)
resuma new my-app --template todo # full showcase
resuma new my-app --template flow-fullstack # Flow + SQLx + users CRUD
resuma add sqlx # add SQLx to existing project
resuma add turso # add Turso/libSQL client
resuma dev
resuma dev --open # open browser
resuma build
resuma routes --generate --path src/pages # Flow apps onlyPublished crates
Only two crates ship on crates.io: resuma (runtime) and resuma-macros (proc-macros — required by Rust).
| Crate | crates.io | docs.rs |
|---|---|---|
resuma | crates.io/crates/resuma | docs.rs/resuma |
resuma-macros | crates.io/crates/resuma-macros | docs.rs/resuma-macros |
API map
| Concept | Product | API |
|---|---|---|
| Component | Resuma | #[component] + view! |
| Server RPC | Resuma | #[server] |
| Server data loader | Resuma Flow | #[load] |
| Form mutation | Resuma Flow | #[submit] |
| Request middleware | Resuma Flow | #[middleware] |
| File-based pages | Resuma Flow | src/pages/ |
| Background worker | Resuma OS | #[worker] |
| Job queue / cron | Resuma OS | enqueue, scheduler HTTP |
| TS client widget | Resuma Client | ClientComponent, client_asset() |