You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(cli): add --require-meta flag to hard-fail on missing meta description (1.11.0) (#37) (#38)
Promotes a missing <meta name="description"> from an info-level
technical-seo finding to a hard exit-1 when --require-meta is passed,
so CI can gate on it even when the page otherwise scores >= 70.
Works in both single-URL and sitemap modes; sitemap mode lists the
offending URLs on stderr. Default behavior is unchanged.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
# Changelog
2
2
3
+
## 1.11.0 (2026-05-28)
4
+
5
+
### Added
6
+
-**`--require-meta` flag (#37).** New CI gate: when passed, the CLI exits `1` if any audited page lacks `<meta name="description">`, regardless of the overall (or aggregate) score-based exit rule. Previously a missing meta description surfaced as a `missing` finding under `technical-seo` but did not fail the run on otherwise-healthy sites, so the issue could silently pass CI. Works in both single-URL and sitemap modes; in sitemap mode the failure lists the offending URLs (truncated to the first three) on stderr.
@@ -183,9 +187,10 @@ When fetching `/llms.txt`, `/llms-full.txt`, `/robots.txt`, and `/sitemap.xml` t
183
187
|`--urls <src>`| In `--detect-platform` mode, run on multiple URLs. `<src>` is a file path (one URL per line), a comma-separated list, or `-` for stdin |
184
188
|`--concurrency <n>`| In `--detect-platform` batch mode, max in-flight fetches (default 5) |
185
189
|`--min-confidence <lvl>`| In platform-detect mode, only report matches at or above this level: `low` (default), `medium`, `high`|
190
+
|`--require-meta`| Exit `1` if any audited page is missing `<meta name="description">`, regardless of the overall score. Works in both single-URL and sitemap modes. |
186
191
|`-h`, `--help`| Show the help message |
187
192
188
-
Exit code `0` for score >= 70, `1` for < 70 (CI-friendly). In sitemap mode the exit code is based on the aggregate score.
193
+
Exit code `0` for score >= 70, `1` for < 70 (CI-friendly). In sitemap mode the exit code is based on the aggregate score. When `--require-meta` is passed, exit is forced to `1` if any audited page lacks `<meta name="description">`, regardless of the score-based rule.
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "@ainyc/aeo-audit",
3
-
"version": "1.10.0",
3
+
"version": "1.11.0",
4
4
"description": "The most comprehensive open-source Answer Engine Optimization (AEO) audit tool. Scores websites across 16 ranking factors that determine AI citation.",
@@ -83,6 +85,10 @@ Use for broad requests such as "audit this site" or "why am I not being cited?"
83
85
- Top fixes
84
86
- Metadata such as fetch time and auxiliary file availability
85
87
88
+
#### `--require-meta` (CI gate)
89
+
90
+
Pass `--require-meta` (single or sitemap mode) to force exit `1` whenever any audited page is missing `<meta name="description">`, regardless of the otherwise score-based exit rule. Useful in CI pipelines that need to block deploys on a missing meta description even on otherwise-healthy sites.
91
+
86
92
### Sitemap Mode
87
93
88
94
Use `--sitemap` to audit all pages discovered from the site's sitemap:
@@ -98,6 +104,7 @@ Flags:
98
104
-`--sitemap [url]` — auto-discover the sitemap (tries `/sitemap.xml`, then `/sitemap-index.xml`, then `Sitemap:` directives in `/robots.txt`) or provide an explicit URL
99
105
-`--limit <n>` — cap pages audited (default 200, sorted by sitemap priority)
100
106
-`--top-issues` — skip per-page output, show only cross-cutting patterns
107
+
-`--require-meta` — force exit `1` if any audited page is missing `<meta name="description">`, regardless of overall score (useful as a CI gate)
101
108
102
109
Pages are audited with bounded concurrency (5 in flight) to avoid hammering the target origin.
0 commit comments