[](https://github.com/wasmCloud/wasmCloud/releases)
[](https://github.com/wasmCloud/wasmCloud/actions/workflows/wash.yml)
[](https://github.com/wasmCloud/wasmCloud/graphs/contributors)
[](https://github.com/wasmCloud/wasmCloud/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+label%3A%22wash-cli%22)
[](https://crates.io/crates/wash)
```console
_ _ _____ _ _ _
____| | | | / ____| | | | |
__ ____ _ ___ _ __ ___ / ____| | ___ _ _ __| | | (___ | |__ ___| | |
\ \ /\ / / _` / __| '_ ` _ \| | | |/ _ \| | | |/ _` | \___ \| '_ \ / _ \ | |
\ V V / (_| \__ \ | | | | | |____| | (_) | |_| | (_| | ____) | | | | __/ | |
cargo binstall wash
```
### Linux (deb/rpm + apt)
```bash
# Debian / Ubuntu (deb)
curl -s https://packagecloud.io/install/repositories/wasmcloud/core/script.rpm.sh | sudo bash
sudo apt install wash
```
### Linux (snap)
```bash
sudo snap install wash --edge --devmode
```
### Linux (brew)
```bash
brew install wasmcloud/wasmcloud/wash
```
### MacOS (brew)
```bash
brew install wasmcloud/wasmcloud/wash
```
### Windows (choco)
```powershell
choco install wash
```
### Nix
```bash
nix run github:wasmCloud/wash
```
## Proxy authentication
In a scenario where you are behind a proxy, you can set the `HTTP_PROXY` and `HTTPS_PROXY` environment variables to the proxy URL.
And if your proxy requires authentication, you can set the `WASH_PROXY_USERNAME` and `WASH_PROXY_PASSWORD` environment variables to the username and password, respectively. Since most passwords contain special characters, it's recommended to specify the value for 'WASH_PROXY_PASSWORD' in single quotes.
For example, in a unix environment:
```console
export WASH_PROXY_USERNAME='username'
export WASH_PROXY_PASSWORD='p@ssw0rd'
```
## Using wash
`wash` has multiple subcommands, each specializing in one specific area of the wasmCloud development process.
```console
Build:
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
Run:
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
Iterate:
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
Publish:
pull Pull an artifact from an OCI compliant registry
push Push an artifact to an OCI compliant registry
Configure:
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](./Completions.md) for instructions for installing
autocomplete for your shell.
## Contributing to wash
Visit [CONTRIBUTING.md](./CONTRIBUTING.md) for more information on how to contribute to `wash` project.