Resuma product map

One crate to install — layered products like Qwik + Qwik City or Solid + SolidStart.

Layers

#ProductRustPurpose
1ResumaresumaSignals, view!, resumability, ResumaApp
2Resuma Flowresuma::flowFlowApp, pages, loaders, actions
3Resuma Macrosresuma-macrosview!, #[component], rs2js
4Resuma Runtimeruntime/Browser loader + core (/_resuma/*.js)
5Resuma Clientclient/resuma-client.tsTypeScript widgets via ClientComponent
6Resuma CLIresuma 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 Client — ClientComponent for TypeScript bundles (Three.js, charts).

Users depend on a single crate:

[dependencies]
resuma = "0.3"
tokio  = { version = "1", features = ["full"] }

Everything re-exports through resuma::prelude:

use resuma::prelude::*;
// ResumaApp, view!, #[component], #[server]
// FlowApp, #[load], #[submit], ClientComponent, client_asset

Project 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 only

CLI 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 only

Published crates

Only two crates ship on crates.io: resuma (runtime) and resuma-macros (proc-macros — required by Rust).

Cratecrates.iodocs.rs
resumacrates.io/crates/resumadocs.rs/resuma
resuma-macroscrates.io/crates/resuma-macrosdocs.rs/resuma-macros

API map

ConceptProductAPI
ComponentResuma#[component] + view!
Server RPCResuma#[server]
Server data loaderResuma Flow#[load]
Form mutationResuma Flow#[submit]
Request middlewareResuma Flow#[middleware]
File-based pagesResuma Flowsrc/pages/
TS client widgetResuma ClientClientComponent, client_asset()