# rskit-bootstrap — Service Lifecycle
Typestate `App<S,C>` builder, `Component` trait, ordered `Registry`, and `Health` reporting.
[](https://github.com/kbukum/rskit/actions/workflows/ci.yml) [](https://crates.io/crates/rskit-bootstrap) [](https://docs.rs/rskit-bootstrap) [](https://github.com/kbukum/rskit/blob/main/LICENSE) [](https://github.com/kbukum/rskit/blob/main/core/Cargo.toml)
## Features
- Compile-time lifecycle ordering via typestate pattern
- Reverse-order graceful shutdown
- Cancellation via `tokio_util::sync::CancellationToken`
- `HealthStatus` with three states: `Healthy`, `Degraded`, `Unhealthy`
- `Component` trait for pluggable lifecycle-managed services
## Usage
```toml
[dependencies]
rskit-bootstrap = "0.2.0-alpha.2"
```
```rust
use rskit_bootstrap::{AppBuilder, Component, Health};
AppBuilder::new(my_config)
.build()?
.before_start(|_cancel| async move {
tracing::info!("starting");
Ok(())
})
.run()
.await?;
```
## See Also
[Main repository README](https://github.com/kbukum/rskit)