Maat Framework

maat — A full-stack backend framework for Dart with routing, validation, authentication, and production HTTP serving.

Maat is a full-stack backend framework for Dart with routing, middleware, validation, authentication, console commands, bounded and streaming request bodies, multi-isolate workers, and graceful shutdown.

import 'package:maat/maat.dart';

Route.get('/health', (Request request) => {'status': 'ok'});
await app.serve();

Create a project with Ptah:

dart pub global activate ptah
maat new blog

Packages

Every package is published on pub.flutter-io.cn and usable on its own.

Framework

Package
maat The HTTP framework: routing, middleware, validation, workers, graceful shutdown.
ptah Installer. maat new blog scaffolds a project.

Database

Package
seshat The ORM: query builder, typed models, relationships, migrations.
seshat_maat Wires Seshat into a Maat application.
seshat_mysql MySQL adapter for Seshat.

Views

Package
khnum HTML templates with layouts, includes, components, and safe escaping.
khnum_maat Wires Khnum into a Maat application, with Tailwind commands.

Authentication

Package
cartouche Personal access tokens for API authentication.
anubis Database web sessions, CSRF protection, and web authentication.

Messaging

Package
amarna Mailables and SMTP delivery.
sistrum Multi-channel notifications: mail and database.
thoth_realtime Self-hosted Pusher-protocol WebSocket server.

Storage and media

Package
shena Named filesystem disks with local and S3-compatible drivers.
shena_maat Wires Shena storage into a Maat application.
senen Model media collections, ordering, and image conversions.

Queues and operations

Package
khepri Database-backed queues, workers, retries, and failed jobs.
vizier Resource-driven server-rendered admin panels.
akhet Queue dashboard, throughput, and failed-job recovery.
udjat Correlated request, query, exception, and job observability.
mekhat In-page request diagnostics backed by Udjat.

Clients and tooling

Package
horus_client Typed HTTP and realtime client runtime for Dart and Flutter.
horus_js Dependency-free browser WebSocket client for Thoth.
djed_dev Local environment: *.test domains, trusted HTTPS, on-demand app processes.

See the Maat documentation for the complete guide.

Libraries

maat
Maat: a full-stack backend framework for Dart.
testing
Testing helpers: an in-process HTTP client, and path resolution that does not depend on the directory the test runner was started from.