created_at2020-11-10 18:01:09.242967
updated_at2024-05-10 14:38:29.82614
descriptionwasmCloud Shell (wash) CLI tool
wasmCloud Automation Bot (wasmcloud-automation)



Latest Release Rust Build Rust Version Contributors Good first issues wash-cli

                                     _                 _    _____ _          _ _
                                ____| |               | |  / ____| |        | | |
 __      ____ _ ___ _ __ ___  / ____| | ___  _   _  __| | | (___ | |__   ___| | |
 \ \ /\ / / _` / __| '_ ` _ \| |    | |/ _ \| | | |/ _` |  \___ \| '_ \ / _ \ | |
  \ V  V / (_| \__ \ | | | | | |____| | (_) | |_| | (_| |  ____) | | | |  __/ | |
   \_/\_/ \__,_|___/_| |_| |_|\_____|_|\___/ \__,_|\__,_| |_____/|_| |_|\___|_|_|

Why wash

wash is a bundle of command line tools that, together, form a comprehensive CLI for wasmCloud development. Everything from generating new wasmCloud projects, starting local development infrastructure, interacting with OCI compliant registries, and deploying applications is contained within the subcommands of wash. Our goal with wash is to encapsulate our tools into a single binary to make developing WebAssembly with wasmCloud painless and simple.

Installing wash


cargo install wash-cli

Linux (deb/rpm + apt)

# Debian / Ubuntu (deb)
curl -s https://packagecloud.io/install/repositories/wasmcloud/core/script.deb.sh | sudo bash
# Fedora (rpm)
curl -s https://packagecloud.io/install/repositories/wasmcloud/core/script.rpm.sh | sudo bash

sudo apt install wash

Linux (snap)

sudo snap install wash --edge --devmode

Linux (brew)

brew install wasmcloud/wasmcloud/wash

MacOS (brew)

brew install wasmcloud/wasmcloud/wash

Windows (choco)

choco install wash


nix run github:wasmCloud/wash

Using wash

wash has multiple subcommands, each specializing in one specific area of the wasmCloud development process.

  new          Create a new project from a template
  build        Build (and sign) a wasmCloud component or capability provider
  dev          Start a developer loop to hot-reload a local wasmCloud component
  inspect      Inspect a capability provider or Wasm component for signing information and interfaces
  par          Create, inspect, and modify capability provider archive files

  up           Bootstrap a local wasmCloud environment
  down         Tear down a local wasmCloud environment (launched with wash up)
  app          Manage declarative applications and deployments (wadm)
  spy          Spy on all invocations a component sends and receives
  ui           Serve a web UI for wasmCloud

  get          Get information about different running wasmCloud resources
  start        Start a component or capability provider
  scale        Scale a component running in a host to a certain level of concurrency
  stop         Stop a component, capability provider, or host
  update       Update a component running in a host to newer image reference
  link         Link one component to another on a set of interfaces
  call         Invoke a simple function on a component running in a wasmCloud host
  label        Label (or un-label) a host with a key=value label pair
  config       Create configuration for components, capability providers and links

  pull         Pull an artifact from an OCI compliant registry
  push         Push an artifact to an OCI compliant registry
  reg          Perform operations on an OCI registry

  completions  Generate shell completions for wash
  ctx          Manage wasmCloud host configuration contexts
  drain        Manage contents of local wasmCloud caches
  keys         Utilities for generating and managing signing keys
  claims       Generate and manage JWTs for wasmCloud components and capability providers

Shell auto-complete

wash has support for autocomplete for Zsh, Bash, Fish, and PowerShell. See Completions for instructions for installing autocomplete for your shell.

Contributing to wash

Visit CONTRIBUTING.md for more information on how to contribute to wash project.

Commit count: 4446

cargo fmt