envelo 0.0.1

Minimal envelope that bundles header, payload, and per-route metadata; no dependencies and `#![no_std]`.
Documentation
# envelo

[![CI](https://github.com/envelo-rs/envelo/actions/workflows/ci.yml/badge.svg)](https://github.com/envelo-rs/envelo/actions/workflows/ci.yml)
[![Crates.io](https://img.shields.io/crates/v/envelo.svg)](https://crates.io/crates/envelo)
[![Docs.rs](https://docs.rs/envelo/badge.svg)](https://docs.rs/envelo)
[![no_std](https://img.shields.io/badge/no__std-yes-blue)](#)
[![MSRV](https://img.shields.io/badge/MSRV-1.56-blue)](VERSIONS.md)
[![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](LICENSE-MIT)

> ⚠️ 0.0.x is pre-release/experimental; breaking changes are expected. See [VERSIONS.md]./VERSIONS.md for status and compatibility details.

Minimal envelope for creation-time fields (`Header`), body (`Payload`), and per-route metadata (`Extension`). One type, zero dependencies, and `#![no_std]` by default.

## What’s included
- Single type: `Envelo<Header, Payload, Extension>`.
- Clear split: immutable creation-time data in `Header`; hop-local metadata in `Extension`.
- Ergonomics: constructor, immutable/mutable accessors, `into_parts`, and `From<(H, P, E)>` for easy wrapping.
- Traits: `Debug + Clone + PartialEq + Eq + Hash` when your field types support them.
- Dependencies: none; `#![no_std]` without feature flags.

## Install

```toml
[dependencies]
envelo = "0.0.1"
```

## Example

```rust
use envelo::Envelo;

#[derive(Debug, Clone, PartialEq, Eq, Hash)]
struct Header {
    event_id: &'static str,
}

#[derive(Debug, Clone, PartialEq, Eq, Hash)]
struct UserSignup<'a> {
    user_id: &'a str,
}

let msg = Envelo::new(
    Header { event_id: "evt-123" },
    UserSignup { user_id: "alice" },
    (), // nothing to attach per route yet
);

assert_eq!(msg.payload().user_id, "alice");
```

Swap or mutate `Extension` as the message moves between stages. See [ARCHITECTURE.md](./ARCHITECTURE.md) for design notes and patterns.

## More
- [VERSIONS.md]./VERSIONS.md: release status and compatibility.
- [ARCHITECTURE.md]./ARCHITECTURE.md: design goals and usage patterns.
- [CONTRIBUTING.md]./CONTRIBUTING.md: contribution guide.

## License
Dual-licensed under MIT OR Apache-2.0. See the bundled license files.