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

`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

```rust,no_run
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):

```rust,no_run
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

- [Architecture]../../docs/ARCHITECTURE.md — locked stack and innovation areas
- [Security model]../../docs/SECURITY_MODEL.md — security baseline
- [Performance]../../docs/PERFORMANCE.md — performance constitution
- [Dogfood app]../../dogfood/linkhub/ — LinkHub reference application

## License

Apache License 2.0 (see workspace `LICENSE`).