gitwtfhub

wtf is ironic?

ironic-org/ironic — explained in plain English

Analysis updated 2026-05-18

34RustAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

A batteries included, type safe Rust framework for building structured web APIs on top of Axum, inspired by NestJS.

Mindmap

mindmap
  root((repo))
    What it does
      Modular API framework
      Dependency injection
      Request pipeline
    Tech stack
      Rust
      Axum
      SQLx SeaORM Diesel
      MongoDB Redis
    Use cases
      Build a structured REST API
      Add OpenAPI docs automatically
      Secure routes with guards
    Audience
      Rust developers
      API backend teams
    Features
      Validation pipes
      Exception filters
      CLI scaffolding

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Scaffold a new structured Rust web API using the included command line tool.

REASON 2

Organize an application into modules with dependency injection between controllers and services.

REASON 3

Add request validation, middleware, and security headers to an API without writing them from scratch.

REASON 4

Generate OpenAPI documentation and a Swagger interface automatically for an API.

What's in the stack?

RustAxumSQLxSeaORMDieselRedis

How it stacks up

ironic-org/ironicnesthings/fuskyomelliotgao2/handsets
Stars343435
LanguageRustRustRust
Setup difficultymoderatemoderateeasy
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires Rust 1.97 or newer, installed via cargo and its own CLI for project scaffolding.

Use, modify, and share freely under either the MIT or Apache 2.0 license, whichever you prefer.

Wtf does this do

Ironic is a full featured framework for building structured web APIs in Rust, built on top of the existing Axum web library. It takes its structure and style from NestJS, a popular framework in the JavaScript world, and adapts that same organized, modular approach to Rust's stricter type system. A new project can be created and started with a few commands using the included command line tool, which also offers code generators and a doctor command for checking a project's setup. From there, applications are organized into modules that group related controllers and services together, with a built in system for managing how those pieces depend on each other, including detection of dependency cycles. The framework handles common needs for a production API out of the box. It supports different ways of versioning an API, a request pipeline with middleware, guards, and interceptors, and pipes that parse, validate, and transform incoming data, including integration with a validation library. It also includes exception handling with route level and global error filters, control over exactly which fields appear in a JSON response, response compression, and security features like CORS, rate limiting, and common security headers. Automatic OpenAPI documentation with a Swagger interface is generated as well. It connects with several databases and external systems, including SQLx, SeaORM, Diesel, MongoDB, and Redis, plus support for JWT authentication, OAuth, gRPC, and GraphQL. Testing utilities are included for writing in process tests against a running application. The project is licensed under either MIT or Apache 2.0, whichever the user prefers, and is actively maintained with a public Discord community for support and contributions.

Yoink these prompts

Prompt 1
Help me scaffold a new Ironic project and create my first controller and module.
Prompt 2
Explain how dependency injection and cycle detection work in this framework.
Prompt 3
Walk me through adding validation pipes and exception filters to an Ironic API route.
Prompt 4
Show me how to connect this framework to a database using SeaORM or SQLx.

Frequently asked questions

wtf is ironic?

A batteries included, type safe Rust framework for building structured web APIs on top of Axum, inspired by NestJS.

What language is ironic written in?

Mainly Rust. The stack also includes Rust, Axum, SQLx.

What license does ironic use?

Use, modify, and share freely under either the MIT or Apache 2.0 license, whichever you prefer.

How hard is ironic to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ironic for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.