# API reference
The full Rust API reference is generated by rustdoc and published on docs.rs. This site covers
concepts and guides; docs.rs is the source of truth for every type, trait, and function signature.
- **[ruststream on docs.rs](https://docs.rs/ruststream)** - the crate. Build it with all features to
see the runtime, codecs, AsyncAPI, metrics, and conformance modules:
[docs.rs/ruststream (all features)](https://docs.rs/crate/ruststream/latest/features).
The `ruststream` command-line tool is the same crate's `cli` feature, not a separate crate; see the
[CLI guide](guides/cli.md).
## Building the reference locally
```bash
cargo doc --all-features --open
```
## Key entry points
| `RustStream` | `ruststream::runtime` | the application object |
| `Router` | `ruststream::runtime` | a lazily-bound group of handlers |
| `Broker`, `Subscribe`, `Subscriber`, `Publisher`, `IncomingMessage` | `ruststream` | the broker contract |
| `SubscriptionSource`, `Name` | `ruststream` | subscription descriptors |
| `JsonCodec`, `MsgpackCodec`, `CborCodec` | `ruststream::codec` | wire codecs |
| `build_spec` | `ruststream::asyncapi` | AsyncAPI generation |
| `Metrics` | `ruststream::metrics` | Prometheus metrics |
| `TestClient` | `ruststream::testing` | the test-client contract |
| `harness::run_suite` | `ruststream::conformance` | the conformance suite |