Ironic
A batteries-included, type-safe application framework for building structured Rust APIs on top of Axum. Inspired by NestJS's modular architecture, grounded in Rust's type system.
Quick Start
Features
- Modular architecture — modules, imports, exports, provider visibility
- Dependency injection — singletons, transients, factories, cycle detection
- HTTP routing — Axum adapter, controllers, parameter extraction, validation
- Request pipeline — middleware, guards, interceptors, error handling
- Procedural macros —
#[derive(Injectable)],#[Module],#[controller],#[get],#[post] - Testing utilities — in-process test app, provider overrides, fluent assertions
- CLI — project scaffolding, code generators, doctor command
- OpenAPI — automatic schema generation, Swagger UI
- Integrations — SQLx, SeaORM, Diesel, MongoDB, Redis, JWT, OAuth, gRPC, GraphQL
Example
use *;
;
async
Documentation
Contributing
See CONTRIBUTING.md for setup instructions, coding conventions, and PR workflow.
License
Licensed under either of MIT or Apache 2.0 at your option.