open-index/open-npm huggingface dataset:
npm package: @qovva/cli
Description: Forward live webhooks from Qovva to your local server.
Latest version: 0.1.1

# @qovva/cli

Forward live webhooks from [Qovva](https://qovva.app) to your local server — byte-for-byte, with all original headers and bodies intact.

This solves the local development problem: your webhook source (Stripe, GitHub, Shopify, etc.) points to your Qovva capture endpoint, and the CLI relays every incoming request to `localhost` in real-time.

```
Stripe → api.qovva.app/catch/qw_xxx  →  captured + inspected in dashboard
                                      ↘  forwarded by CLI → localhost:3000/webhooks
```

## Usage

```bash
npx @qovva/cli forward http://localhost:3000/webhooks --api-key qk_live_xxx
```

Or with an environment variable:

```bash
export QOVVA_API_KEY=qk_live_xxx
npx @qovva/cli forward http://localhost:3000/webhooks
```

## Options

| Flag | Description |
|------|-------------|
| `--api-key`, `-k` | Your Qovva API key (or `QOVVA_API_KEY` env var) |
| `--no-reconnect` | Exit on disconnect instead of automatically reconnecting |
| `--help`, `-h` | Show help |

## What gets forwarded

- **Method** — exact method from the original request (`POST`, `PUT`, etc.)
- **Headers** — all original headers except hop-by-hop ones (`host`, `content-length`, `transfer-encoding`, etc.)
- **Body** — raw bytes, preserving original encoding
- **Query parameters** — appended to the target URL

Two headers are added by the CLI:
- `x-forwarded-by: qovva-cli`
- `x-qovva-webhook-id: <webhook-id>` — so you can correlate local logs with the Qovva dashboard

## Self-hosting

Set `QOVVA_API_BASE_URL` to point to your own API instance:

```bash
QOVVA_API_BASE_URL=http://localhost:8080 npx @qovva/cli forward http://localhost:3000/webhooks --api-key qk_xxx
```