---
title: "CLI"
description: "Command-line interface for managing runtime sync."
canonical_url: "https://nuxtseo.com/docs/ai-ready/guides/cli"
last_updated: "2026-09-05T15:39:42.704Z"
---

The `nuxt-ai-ready` CLI provides commands for managing runtime indexing from your terminal.

## Installation

The CLI is included with the module. Run it via npx:

```bash
npx nuxt-ai-ready <command>
```

Or add a script to your `package.json`:

```json [package.json]
{
  "scripts": {
    "ai-ready": "nuxt-ai-ready"
  }
}
```

## Authentication

The CLI automatically reads the secret from `node_modules/.cache/nuxt/ai-ready/secret`, which the module generates when you run `nuxi dev` or `nuxi build`.

::note
Run `nuxi dev` or `nuxi build` at least once before using the CLI to generate the auth secret.
::

## Commands

### status

Show indexing and sync progress.

```bash
npx nuxt-ai-ready status
npx nuxt-ai-ready status --url https://mysite.com
```

**Options:**

| Option  | Alias | Default                 | Description       |
| ------- | ----- | ----------------------- | ----------------- |
| `--url` | `-u`  | `http://localhost:3000` | Site URL          |
| `--cwd` |       | `.`                     | Working directory |

**Output:**

```text
AI Ready Status
Total pages: 50
Indexed: 45
Pending: 5
```

### poll

Trigger page indexing for pending pages.

```bash
# Index up to 10 pages (default)
npx nuxt-ai-ready poll

# Index up to 50 pages
npx nuxt-ai-ready poll --limit 50

# Index all pending pages
npx nuxt-ai-ready poll --all
```

**Options:**

| Option    | Alias | Default                 | Description               |
| --------- | ----- | ----------------------- | ------------------------- |
| `--url`   | `-u`  | `http://localhost:3000` | Site URL                  |
| `--limit` | `-l`  | `10`                    | Max pages to process      |
| `--all`   | `-a`  | `false`                 | Process all pending pages |
| `--cwd`   |       | `.`                     | Working directory         |

**Output:**

```text
Triggering poll at http://localhost:3000...
Indexed: 20 pages
Remaining: 25
Duration: 1234ms
```

### restore

Restore database from prerendered dump. Useful for resetting to the build-time state.

```bash
# Restore and clear existing pages
npx nuxt-ai-ready restore

# Restore without clearing (merge)
npx nuxt-ai-ready restore --no-clear
```

**Options:**

| Option    | Alias | Default                 | Description                |
| --------- | ----- | ----------------------- | -------------------------- |
| `--url`   | `-u`  | `http://localhost:3000` | Site URL                   |
| `--clear` |       | `true`                  | Clear existing pages first |
| `--cwd`   |       | `.`                     | Working directory          |

**Output:**

```text
Restoring database at http://localhost:3000...
Restored: 50 pages
Cleared: 45 existing pages
```

### prune

Remove stale routes that are no longer in the sitemap.

```bash
# Preview what would be pruned (dry run)
npx nuxt-ai-ready prune --dry

# Prune routes older than 7 days
npx nuxt-ai-ready prune --ttl 604800

# Preview with custom TTL
npx nuxt-ai-ready prune --dry --ttl 86400
```

**Options:**

| Option  | Alias | Default                 | Description                            |
| ------- | ----- | ----------------------- | -------------------------------------- |
| `--url` | `-u`  | `http://localhost:3000` | Site URL                               |
| `--dry` | `-d`  | `false`                 | Preview without deleting               |
| `--ttl` |       | `pruneTtl` config       | Prune routes older than this (seconds) |
| `--cwd` |       | `.`                     | Working directory                      |

**Output (dry run):**

```text
Previewing stale routes at http://localhost:3000...
Would prune: 5 routes
  • /old-page-1
  • /old-page-2
  • /removed-feature
  ... and 2 more
```

## Workflow Examples

### Development Workflow

```bash
# Start dev server
nuxi dev

# In another terminal, check status
npx nuxt-ai-ready status

# Manually trigger indexing
npx nuxt-ai-ready poll --all
```

### Production Deployment

```bash
# After deployment, index all pages
npx nuxt-ai-ready poll --all --url https://mysite.com

# Clean up old routes weekly
npx nuxt-ai-ready prune --ttl 604800 --url https://mysite.com
```

### CI/CD Integration

Add to your deployment pipeline:

```yaml [.github/workflows/deploy.yml]
- name: Index pages
  run: npx nuxt-ai-ready poll --all --url ${{ vars.SITE_URL }}
```

## Troubleshooting

### "No secret found" Error

The CLI needs an auth secret generated by the module. Run `nuxi dev` or `nuxi build` first:

```bash
nuxi dev
# or
nuxi build
```

### Connection Refused

Ensure the dev server or production site is running and accessible at the specified URL:

```bash
# Check if server is running
curl http://localhost:3000/__ai-ready/status
```

### Wrong Working Directory

If running from a different directory, specify `--cwd`:

```bash
npx nuxt-ai-ready status --cwd /path/to/project
```