Skip to content

Roadmap

The roadmap is directional, not a delivery contract. Cratis is open source, and priorities move when real adoption uncovers sharper needs. Treat this page as a map of intent: what you can rely on, what is being strengthened, and where feedback will shape the work.

These are the core areas the documentation treats as the current Cratis foundation:

AreaDirection
ChronicleEvent log, event types, projections, reducers, reactors, subscriptions, storage choices, hosting, CLI inspection, and testing helpers
ArcCommands, queries, validation, generated TypeScript proxies, backend integrations, identity, tenancy, and CQRS without mandatory event sourcing
ComponentsCommand forms, dialogs, data tables, styling, Storybook, and typed React screens over Arc proxies
FundamentalsConcepts, serialization, type discovery, diagnostics helpers, and TypeScript utilities
DocumentationProduct docs, full-stack guides, samples, API reference, Storybook, community routes, and AI-readable exports
  • Production guidance across the full stack.
  • Compatibility documentation across .NET, Node, React, storage engines, and package versions.
  • API reference and Storybook publishing.
  • CLI diagnostics and AI command catalogs.
  • Documentation coverage for common adoption paths and migration paths.
  • Testing guidance from unit-level specs to full workflow specs.
  • Studio and richer visual operations around a running system.
  • Lens and developer tools that make event models and running systems easier to inspect.
  • More reference architectures and runnable sample applications.
  • Professional help, workshops, and training material around Cratis and event sourcing.
  • A clearer RFC path for larger design proposals.

The most useful roadmap feedback is concrete:

  • Which adoption step felt risky or unclear?
  • Which production question blocked a decision?
  • Which tool or diagnostic would have saved time?
  • Which docs page did you expect but could not find?
  • Which integration would make Cratis easier to introduce in an existing system?