# pi-seo

SEO assistant extension for [pi](https://pi.dev), powered by Google Lighthouse. It adds a main `seo_lighthouse_report` tool that runs Lighthouse in headless Chrome and returns an extensive, prioritized website improvement report.

## Features

- Runs Google Lighthouse from the `lighthouse` npm package
- Launches headless Chrome via `chrome-launcher`
- Reports SEO, performance, accessibility, and best-practices scores
- Generates a prioritized SEO improvement action plan
- Highlights crawl/indexing, metadata, content, accessibility, and performance issues
- Includes a lightweight fallback `seo_check` metadata tool

## Requirements

Lighthouse needs Chrome/Chromium installed on the machine running pi.

## Install

```bash
pi install npm:pi-seo
```

Or try it without installing:

```bash
pi -e npm:pi-seo
```

For local development from this folder:

```bash
npm install
pi -e .
```

## Usage

Ask pi:

```text
Run a Lighthouse SEO report for https://example.com and improve the website based on the findings
```

The main tool is:

```text
seo_lighthouse_report
```

It accepts:

- `url` — website URL to audit
- `categories` — optional Lighthouse categories, defaults to `seo`, `performance`, `accessibility`, `best-practices`
- `formFactor` — `mobile` or `desktop`, defaults to `mobile`
- `includeRawReport` — include the full Lighthouse JSON in tool details

There is also a quick metadata-only tool:

```text
seo_check
```

And a helper command:

```text
/seo
```

## Publishing to npm

1. Update the GitHub URLs in `package.json`.
2. Log in to npm:

   ```bash
   npm login
   ```

3. Check package contents:

   ```bash
   npm run pack:dry-run
   ```

4. Publish:

   ```bash
   npm publish --access public
   ```

## Listing on pi.dev

The package is discoverable on `pi.dev/packages` when published to npm with the `pi-package` keyword. The package manifest includes:

```json
{
  "keywords": ["pi-package"],
  "pi": {
    "extensions": ["./extensions"]
  }
}
```

## License

MIT
