[Skip to content](#_top)

[![OpenNav AI](/_astro/full-open-logo.CGezuffk.svg) OpenNav AI](https://opennav.ai/)

Search CtrlK

Cancel

[Docs](https://docs.opennav.ai/index.md)

[Quick Start](https://docs.opennav.ai/getting-started/index.md)

[SDK](https://docs.opennav.ai/sdk/index.md)

[OpenNav AI on X](https://x.com/OpenNavAI)

[Joshua Bellew on X](https://x.com/manofyear93)

[Email Joshua Bellew](mailto:joshua@opennav.ai)

- Start Here

  - [Overview](https://docs.opennav.ai/index.md)
  - [How It Works](https://docs.opennav.ai/how-it-works/index.md)
  - [Getting Started](https://docs.opennav.ai/getting-started/index.md)

- Use OpenNav

  - [CLI](https://docs.opennav.ai/cli/index.md)
  - [SDK](https://docs.opennav.ai/sdk/index.md)

- Frameworks

  - [Astro](https://docs.opennav.ai/frameworks/astro/index.md)
  - [Next.js](https://docs.opennav.ai/frameworks/next/index.md)
  - [Server-side frameworks Soon](https://docs.opennav.ai/frameworks/server-side/index.md)

- Platforms

  - [Cloudflare](https://docs.opennav.ai/platforms/cloudflare/index.md)

- Reference

  - [Generated Files](https://docs.opennav.ai/reference/generated-files/index.md)
  - [Content Extraction](https://docs.opennav.ai/reference/content-extraction/index.md)
  - [Access Guidance](https://docs.opennav.ai/reference/access-guidance/index.md)

- External

  - [AcceptMarkdown](https://acceptmarkdown.com/)
  - [Cloudflare Agent Readiness](https://blog.cloudflare.com/agent-readiness/)
  - [Is It Agent Ready?](https://isitagentready.com/)

[OpenNav AI on X](https://x.com/OpenNavAI)

[Joshua Bellew on X](https://x.com/manofyear93)

[Email Joshua Bellew](mailto:joshua@opennav.ai)

On this page

- [Overview](#_top)
- [Install](#install)
- [CLI Quick Start](#cli-quick-start)
- [Where It Runs](#where-it-runs)
- [Framework SDKs](#framework-sdks)
- [Coming Next: Server-Side Frameworks](#coming-next-server-side-frameworks)

## On this page

- [Overview](#_top)
- [Install](#install)
- [CLI Quick Start](#cli-quick-start)
- [Where It Runs](#where-it-runs)
- [Framework SDKs](#framework-sdks)
- [Coming Next: Server-Side Frameworks](#coming-next-server-side-frameworks)

# Getting Started

Run OpenNav after your existing static build command. The output folder must already contain real prerendered HTML such as `index.html`, `docs/getting-started/index.html`, or `docs/api/index.html`.

## Install

[Section titled “Install”](#install)

Install OpenNav in the project that builds your static site.

- [npm](#tab-panel-12)
- [pnpm](#tab-panel-13)
- [yarn](#tab-panel-14)
- [bun](#tab-panel-15)

Terminal window

```txt
npm install @opennav-ai/opennav
```

Terminal window

```txt
pnpm add @opennav-ai/opennav
```

Terminal window

```txt
yarn add @opennav-ai/opennav
```

Terminal window

```txt
bun add @opennav-ai/opennav
```

## CLI Quick Start

[Section titled “CLI Quick Start”](#cli-quick-start)

Terminal window

```txt
opennav build --static --output dist --site-url https://example.com --site-name "Example Docs"
```

Use `--dry-run` first when you want to preview the exact files OpenNav would create, modify, or skip.

Terminal window

```txt
opennav build --static \  --output dist \  --site-url https://example.com \  --site-name "Example Docs" \  --dry-run
```

## Where It Runs

[Section titled “Where It Runs”](#where-it-runs)

OpenNav is designed for static site platforms first. If your deployment is a folder of files, OpenNav can run before you upload that folder.

| Platform style | Example output | How OpenNav fits |
| --- | --- | --- |
| Cloudflare Pages | `dist/` or framework output | Run OpenNav after the build with `--platform cloudflare-pages`, then deploy the same folder. |
| Netlify | `dist/`, `build/`, or framework output | Add OpenNav as the final build step before publish. |
| Vercel static output | `out/` or generated assets | Run OpenNav for exported static routes before upload. |
| GitHub Pages or CDN hosting | Plain HTML folder | Run OpenNav locally or in CI, then publish the generated files. |

## Framework SDKs

[Section titled “Framework SDKs”](#framework-sdks)

Use the TypeScript SDK when OpenNav should run inside a framework build or a custom Node script. Static Astro and Next.js export builds are the first framework-specific SDK paths.

| Framework | Current support | Output folder |
| --- | --- | --- |
| Astro | Static build helper. | `dist/` |
| Next.js | Static export helper for `output: "export"`. | `out/` |

More framework helpers will follow in coming releases.

## Coming Next: Server-Side Frameworks

[Section titled “Coming Next: Server-Side Frameworks”](#coming-next-server-side-frameworks)

Server-side Astro and Next.js support is planned after the static launch path. The goal is Markdown content negotiation for runtime pages: agents can request a Markdown representation while people still receive normal HTML.

The planned server-side integrations will support both site-wide middleware and per-endpoint middleware, so teams can choose a default policy for the whole app or opt specific routes into Markdown responses.

See the [server-side framework roadmap](https://docs.opennav.ai/frameworks/server-side/index.md) for the planned Astro and Next.js runtime integrations.

[PreviousHow It Works](https://docs.opennav.ai/how-it-works/index.md)

[NextCLI](https://docs.opennav.ai/cli/index.md)

---

Site index: [llms.txt](https://docs.opennav.ai/llms.txt)

<!-- opennav compatible="true" version="1.0" profile="static-agent-ready" build-fingerprint="sha256:ef7e48fe34cc" manifest="/.well-known/opennav.json" -->
