Documentation
The Damat Guide
A step-by-step walkthrough — from zero to a running, modular backend, then deeper into every building block. New here? Start with Introduction and Concepts.
Start here
1IntroductionWhat Damat is and the package map.2Concepts — modules & the frameworkThe idea behind Damat: what a module is, why the backend is shaped this way, and how the framework wires modules together.3Getting startedInstall, scaffold a new app or run the reference backend, and the project structure.4Configuration & environmentdamat.config.ts, projectConfig, and the .env cascade.
Build
5Defining models (the ORM DSL)The fluent, type-safe model/columns DSL.6MigrationsThe module-aware migration system and the damat-orm CLI.7Modules & servicesModuleService auto-CRUD, credentials, and defineModule.8Building HTTP APIsFile-based routing with Hono.9Workflows (the saga engine)Steps with compensation and saga orchestration on Effect-TS.10Redis: cache, queue, locks, rate limitingBatteries-included Redis helpers.11LoggingStructured logging with levels, formats, and file transport.12The default backend, end to endThe reference app as a worked example.
Modules & sharing
13Authoring a moduleBuild one self-contained, single-purpose module (the blade) and test it in isolation.14Installing existing modulesdamat module add from a registry ref, path, or git.15Installing modules with AI (MCP)Discover and install modules through the MCP server.16Module capabilitiesEverything one module can do — the full model/service/config/migration/codegen/workflow/test/packaging surface.17Composing & linking modulesThe backend owner's job: getModule, cross-module links, pairsWith hints, and wiring modules into the app.
Operate & reference
Ready to build?
Scaffold an app and follow along.