# Install



# Overview

Install the CLI as a dependency so you can run `peam` in local builds and CI.

## Install

<CodeBlockTabs defaultValue="npm">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="npm">
      npm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="pnpm">
      pnpm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="yarn">
      yarn
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="bun">
      bun
    </CodeBlockTabsTrigger>
  </CodeBlockTabsList>

  <CodeBlockTab value="npm">
    ```bash
    npm install peam
    ```
  </CodeBlockTab>

  <CodeBlockTab value="pnpm">
    ```bash
    pnpm add peam
    ```
  </CodeBlockTab>

  <CodeBlockTab value="yarn">
    ```bash
    yarn add peam
    ```
  </CodeBlockTab>

  <CodeBlockTab value="bun">
    ```bash
    bun add peam
    ```
  </CodeBlockTab>
</CodeBlockTabs>

## Usage

The CLI builds a search index from one or more sources and exports it to one or more stores.

### Basic usage

```bash
peam \
  --source fileBased --projectDir . --sourceDir .next \
  --exclude /admin/** \
  --store fileBased --indexPath .peam/index.json
```

### Multiple sources and stores

```bash
peam \
  --source fileBased --projectDir . --sourceDir dist \
  --source prerender --projectDir . --prerenders ./out/prerender-manifest.json \
  --exclude /drafts/** --exclude /private/** \
  --store fileBased --indexPath .peam/index.json
```

### Help and discovery

```bash
peam --help
peam --help sources
peam --help stores
peam --version
```

### Notes

* When `--source` or `--store` is omitted, the CLI uses the default `fileBased` type.
* `--exclude` can be repeated to add multiple patterns.
* `--robotsTxt` accepts `true`, `false`, or a file path.


## Sitemap
[Overview of all docs pages](/sitemap.md)
