Skip to content

anistark/wasmrun

Repository files navigation

Wasmrun

WebAssembly

Crates.io Version Crates.io Downloads Crates.io Downloads (latest version) Open Source Contributors maintenance-status License: MIT

Wasmrun is a powerful WebAssembly runtime that simplifies development, compilation, and deployment of WebAssembly applications.

Banner

✨ Features

  • 🚀 Multi-Language Support - Rust, Go, Python, C/C++, and AssemblyScript
  • 🔌 Plugin Architecture - Extensible system with built-in and external plugins
  • 🔥 Live Reload - Instant development feedback with file watching
  • 🌐 Zero-Config Web Server - Built-in HTTP server for WASM and web apps
  • 📦 Smart Project Detection - Automatically detects and configures project types
  • 🏃 Native WASM Execution - Run WASM files directly with argument passing

📚 Documentation

📖 Full Documentation

🚀 Quick Start

Installation

cargo install wasmrun

For other installation methods (DEB, RPM, from source), see the Installation Guide.

Basic Usage

# Run a WASM file with dev server
wasmrun myfile.wasm

# Run a project directory
wasmrun ./my-wasm-project

# Compile a project
wasmrun compile ./my-project

# Execute WASM natively
wasmrun exec myfile.wasm

# Install language plugins
wasmrun plugin install wasmrust
wasmrun plugin install wasmgo

See the Quick Start Guide for a complete tutorial.

🔌 Plugin System

Wasmrun uses a plugin architecture for language support:

Built-in:

  • C/C++ (Emscripten)

External Plugins:

  • Rust: wasmrun plugin install wasmrust
  • Go: wasmrun plugin install wasmgo
  • Python: wasmrun plugin install waspy
  • AssemblyScript: wasmrun plugin install wasmasc

Learn more in the Plugin Documentation.

🤝 Contributing

We welcome contributions! See our Contributing Guide for:

  • Development setup
  • Code style guidelines
  • Testing guidelines
  • PR process

Or check out:

🎤 Community

📄 License

MIT License

🙏 Credits

Wasmrun is built with love using:

  • tiny_http - Lightweight HTTP server
  • clap - Command line argument parsing
  • notify - File system watching for live reload
  • wasm-bindgen - Web integration
  • Font used for logo is Pixeled by OmegaPC777
  • And the amazing Rust and WebAssembly communities ❤️

Made with ❤️ for the WebAssembly community

⭐ If you find Wasmrun useful, please consider starring the repository!

About

Powerful WASM runtime with debug capabilities

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5