A pure Rust implementation of WebAssembly infrastructure designed for safety-critical systems. Provides foundational components for WebAssembly execution with emphasis on memory safety, deterministic behavior, and formal verification capabilities.
- Memory Operations: Complete WebAssembly memory management with bounds checking
- Arithmetic Instructions: Full implementation of WebAssembly numeric operations
- Type System: Complete WebAssembly value types and validation infrastructure
no_std
Compatible: Works in embedded and bare-metal environments- Safety-Critical Design: ASIL compliance framework and formal verification support
- Development Status: Core execution engine and Component Model under development
For comprehensive installation instructions, see the Installation Guide.
- Rust 1.86.0 or newer
- cargo-wrt (included in this repository)
# Clone repository
git clone https://github.com/pulseengine/wrt
cd wrt
# Install cargo-wrt
cargo install --path cargo-wrt
# Build everything
cargo-wrt build
# Run tests
cargo-wrt test
# Run example (requires setup)
cargo-wrt wrtd --test
Note: PulseEngine is currently available only as source code. Add it to your project:
[dependencies]
wrt = { path = "path/to/wrt" } # Point to local clone
Basic usage:
use wrt::prelude::*;
// Note: Core execution engine under development
// Current example shows memory and arithmetic operations
let memory = WrtMemory::new(1024)?;
let value = Value::I32(42);
let result = ArithmeticOp::I32Add.execute(&[value, Value::I32(8)])?;
This is a multi-crate workspace:
wrt/
- Main library facadewrt-foundation/
- Core types and bounded collectionswrt-runtime/
- Execution enginewrt-component/
- Component Model implementationwrt-decoder/
- Binary format parsingwrtd/
- Standalone runtime daemonexample/
- Example WebAssembly component
- API Documentation - Complete API reference and specifications
- Architecture Guide - System design and components
- Developer Guide - Contributing and development setup
Generate documentation:
# Build comprehensive documentation
cargo-wrt docs --private
# Open documentation in browser
cargo-wrt docs --open
# API documentation only
cargo doc --workspace --open
# Generate and view coverage reports
cargo-wrt coverage --html --open
Setup development environment:
# Check development tool dependencies
cargo-wrt setup --check
# Setup git hooks for code quality checks
cargo-wrt setup --hooks
# Setup all development tools
cargo-wrt setup --all
# Manage tool version requirements
cargo-wrt tool-versions check --verbose # Check all tool versions
cargo-wrt tool-versions generate # Generate tool-versions.toml
See the Developer Guide for detailed development instructions.
Common commands:
cargo-wrt --help # Show all available commands
cargo-wrt check # Format code and run static analysis
cargo-wrt ci # Run main CI checks
cargo-wrt verify --asil d # Run complete verification suite
# Development commands
cargo-wrt no-std # Verify no_std compatibility
cargo-wrt check --strict # Strict code formatting and linting
cargo-wrt coverage --html # Generate code coverage
cargo-wrt simulate-ci # Simulate CI workflow locally
MIT License - see LICENSE file for details.