Developer Guide¶
Building and extending Waremax.
Overview¶
This guide covers:
- Understanding the codebase architecture
- Extending Waremax with custom components
- Using the crate APIs
- Contributing to the project
Guide Sections¶
Architecture¶
Understand how Waremax is built.
| Topic | Description |
|---|---|
| Overview | High-level architecture |
| Crate Structure | Workspace organization |
| Data Flow | How data moves through the system |
Extending Waremax¶
Add custom functionality.
| Topic | Description |
|---|---|
| Custom Policies | Implement new decision policies |
| Custom Distributions | Add statistical distributions |
| Custom Entities | Create new simulation entities |
API Reference¶
Crate documentation.
| Crate | Description |
|---|---|
| waremax-core | Core simulation engine |
| waremax-config | Configuration parsing |
| waremax-entities | Simulation entities |
| waremax-policies | Decision policies |
| waremax-metrics | Metrics collection |
Contributing¶
Help improve Waremax.
| Topic | Description |
|---|---|
| Code Style | Coding guidelines |
| Testing | Test requirements |
| Documentation | Doc standards |
Quick Links¶
For Users Wanting to Extend¶
- Read Architecture Overview
- Choose extension type:
- Custom Policies
- Custom Distributions
- Follow implementation guide
For Contributors¶
- Read Contributing Guide
- Understand Testing Requirements
- Follow Pull Request Process
Development Setup¶
Prerequisites¶
# Rust toolchain (1.70+)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone repository
git clone https://github.com/example/waremax.git
cd waremax
Build¶
Development Workflow¶
Crate Dependencies¶
waremax (binary)
├── waremax-sim
│ ├── waremax-core
│ ├── waremax-entities
│ ├── waremax-policies
│ └── waremax-metrics
├── waremax-config
├── waremax-testing
├── waremax-analysis
├── waremax-map
└── waremax-storage
Getting Help¶
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- API Docs:
cargo doc --open