# xecute
`xecute` is a small dependency-injection runtime and macro facade for Axum applications.
It provides typed providers, application/request scopes, module metadata, and
startup validation. It is intentionally independent of any larger framework.
```rust
use xecute::{Container, Provider, InjectError};
struct Clock;
impl Provider for Clock {
fn provide(_: &Container) -> Result<Self, InjectError> { Ok(Self) }
}
let container = Container::builder().injectable::<Clock>().build()?;
let clock = container.resolve::<Clock>()?;
# Ok::<(), xecute::InjectError>(())
```
It re-exports `#[injectable]`, `#[module]`, and the routing macros, so applications
need only this one dependency.