> For the complete documentation index, see [llms.txt](https://jubianchi.gitbook.io/wasmer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jubianchi.gitbook.io/wasmer-docs/doc-update-1.0/ecosystem/wapm/getting-started.md).

# Getting Started

This guide will introduce the `wapm` tool and show a few common workflows. The WAPM client can install packages, manage WebAssembly dependencies, and expose WebAssembly behavior with commands.

## Install WAPM

WAPM comes bundled with Wasmer, so you just need to install Wasmer in your system to have the `wapm` CLI!

{% content-ref url="/pages/-MLK8Ynl\_1r441iq1nQx" %}
[Getting Started](/wasmer-docs/doc-update-1.0/ecosystem/wasmer/getting-started.md)
{% endcontent-ref %}

## **Basic Usage**

With the tools installed, one can easily start using universal Wasm binaries by using the `install` command of `wapm` CLI:

```
wapm install cowsay
```

Installing a package creates a local package directory called `wapm_packages` where all packages are installed.

{% hint style="info" %}

### Did you know ...?

A WAPM package can be installed globally by adding the `-g` flag.\
Eg:`wapm install -g cowsay`
{% endhint %}

While in a directory with WAPM packages, one may execute them with the `run` command:

```
wapm run cowsay hello wapm!
```

```
< hello wapm! >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
               ||----w |
                ||     ||
```

Great! You used a WAPM package in your system... now let's try to create our own package and publish it to WAPM so other users can use it

{% hint style="success" %}
When executing WAPM, you can also customize the WebAssembly runtime used under the hood.

For example, if you want to use [`wasmer-js`](/wasmer-docs/doc-update-1.0/integrations/js/wasmer-js-cli.md) as the runtime, you can do:

```
WAPM_RUNTIME=wasmer-js wapm run cowsay hello wapm!
```

{% endhint %}
