arcature 2026.2.1

Arcature application framework: a high-level Application facade over the certified Arcature subsystems, with the low-level Axum/Tower escape hatch preserved.
Documentation
arcature-2026.2.1 has been yanked.

arcature

arcature is the high-level Application facade over the certified Arcature subsystems. It assembles the HTTP kernel (Axum/Tower), Inertia adapter, database, cache, storage, mail, jobs, auth, pages, and observability into a single Application builder — while preserving the raw Axum/Tower escape hatch for expert use.

What this crate owns

The Application builder, the request lifecycle (startup → serve → shutdown), the pipeline assembly, the Resources container (typed subsystem handles), and the #[arcature::main] runtime macro.

What this crate does not own

It does not reimplement any subsystem. Each subsystem lives in its own crate (arcature-db, arcature-cache, etc.) and is optional behind a feature flag. The facade wires them together; it does not replace them.

Quick start

use arcature::prelude::*;

fn main() -> std::io::Result<()> {
    Application::new()
        .port(3000)
        .routes(routes())
        .build()
        .run()
}

fn routes() -> Routes<()> {
    Routes::new().route("/", get(|| async { "Hello, Arcature!" }))
}

With subsystems (feature flags):

use arcature::prelude::*;
use arcature::db::DbConfig;

async fn run() -> Result<()> {
    Application::new()
        .port(3000)
        .database(DbConfig::new("postgres://localhost/myapp")?)
        .build()
        .run_with_lifecycle(|resources| {
            // Access the live Db handle via resources.db()
        })
        .await
}

Feature flags

Feature Subsystem
macros #[arcature::main]
inertia Inertia.js server adapter
db PostgreSQL
auth Session auth, Argon2id, CSRF, OAuth
cache Valkey/Redis cache
storage Object/file storage
mail Email (SMTP)
jobs Background jobs
pages Special pages + maintenance
api OpenAPI 3.1 + problem details
observe Tracing/metrics + OpenTelemetry

Documentation

License

Apache License 2.0 (see workspace LICENSE).