Skip to content

Architecture Overview

Atomo is a Content Core: a schema-driven, event-sourced platform.

  • Core: Rust workspace in crates/ — high performance, type-safe.
  • Server: atomo_server (Axum + async-graphql) with subscriptions.
  • CLI: atomo_cli orchestrates codegen, dev runtime, build, deploy.
  • Schema: atomo_schema parses schema.ts (SWC) and generates code.
  • Projectors: atomo_projectors build read models from the event log.
  • Realtime: atomo_realtime is a transport-agnostic, in-memory hub for the ephemeral, high-frequency tier (channels, presence, fan-out); atomo_server mounts its WebSocket transport at /realtime/ws. It never touches the event store — only durable outcomes flow back through the normal command path.
  • Control plane: atomo_control_plane runs many isolated projects on shared infrastructure — a per-project database + atomo-server instance, managed by a registry, provisioner, and gateway. Purely additive: it sits in front of unmodified servers. See Multi-Project Platform.
  • Metered commands: atomo_server::metered — generic primitives (expiring single-use token store, integer-unit budget ledger) that compose transactionally with atomo_server::jobs (JobStore::enqueue_tx) so a consumer's metered command commits or rolls back as one unit. No business policy; library-only. See Metered Command Primitives.

Pillars (from Atomo About & Paper):

  • River of Events: all changes are immutable events (audit/time travel).
  • Flowing Canvas: rich content blocks and flexible composition.
  • Energy Hub: open integrations via events and external workers.

Data flows: schema.ts → codegen → GraphQL API + Admin UI + SDK types.

Released under the AGPL-3.0 License.