Architecture checked at compile time

What is it?

Margaret is an opinionated Rust application framework. You describe your application with attributes, and Margaret generates the wiring: the dependency container, the command line, HTTP servers, WebSocket sessions, typed database queries, sessions, and OAuth and OpenID Connect.

Every connection is verified while your project builds. If it compiles, it is wired correctly.

Who made this?

This is an open-source project originally started by Intentee.

Why?

  • Mistakes caught at build time, not in production
  • Exactly one way to do each thing
  • Readable generated code, all plain Rust
  • HTTP, WebSockets, views, and a compile-time checked ORM built in
  • Sessions, sign-in, and an OpenID Connect provider built in