# `nova-boot`
Purpose
- Core runtime and public API for Nova: `NovaApp`, `NovaPlugin`, lifecycle hooks, and configuration.
Quick start
- Construct `NovaApp`, add plugins, and run:
```rust
use nova_boot::prelude::*;
let state = AppState::new(...);
NovaApp::new("my-service", 8080, state)
.add_plugin(MyPlugin::new())
.run()
.await;
```
Highlights
- `NovaPlugin` trait to extend router and lifecycle.
- `NovaState` extractor for typed app state.
- `NovaError` → `IntoResponse` for consistent HTTP errors.
Docs & examples
- API docs: `cargo doc --package nova-boot --no-deps` (or browse generated docs).
- Examples: see top-level `example/` demo for usage patterns.