The learning tree.
What can I do now?

Start at the top with Hello Clamp and go down one capability at a time. Click any node for its tutorial. Solid nodes are runnable examples today; dashed ones are planned.

Every step on the tree

  1. Hello ClampRun the smallest Clamp program, and generate the same program as a new project with clamp init.
  2. A typed capabilityInject a Clock capability into a Greeter and test it with a fixed clock.
  3. Modules resolved by KernelDeclare a Greeter that requires a Clock and a module that provides one, and let Kernel resolve the match.
  4. CLI commandsBuild a command tree from contributions declared by separate modules, and run its commands.
  5. Configuration and lifecycleSee how a Clamp process starts and stops resources in dependency order, and how rustclamp::config reads settings from .env and the environment.
  6. HTTP API with PostgreSQLCall one Users operation from a console command and from an HTTP server, with the same domain code.
  7. In-process eventsTurn an in-process domain event into a versioned message envelope and print it as JSON.
  8. A websiteCreate a web project with clamp init --web and run it, or serve a folder of static pages through Clamp's HTTP route target.
  9. A worker over JetStreamSend an email request from an API through a message queue to a Worker handler, in memory or through NATS JetStream.
  10. Orders that survive a crashCreate an order and its outbox message in one PostgreSQL transaction, publish it to NATS, and have a Worker apply it once.
  11. Scheduled jobsDeclare scheduled jobs, drive them with a controlled clock, and watch catch-up, skipped misfires and drain on shutdown.
  12. Split into processesDescribe one application with two processes, CLI and Worker, and see which modules each one includes.
  13. A device loopRun a fixed-step simulation loop with a fake device and check it replays identically.
  14. no_std CoreUse a Core module identity from a #![no_std] library with alloc, without Kernel or Runtime.
  15. Mount an existing Axum app (planned)Hand Clamp a whole axum::Router instead of re-declaring routes: the “start where you are” path for Axum services.
  16. SQLite and Redis (planned)More storage on the same boundaries as PostgreSQL.
  17. Metrics and tracing (planned)Correlated tracing exists across API and Worker; exported metrics and a full observability step come next.
  18. Several services (planned)Compose multiple services that share contracts, each deployed on its own.