Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

wasmCloud/wasmCloud

wasmCloud is an open source Cloud Native Computing Foundation (CNCF) project that enables teams to build, manage, and scale polyglot apps across any cloud, K8s, or edge.

wasmCloud/wasmCloud.json
{
"createdAt": "2020-10-15T17:41:17Z",
"defaultBranch": "main",
"description": "wasmCloud is an open source Cloud Native Computing Foundation (CNCF) project that enables teams to build, manage, and scale polyglot apps across any cloud, K8s, or edge.",
"fullName": "wasmCloud/wasmCloud",
"homepage": "https://wasmcloud.com",
"language": "Rust",
"name": "wasmCloud",
"pushedAt": "2026-03-20T14:54:09Z",
"stargazersCount": 2258,
"topics": [
"cloud-native",
"distributed",
"edge",
"kubernetes",
"nats",
"platform",
"wasm-native",
"webassembly"
],
"updatedAt": "2026-03-21T23:21:25Z",
"url": "https://github.com/wasmCloud/wasmCloud"
}

[Apache 2.0 License]!(LICENSE) GitHub Release

wash is the comprehensive command-line tool for developing, building, and managing WebAssembly components. It provides an intuitive developer experience for the modern Wasm ecosystem, from project scaffolding to building and pushing components to OCI registries.

  • Project Creation: Generate new WebAssembly component projects from templates
  • Multi-Language Build System: Compile components for multiple languages (Rust, Go, TypeScript)
  • Development Loop: Built-in hot-reload development server (wash dev)
  • OCI Registry Integration: Push and pull components to/from OCI-compatible registries
  • Component Inspection: Analyze component WIT interfaces and metadata
  • Configuration Management: Hierarchical configuration with global and project-level settings
  • Self-Updates: Keep wash up-to-date with the latest features and fixes

Download the latest release for your platform from GitHub Releases.

Quick install (latest release)

Linux/macOS:

Terminal window
curl -fsSL https://raw.githubusercontent.com/wasmcloud/wasmCloud/refs/heads/main/install.sh | bash

Windows (PowerShell):

Terminal window
iwr -useb https://raw.githubusercontent.com/wasmcloud/wasmCloud/refs/heads/main/install.ps1 | iex

Make sure to move wash to somewhere in your PATH.

Terminal window
git clone https://github.com/wasmcloud/wasmCloud.git
cd wasmCloud
cargo install --path .

Note: This quickstart requires the Rust toolchain and the wasm32-wasip2 target for Rust: rustup target add wasm32-wasip2

  1. Create a new component:

    Terminal window
    wash new https://github.com/wasmCloud/wasmCloud.git --subfolder examples/http-hello-world
  2. Build your component:

    Terminal window
    wash -C ./http-hello-world build
  3. Start a development loop

    Terminal window
    wash -C ./http-hello-world dev
  4. Keep wash updated:

    Terminal window
    wash update
CommandDescription
wash buildBuild a Wasm component
wash configView and manage wash configuration
wash completionGenerate shell completion scripts for wash
wash devStart a development server for a Wasm component with hot-reload
wash hostAct as a host.
wash newCreate a new project from a git repository
wash ociPush or pull Wasm components to/from an OCI registry
wash updateUpdate wash to the latest version
wash witManage WIT dependencies
wash helpPrint this message or the help of the given subcommand(s)

Run wash --help or wash help <command> for detailed usage information.

For zsh completion, please run:

Terminal window
mkdir -p ~/.zsh/completion
wash completion zsh > ~/.zsh/completion/_wash

and put the following in ~/.zshrc:

Terminal window
fpath=(~/.zsh/completion $fpath)

Note if you’re not running a distribution like oh-my-zsh you may first have to enable autocompletion (and put in ~/.zshrc to make it persistent):

Terminal window
autoload -Uz compinit && compinit

To enable bash completion, run the following, or put it in ~/.bashrc or ~/.profile:

Terminal window
. <(wash completion bash)

The below commands can be used for fish auto completion:

Terminal window
mkdir -p ~/.config/fish/completions
wash completion fish > ~/.config/fish/completions/wash.fish

The below command can be referred for setting it up. Please note that the path might be different depending on your system settings.

Terminal window
wash completion powershell > $env:UserProfile\\Documents\\WindowsPowerShell\\Scripts\\wash.ps1

wash is built with the following key principles:

  • Component-First: Native support for the WebAssembly Component Model
  • Language Agnostic: Support for Rust, Go (TinyGo), TypeScript, and more
  • OCI Compatible: Components are stored and distributed using OCI registries
  • Portable Components: Produces WebAssembly components that are runtime-agnostic and compatible with any Component Model runtime
  • Wasmtime-Powered: Uses Wasmtime for local component execution and development workflows
  • Extensible: Plugin system allows integration with different platforms and workflows
  • Developer Experience: Hot-reload development loops and comprehensive tooling

Start kind cluster:

Terminal window
make kind-setup

Install chart with pre-configured values:

Terminal window
make helm-install

Wait for all pods to come online.

Check if hosts registered correctly:

Terminal window
kubectl get host
NAME HOSTID HOSTGROUP READY AGE
thinkable-zebra-8670 8247719b-0d85-4940-a03d-7076e045d5ac default True 64s
uppity-religion-0822 3c2a7116-05fd-4f2f-9e6b-8291bd018fb7 default True 66s
vivacious-band-6937 eb27df8b-c5b0-48a3-bafe-a7e92eb19746 default True 66s

This project is licensed under the Apache License 2.0 - see the [LICENSE]!(LICENSE) file for details.