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

# Package commands

> install, add, remove, and search — full flag reference.

## meow install

Resolve declared dependencies, write the lockfile, and materialize `node_modules`.

```bash theme={null}
meow install
meow i
meow install lodash-es          # add package(s) before installing
meow install --vendor
meow install --clean --compat-lockfile
```

| Flag                 | Description                                                      |
| -------------------- | ---------------------------------------------------------------- |
| `--materialize`      | Install into `node_modules/` (the default layout).               |
| `--vendor`           | Copy packages into a `vendor/` directory instead.                |
| `--vendor-dir <dir>` | Target directory for `--vendor` (default `vendor`).              |
| `--clean`            | Remove the existing `node_modules/` or `vendor/` first.          |
| `-D`, `--dev`        | Add the given package(s) to `devDependencies` before installing. |
| `-g`, `--global`     | Install globally (writes a shim in `~/.meow/bin`).               |
| `--compat-lockfile`  | Also write a minimal `package-lock.json` marker.                 |
| `[packages…]`        | Optional specifiers to add before installing.                    |

`i` is an alias for `install`.

***

## meow add

Add one or more dependencies to `package.json`, then install.

```bash theme={null}
meow add zod
meow add -D vitest typescript
meow add "p-limit@^5"
meow add -g cowsay              # global tool shim
```

| Flag             | Description                                                                   |
| ---------------- | ----------------------------------------------------------------------------- |
| `-D`, `--dev`    | Add to `devDependencies` instead of `dependencies`.                           |
| `-g`, `--global` | Install globally (writes a `~/.meow/bin` shim that runs via `meow x`).        |
| `<packages…>`    | One or more specifiers (`name`, `name@range`, `name@tag`, `npm:other@range`). |

Unversioned packages resolve to the `latest` dist-tag.

***

## meow remove

Remove dependencies from `package.json`, then install. Aliases: `rm`, `del`,
`delete`, `uninstall`.

```bash theme={null}
meow remove zod
meow rm lodash-es react
meow remove -g cowsay           # also removes the global shim
```

| Flag             | Description                                                   |
| ---------------- | ------------------------------------------------------------- |
| `-g`, `--global` | Remove the global shim.                                       |
| `<packages…>`    | Package names (remove by **name** — don't include a version). |

***

## meow search

Search the npm registry. Aliases: `s`, `find`.

```bash theme={null}
meow search vite
meow search "react form" -n 5
meow search vite --json
```

| Flag                | Default | Description                         |
| ------------------- | ------- | ----------------------------------- |
| `-n`, `--limit <N>` | `20`    | Max results (capped at 250).        |
| `--json`            | off     | Emit raw JSON instead of the table. |
| `<query…>`          |         | Search terms (joined with spaces).  |

<Card title="Quality commands" icon="screwdriver-wrench" href="/cli/quality">
  check, lint, fmt, bundle.
</Card>
