A meta-registry for WebAssembly

Find WebAssembly applications, libraries, and interface types published to any OCI 1.1-compliant registry. This includes GitHub Packages, AWS ECR, JFrog Artifactory, and more. Wasm Directory never serves packages directly: its only job is to serve metadata and resolve names.

alphaThis registry is in alpha. Indexed data may be incomplete or reset without notice, and both the site and APIs can still change or break. Explore freely and share feedback, but don't depend on it in production yet.
01Example: Browse the reusable standard WASI interfaces02Example: Discover HTTP client programs
03Example: Find components that can handle incoming HTTP requests (not available yet)
Get started

Run your first component

Install the CLI, then go from an empty directory to a running wasi:http server.

  1. Install the CLI

    Grab the component CLI for your platform. We’ve picked the command that matches your system. Copy it and run.

  2. Initialize a project

    Scaffold a project in the current directory. This writes a wasm.toml manifest and a wasm.lock.toml lockfile so dependencies resolve to exact, reproducible versions.

    component init
  3. Add a dependency

    Add a dependency from any OCI registry. Here we pull in ba:sample-wasi-http-rust (a ready-made wasi:http server) and record it in your manifest and lockfile.

    component install ba:sample-wasi-http-rust
  4. Run the server

    Run the server you just installed. component run fetches the component if needed and serves it on localhost:8080.

    component run ba:sample-wasi-http-rust
  5. Send a request

    From another terminal, send it a request and watch it respond.

    curl localhost:8080
For maintainers

Publish your first component.

Add your namespace to a registry config and run component publish.

Open the publishing guide Read the spec