> ## Documentation Index
> Fetch the complete documentation index at: https://wsignal.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install wsignal and confirm the CLI is available.

## Requirements

* Node.js `>= 20.10.0`
* A project directory where you want to receive local webhooks

## Recommended: Install Globally

If you want `wsignal` available across all of your projects, install it globally.

With npm:

```bash theme={null}
npm install -g @wsignal/cli
```

With pnpm:

```bash theme={null}
pnpm add -g @wsignal/cli
```

After that, the `wsignal` binary is available everywhere on your machine.

```bash theme={null}
wsignal --help
```

## Optional: Install Per Project

If you want the CLI version pinned in one repository, install it as a dev dependency instead.

With npm:

```bash theme={null}
npm install -D @wsignal/cli
```

With pnpm:

```bash theme={null}
pnpm add -D @wsignal/cli
```

This is useful when:

* a team wants everyone on the same CLI version
* CI should use the exact same version as local development
* you want changes to the CLI version tracked in the project lockfile

## Run In This Repository

If you are working from the source repository:

```bash theme={null}
pnpm install
pnpm build
node dist/cli.js --help
```

## Confirm The Binary

```bash theme={null}
wsignal --help
```

If you are using the repository source without a global install, you can run it with your package manager:

```bash theme={null}
pnpm dev --help
```

## Update The CLI

`wsignal` checks for updates occasionally when `wsignal dev` runs. The check is skipped in CI and can be disabled with:

```bash theme={null}
WSIGNAL_NO_UPDATE_CHECK=1
```

Check and print update commands:

```bash theme={null}
wsignal update
```

Run a global update:

```bash theme={null}
wsignal update --manager npm --global --yes
```

Update a project-local dev dependency:

```bash theme={null}
wsignal update --manager pnpm --dev --yes
```

## What Gets Installed

The published package exposes:

* CLI binary: `wsignal`
* Config helper export: `@wsignal/cli`

Use the package when you want typed config authoring with `defineConfig` or when you want the executable in local development.
