aeorank 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,6 +6,10 @@ Score any website for AI engine visibility across 23 criteria. Pure HTTP + regex
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
  [![Node.js CI](https://github.com/AEO-Content-Inc/aeorank/actions/workflows/ci.yml/badge.svg)](https://github.com/AEO-Content-Inc/aeorank/actions/workflows/ci.yml)
8
8
 
9
+ <p align="center">
10
+ <img src="https://raw.githubusercontent.com/AEO-Content-Inc/aeorank/main/demo.gif" alt="aeorank demo" width="700">
11
+ </p>
12
+
9
13
  ## Quick Start
10
14
 
11
15
  ### CLI
@@ -17,7 +21,9 @@ npx aeorank example.com
17
21
  ```bash
18
22
  npx aeorank example.com --json # JSON output
19
23
  npx aeorank example.com --summary # Human-readable scorecard
24
+ npx aeorank example.com --html # Standalone HTML report
20
25
  npx aeorank example.com --ci --threshold 80 # CI gate
26
+ npx aeorank site-a.com site-b.com # Side-by-side comparison
21
27
  ```
22
28
 
23
29
  ### Programmatic
@@ -65,10 +71,12 @@ AEORank evaluates 23 criteria across 4 categories that determine how AI engines
65
71
 
66
72
  ```
67
73
  aeorank <domain> [options]
74
+ aeorank <domain-a> <domain-b> [options] # comparison mode
68
75
 
69
76
  Options:
70
77
  --json Output raw JSON to stdout
71
78
  --summary Print human-readable scorecard
79
+ --html Generate standalone HTML report file
72
80
  --ci CI mode: JSON + exit 1 if score < threshold
73
81
  --threshold <N> Score threshold for --ci (default: 70)
74
82
  --no-headless Skip Puppeteer SPA rendering
@@ -79,9 +87,21 @@ Options:
79
87
 
80
88
  ## GitHub Actions
81
89
 
90
+ Use the built-in action to gate deployments on AEO score:
91
+
92
+ ```yaml
93
+ - name: AEO Audit
94
+ uses: AEO-Content-Inc/aeorank@v1
95
+ with:
96
+ domain: example.com
97
+ threshold: 70
98
+ ```
99
+
100
+ Or use `npx` directly:
101
+
82
102
  ```yaml
83
103
  - name: AEO Audit
84
- run: npx aeorank ${{ env.SITE_URL }} --ci --threshold 70
104
+ run: npx aeorank example.com --ci --threshold 70
85
105
  ```
86
106
 
87
107
  ## API
@@ -153,6 +173,74 @@ Score interpretation:
153
173
  - **41-55** - Below average, multiple areas need attention
154
174
  - **0-40** - Critical gaps, largely invisible to AI engines
155
175
 
176
+ ## HTML Reports
177
+
178
+ Generate a self-contained HTML report with score visualization, scorecard grid, and opportunities table:
179
+
180
+ ```bash
181
+ npx aeorank example.com --html
182
+ # -> aeorank-example-com.html
183
+
184
+ npx aeorank site-a.com site-b.com --html
185
+ # -> aeorank-site-a-com-vs-site-b-com.html
186
+ ```
187
+
188
+ Reports include inline CSS and SVG - no external dependencies. Open directly in any browser or share as a file.
189
+
190
+ Programmatic usage:
191
+
192
+ ```ts
193
+ import { audit, generateHtmlReport } from 'aeorank';
194
+
195
+ const result = await audit('example.com');
196
+ const html = generateHtmlReport(result);
197
+ ```
198
+
199
+ ## Comparison Mode
200
+
201
+ Compare two sites side-by-side. Both audits run in parallel:
202
+
203
+ ```bash
204
+ npx aeorank site-a.com site-b.com
205
+ npx aeorank site-a.com site-b.com --json
206
+ npx aeorank site-a.com site-b.com --html
207
+ ```
208
+
209
+ Programmatic usage:
210
+
211
+ ```ts
212
+ import { compare } from 'aeorank';
213
+
214
+ const result = await compare('site-a.com', 'site-b.com');
215
+ console.log(result.comparison.scoreDelta); // Overall score difference
216
+ console.log(result.comparison.siteAAdvantages); // Criteria where A leads
217
+ console.log(result.comparison.siteBAdvantages); // Criteria where B leads
218
+ console.log(result.comparison.tied); // Criteria with equal scores
219
+ ```
220
+
221
+ ## Benchmark Dataset
222
+
223
+ The `data/` directory contains open benchmark data from 500+ audited domains:
224
+
225
+ | File | Description |
226
+ |------|-------------|
227
+ | [`data/benchmark.json`](data/benchmark.json) | All domains with per-criterion scores, sector/category |
228
+ | [`data/yc.json`](data/yc.json) | YC startups with company metadata |
229
+ | [`data/sectors.json`](data/sectors.json) | Pre-computed sector statistics |
230
+
231
+ Use the dataset for research, benchmarking, or building on top of AEORank:
232
+
233
+ ```ts
234
+ import benchmark from './data/benchmark.json' assert { type: 'json' };
235
+
236
+ // Find domains scoring above 80
237
+ const topDomains = benchmark.entries.filter(e => e.score >= 80);
238
+
239
+ // Get sector averages
240
+ import sectors from './data/sectors.json' assert { type: 'json' };
241
+ console.log(sectors.sectors.healthcare.mean); // Average score for healthcare
242
+ ```
243
+
156
244
  ## Contributing
157
245
 
158
246
  ```bash