axor 0.1.0

Core of the Axor framework: agent-based business logic with typed operations and injection.
Documentation
  • Coverage
  • 0%
    0 out of 2 items documented0 out of 1 items with examples
  • Size
  • Source code size: 4.17 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 967.98 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 11s Average build duration of successful builds.
  • all releases: 26s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • kinai-io/axor
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • riana

Axor

Axor is a modular Rust framework for backend development, focused on structuring business logic through injectable, self-contained agents. It enables instant publication across multiple environments — from HTTP to CLI and desktop — without code duplication.

Vision

One core logic, exposed anywhere — without rewriting it.

Axor empowers developers to build backends around typed agents, self-publishing operations, and a composable runtime model. With minimal boilerplate and full testability, Axor helps you scale your app — not your complexity.

Core Features

  • ✅ Typed dependency injection with a central AxorContext
  • ✅ Composable, self-contained business agents (#[agent])
  • ✅ Auto-registered operations (#[operation])
  • ✅ HTTP-ready with axor-web, powered by Axum
  • ✅ Multi-runtime support (web, CLI, Tauri...)
  • ✅ Testable without a server, thanks to agent isolation

Crates

Crate Role
axor Core framework: agent system, DI, operations
axor-web HTTP runtime based on Axum
axor-tauri (coming soon) Tauri runtime for desktop apps
axor-cli (coming soon) CLI runtime: turn agents into commands
axor-doc (coming soon) Auto-generated docs + OpenAPI manifest

Quick Example

#[agent]
pub struct UserService;

#[operation(GET, "/user/:id")]
fn get_user(&self, id: String) -> Result<User> {
    // Your business logic here
}

fn main() {
    let mut context = AxorContext::default();
    context.register(UserService);

    axor_web::serve(context);
}

Comparison

Framework Typed DI Auto Routing Auto Op Export Web Ready Modular
Axor
Axum Handler-based
Actix Web Trait-based
Shuttle Service
async-graphql ✅ (GQL) ✅ (#[Object])

Roadmap

  • ✅ HTTP runtime via axor-web
  • ⏳ Tauri runtime (axor-tauri)
  • ⏳ CLI runtime (axor-cli)
  • ⏳ Documentation & OpenAPI via axor-doc
  • ⏳ Built-in auth, metrics, and async support as standard agents

License

MIT © Axor Contributors