# OpenIngress – agent crawl and navigation checks

> Source: <https://github.com/Open-Ingress/OpenIngress>
> Published: 2026-07-11 19:01:07+00:00

**Audits whether autonomous agents can complete real buyer flows.**

Rendered crawl, operability checks, simulated navigation, evidence reports.

[openingress.dev](https://openingress.dev) ·
[LinkedIn](https://www.linkedin.com/company/openingress) ·
[Features](#what-you-get)

OpenIngress crawls rendered pages, runs static operability checks, simulates agent-style navigation, and produces evidence-heavy reports with fix prompts and remediation exports.

This repository includes the open-source backend and an optional Vue frontend. The backend is the main artifact. The hosted site at [openingress.dev](https://www.openingress.dev) offers a demo report and contact flow.

**AEO** and **GEO** help AI systems *find* and *cite* your store. That does not mean an agent can *shop* it.

| Layer | What it solves |
|---|---|
AEO / GEO |
Brand visibility in AI answers — "this store sells workout gear" |
Intra-site navigation |
Machine-readable commerce on the live site — sizes in stock, cart state, checkout handoff |

OpenIngress audits the second layer: whether an agent can traverse catalog → product → cart → checkout, not whether your marketing pages rank in an answer box. More detail in [docs/ARCHITECTURE.md](/Open-Ingress/OpenIngress/blob/main/docs/ARCHITECTURE.md).

**Rendered crawl**— screenshots, HTML, and accessibility trees** Static operability**— label coverage, DOM health,`llms.txt`

, hydration gaps**Agent exploration**— heuristic or LLM-guided navigation through discovery → product → cart → checkout** Buyer-flow evidence**— funnel steps with pass/fail, blockers, and screenshot replay** Readiness score**— headline metric plus revenue-ranked blockers** Fix packs**— implementation prompts and Markdown/PDF exports** Dashboard**— Vue app for audits, runs, reports, and fixes

Sample report: [openingress.dev](https://openingress.dev) or `/reports/demo`

locally (no backend required).

**Requirements:** Python 3.10+, Node.js 18+, Chromium (via Playwright)

```
git clone https://github.com/Open-Ingress/OpenIngress.git
cd OpenIngress

cp .env.example .env
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env

make install
make backend   # terminal 1 → http://127.0.0.1:5055
make frontend  # terminal 2 → http://localhost:5175
```

Open ** http://localhost:5175** →

**New audit**→ enter a storefront URL.

Browser automation uses **Playwright** for the crawl layer. Exploration and scoring sit on top: accessibility-tree inspection, navigation-graph analysis, operability checks, and report generation.

``` php
flowchart LR
  URL[Storefront URL] --> Crawl[Rendered crawl]
  Crawl --> Static[Static checks]
  Crawl --> Explore[Agent exploration]
  Static --> Report[Readiness report]
  Explore --> Report
  Report --> Fixes[Fix prompts + exports]
```

**Crawl**— discover pages, capture HTML, screenshots, and aria snapshots** Analyze**— score operability, map navigation, detect commerce funnel steps** Explore**— agent-style clicks through the buyer journey** Report**— scores, blockers, traces, and remediation exports

| Path | Purpose |
|---|---|
`backend/` |

`frontend/`

`docs/`

`frontend/public/demo-report/`

`/reports/demo`

`Dockerfile`

| Guide | Description |
|---|---|
|

[API reference](/Open-Ingress/OpenIngress/blob/main/docs/API.md)[Deployment](/Open-Ingress/OpenIngress/blob/main/docs/SELF_HOST.md)[Development](/Open-Ingress/OpenIngress/blob/main/docs/DEVELOPMENT.md)| Variable | Where | Purpose |
|---|---|---|
`LLM_API_KEY` |
`backend/.env` |
OpenAI-compatible key for agent exploration |
`LLM_BASE_URL` |
`backend/.env` |
Any compatible endpoint (Ollama, Azure, etc.) |
`VITE_API_URL` |
`frontend/.env` |
Backend API base (`http://127.0.0.1:5055/api/ingress` ) |

Full reference: [docs/SELF_HOST.md](/Open-Ingress/OpenIngress/blob/main/docs/SELF_HOST.md)

```
make test
make smoke   # backend must be running
```

See [CONTRIBUTING.md](/Open-Ingress/OpenIngress/blob/main/CONTRIBUTING.md) and [docs/DEVELOPMENT.md](/Open-Ingress/OpenIngress/blob/main/docs/DEVELOPMENT.md).
