Alloy is a collection of modular, extendable, interoperable Rust libraries designed to work together seamlessly while remaining independently useful. Like an emergent system, the components combine to create something larger than the individual parts.
Modern Rust applications often need to assemble components from different ecosystems. Alloy provides a cohesive foundation where:
- Components are designed to work together from the ground up
- APIs are consistent across different domains
- Incremental adoption — use one crate or the entire library
- Performance is prioritized without sacrificing ergonomics
Alloys cohesive ecosystem of Rust libraries share some common design principles:
- Modular: Only use what you need — minimal dependencies
- Interoperable: Components work well together and with the broader Rust ecosystem
- Performant: Zero-cost abstractions where possible
- Ergonomic: Developer-friendly APIs with sensible defaults
- Well-tested: Comprehensive unit test coverage
- Secure: Built with security in mind
All Alloy crates benefit from:
- Common serialization formats
- Standardized async patterns
- Shared configuration patterns
With plans for:
- Unified error handling
- Consistent logging/tracing
| Docs | Description |
|---|---|
| Core utilities, traits, and foundational types | |
| Cryptographic primitives and protocols | |
| Secure secret management and key storage | |
| Secure network connections |
See roadmap for planned crates and features.
The code must be cloned from the repository for now, but publishing to Crates.io is planned.
# Clone the repository
git clone https://github.com/Alloy-Tools/alloy_tools.git
cd alloy_tools
# Build all crates
cargo build
# Run tests
cargo testAdd specific crates to your Cargo.toml:
[dependencies]
al-core = { path = "../alloy_tools/crates/al-core" }
al-vault = { path = "../alloy_tools/crates/al-vault" }Most crates support optional features
al-core = { path = "../alloy_tools/crates/al-core", features = ["serde", "json"] }alloy_tools/
├── Cargo.toml # Workspace configuration
├── README.md # This file
├── ROADMAP.md # Development roadmap
├── LICENSE-APACHE_2 # Apache 2.0 license notice
├── LICENSE-MIT # Mit license notice
└── crates/ # All library crates
├── al-core/ # Core utilities
├── al-crypto/ # Cryptography
├── al-vault/ # Secret management
└── ...
All code is dual-licensed, at your option, under either of: