Skip to main content
← Back

wash 1.0 Beta: Wasm Component Model Plugins & Good First Issues

The August 20, 2025 wasmCloud community call is a quick, contributor-focused update centered on the new wash 1.0 beta — a greenfield "Wasm Shell" whose plugins are themselves Wasm components, written in either Rust or Go. Brooks Townsend walks through Eric's fresh "good first issues" blog mapped to the Q3 2025 roadmap, highlights the setup-wash GitHub Action now headed for the Actions marketplace, and recaps the wasmCloud 1.9 minor release: XDG base-directory support, a dashboard for wash dev, and a new built-in HTTP client provider.

Key Takeaways

  • wash 1.0 beta is a greenfield "Wasm Shell" where the CLI is written in Rust but plugins are delivered as Wasm components — so contributors can extend it in either Rust or Go, even commands that aren't part of the base CLI
  • Good first issues are now easy to find: Eric's new blog post collects "good first issue"-labeled tickets from across wasmCloud's repos (including the new wash repository) and ties them to the Q3 2025 roadmap, with over a month left to pick one up
  • A low-friction contribution flow: there's no formal assignment process — just leave a comment on an issue you want to tackle so the team avoids duplicate PRs; contributor Carlos jumped on several issues within a day of them being filed
  • The setup-wash GitHub Action follows reusable-action best practices, points at the latest 1.0 beta of wash, runs on standard GitHub runners, and is being published to the GitHub Actions marketplace for CI/CD pipelines
  • wasmCloud 1.9 cleans up local state by adopting the XDG base-directory specification, so wash no longer clutters the home directory with a bespoke dot-directory
  • wash dev now launches a dashboard automatically, making the local development loop easier to observe
  • A built-in HTTP client provider lets components make outgoing HTTP requests without a separate provider hop — an early favorite among users
  • Every release keeps adding first-time contributors, and the team is leaning further into using wash across the wasmCloud org for building and publishing components

Chapters

Meeting Notes

Good First Issues and the Q3 2025 Roadmap

Brooks opened by sharing a blog post Eric published a few days earlier on the wasmCloud blog, built around the Q3 2025 roadmap. The roadmap had introduced a dedicated "good first issue" column, and Eric gathered the good-first-issue-labeled tickets from across wasmCloud's repositories — including the new wash repository — into one place. Brooks framed it as a great jumping-off point for anyone looking to contribute, noting there was still over a month left in the quarter to claim an issue and ship a fix.

wash 1.0 Beta: A Wasm Shell Built on the Component Model

The biggest area of opportunity for contributions, Brooks said, is the new wash project — a "fairly green-field evolution of the Wasm Shell" (see the introduction to the wash Wasm-powered plugin system). The headline is its architecture: while the CLI itself is written in Rust, its plugins are delivered as Wasm components, and the repository already ships plugins in both Rust and Go. Because components participate in the lifecycle of the CLI, the plugin model can implement many command types — including ones outside the base CLI — and contributors don't need to be Rust-native to pitch in.

The team has been cutting releases of the new wash under a 1.0 beta tag. For now, the existing tooling stays pinned to the pre-1.0 major version; the new wash will supplant it once it's confirmed to cover the key workflows and once the plugin model is proven sufficient. Brooks pointed contributors toward the host plugin docs and the broader runtime and custom-host guides for where the plugin model fits.

Community Contributions

Brooks gave a shout-out to Carlos, a contributor who came in and immediately started taking on good first issues in the wash repository — just about a day after the issues were filed. He emphasized that there's no formal assignment process: anyone interested in an issue should simply leave a comment ("this looks fun, I'll do this") so the team can avoid duplicate PRs. He encouraged more developers to get their hands dirty in the wash code.

setup-wash GitHub Action

For teams running wasmCloud pipelines, Brooks highlighted the setup-wash action for GitHub Actions that Bailey has been driving — including the work to publish it to the GitHub Actions marketplace. The action follows as many reusable-action best practices as possible, points directly at the latest 1.0 beta of wash, and runs on the standard runners GitHub provides. The wasmCloud org plans to lean into it for setting up wash, building components, and pushing components to a container registry in CI. Feedback from anyone using it is welcome.

wasmCloud 1.9 Minor Release

Brooks recapped the wasmCloud 1.9 minor release from the prior week and called out several contributions: Jacob's work to get wash working with the XDG base-directory specification — a standard way to organize local files that removes the bespoke dot-directory cluttering the home folder; a dashboard option for wash dev so the dashboard launches automatically; and OSS Fellow Massoud's built-in HTTP client provider, which lets components make outgoing HTTP requests using the built-in rather than a separate provider hop. He also thanked everyone who made their first contribution in this release, a group that keeps growing each cycle.

WebAssembly News and Updates

This call is a snapshot of wasmCloud's contributor flywheel and its bet on the Wasm component model as an extensibility primitive. The standout signal is wash 1.0 beta: a CLI whose plugins are Wasm components, which means the same component model that lets you build portable WebAssembly components for production also lets you extend your developer tooling — in Rust or Go. On the release side, wasmCloud 1.9 lands quality-of-life wins (XDG directories, a wash dev dashboard, a built-in HTTP client provider) and another wave of first-time contributors. For ongoing updates, follow the wasmCloud blog and the project's good-first-issue tracker on GitHub.

What is wasmCloud?

wasmCloud is a CNCF project that lets you build applications using WebAssembly components and deploy them anywhere — cloud, edge, or Kubernetes clusters. It uses the WebAssembly component model to let you write business logic in any supported language (Rust, Go, Python, TypeScript, C#, and more) while the platform handles capabilities like HTTP, messaging, and key-value storage through a pluggable provider architecture. wasmCloud's reference host is built on Wasmtime, and its tooling — like the new wash "Wasm Shell" — is increasingly composed of Wasm components too, so the same portability and sandboxing apply to your CLI plugins. With built-in OpenTelemetry observability and Kubernetes integration, wasmCloud bridges WebAssembly's portable, sandboxed execution model and production cloud-native infrastructure.

Topic Deep Dive: The Wasm Component Model

The most interesting thread in this short call is what the new wash reveals about the Wasm component model. Most projects use the component model to ship application logic; wash uses it to build the tool itself. Because plugins are Wasm components rather than native dynamic libraries, they inherit the component model's two defining properties: language independence (the wash repo already ships plugins in Rust and Go, and any language that targets the component model could join) and typed, sandboxed composition (a plugin participates in the CLI's lifecycle through interfaces rather than by linking against its internals). That's the same contract wasmCloud uses for host plugins and custom hosts: write to a typed interface once, and the host — or in this case the CLI — can run your component without trusting its implementation. As more of the developer toolchain adopts this pattern, "extend it in any language" stops being a slogan and becomes the default. To go deeper on the component model, see the interfaces overview and the Bytecode Alliance's component model book.

Who Should Watch This

This call is especially valuable for first-time and aspiring contributors looking for a concrete on-ramp into wasmCloud (start with the good-first-issues walkthrough at 4:50), Go and Rust developers curious about building CLI plugins as Wasm components (the wash plugin discussion at 6:10), and platform/CI engineers who want to wire wash into their pipelines (the setup-wash GitHub Action at 9:20).

Up Next

Brooks noted that an agenda item to walk through one of the bigger issues from the wasmCloud roadmap with maintainer Aditya was deferred — he planned to follow up offline and possibly cover it in a future call, even floating a live pair-programming session for anyone interested. Expect future calls to continue tracking the wash 1.0 beta toward GA, more good-first-issues being picked up, and wider use of the setup-wash action across the wasmCloud org. (And, per the meeting's closing bit, perhaps a wasmCloud edition of "affirmations for SREs.")

Get Involved

wasmCloud is a CNCF project and contributions are welcome. Join the community:

Full Transcript

Read the complete transcript with speaker labels and timestamps:

Read the full transcript →