@goflag/cli 0.2.13 → 0.2.14

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/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  runAudit,
13
13
  summarize,
14
14
  targetKey
15
- } from "./chunk-57NVXEJS.js";
15
+ } from "./chunk-YQPL67HX.js";
16
16
  export {
17
17
  Logger,
18
18
  SAMPLE_LIMIT,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goflag/cli",
3
- "version": "0.2.13",
3
+ "version": "0.2.14",
4
4
  "type": "module",
5
5
  "description": "Audits a site for broken links, missing translation pages, a robots.txt that contradicts your pages, and missing or misconfigured SEO metadata. JSON-first.",
6
6
  "keywords": [
package/rules.json CHANGED
@@ -1,10 +1,17 @@
1
1
  {
2
2
  "counts": {
3
3
  "page": 25,
4
- "site": 28,
4
+ "site": 34,
5
5
  "prose": 5
6
6
  },
7
7
  "sources": {
8
+ "anthropic-crawlers": {
9
+ "id": "anthropic-crawlers",
10
+ "publisher": "Anthropic",
11
+ "title": "Does Anthropic crawl data from the web, and how can site owners block the crawler?",
12
+ "rigor": "vendor-spec",
13
+ "url": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
14
+ },
8
15
  "apple-web-apps": {
9
16
  "id": "apple-web-apps",
10
17
  "publisher": "Apple",
@@ -33,6 +40,13 @@
33
40
  "rigor": "vendor-spec",
34
41
  "url": "https://developers.google.com/search/docs/specialty/international/localized-versions"
35
42
  },
43
+ "google-http-status": {
44
+ "id": "google-http-status",
45
+ "publisher": "Google",
46
+ "title": "How HTTP status codes, and network and DNS errors affect Google Search",
47
+ "rigor": "vendor-spec",
48
+ "url": "https://developers.google.com/search/docs/crawling-indexing/http-network-errors"
49
+ },
36
50
  "google-robots-intro": {
37
51
  "id": "google-robots-intro",
38
52
  "publisher": "Google",
@@ -61,6 +75,13 @@
61
75
  "rigor": "guideline",
62
76
  "url": "https://developers.google.com/search/docs/appearance/snippet"
63
77
  },
78
+ "google-soft-404": {
79
+ "id": "google-soft-404",
80
+ "publisher": "Google",
81
+ "title": "Troubleshoot Google Search crawling errors — soft 404 errors",
82
+ "rigor": "vendor-spec",
83
+ "url": "https://developers.google.com/search/docs/crawling-indexing/troubleshoot-crawling-errors"
84
+ },
64
85
  "google-title-link": {
65
86
  "id": "google-title-link",
66
87
  "publisher": "Google",
@@ -75,6 +96,13 @@
75
96
  "rigor": "normative",
76
97
  "url": "https://www.rfc-editor.org/rfc/rfc6596"
77
98
  },
99
+ "ietf-rfc9110": {
100
+ "id": "ietf-rfc9110",
101
+ "publisher": "IETF",
102
+ "title": "RFC 9110 — HTTP Semantics",
103
+ "rigor": "normative",
104
+ "url": "https://www.rfc-editor.org/rfc/rfc9110"
105
+ },
78
106
  "ietf-rfc9309": {
79
107
  "id": "ietf-rfc9309",
80
108
  "publisher": "IETF",
@@ -82,6 +110,20 @@
82
110
  "rigor": "normative",
83
111
  "url": "https://www.rfc-editor.org/rfc/rfc9309"
84
112
  },
113
+ "lighthouse-llms-txt": {
114
+ "id": "lighthouse-llms-txt",
115
+ "publisher": "Google",
116
+ "title": "Lighthouse — llms.txt (agentic browsing audit)",
117
+ "rigor": "guideline",
118
+ "url": "https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt"
119
+ },
120
+ "llmstxt": {
121
+ "id": "llmstxt",
122
+ "publisher": "llmstxt.org",
123
+ "title": "The /llms.txt file (a proposal)",
124
+ "rigor": "guideline",
125
+ "url": "https://llmstxt.org/"
126
+ },
85
127
  "mdn-link-rel": {
86
128
  "id": "mdn-link-rel",
87
129
  "publisher": "MDN / Mozilla",
@@ -353,6 +395,19 @@
353
395
  "sources": [],
354
396
  "prose": "Your `<head>` advertises a translation your sitemap does not list. Is the sitemap missing an entry, or is the alternate pointing at a page you did not mean to publish?"
355
397
  },
398
+ {
399
+ "id": "http.not-found",
400
+ "scope": "site",
401
+ "severity": "error",
402
+ "kind": "boolean",
403
+ "summary": "A URL that does not exist must answer 404 or 410",
404
+ "rigor": "vendor-spec",
405
+ "sources": [
406
+ "ietf-rfc9110",
407
+ "google-soft-404",
408
+ "google-http-status"
409
+ ]
410
+ },
356
411
  {
357
412
  "id": "icons.apple-touch.missing",
358
413
  "scope": "page",
@@ -503,6 +558,65 @@
503
558
  ],
504
559
  "prose": "Is the text of this page actually written in the language its `lang` attribute declares?"
505
560
  },
561
+ {
562
+ "id": "llmstxt.content-type",
563
+ "scope": "site",
564
+ "severity": "warning",
565
+ "kind": "boolean",
566
+ "summary": "`/llms.txt` must be served as text — `text/plain` or `text/markdown` — not as a page",
567
+ "rigor": "guideline",
568
+ "sources": [
569
+ "llmstxt",
570
+ "ietf-rfc9110"
571
+ ]
572
+ },
573
+ {
574
+ "id": "llmstxt.h1.missing",
575
+ "scope": "site",
576
+ "severity": "warning",
577
+ "kind": "boolean",
578
+ "summary": "An llms.txt must have an H1 naming the site",
579
+ "rigor": "guideline",
580
+ "sources": [
581
+ "llmstxt"
582
+ ]
583
+ },
584
+ {
585
+ "id": "llmstxt.link.blocked-by-robots",
586
+ "scope": "site",
587
+ "severity": "warning",
588
+ "kind": "boolean",
589
+ "summary": "An llms.txt must not list URLs that robots.txt forbids fetching",
590
+ "rigor": "guideline",
591
+ "sources": [
592
+ "llmstxt",
593
+ "ietf-rfc9309",
594
+ "anthropic-crawlers"
595
+ ]
596
+ },
597
+ {
598
+ "id": "llmstxt.link.unreachable",
599
+ "scope": "site",
600
+ "severity": "warning",
601
+ "kind": "boolean",
602
+ "summary": "Every same-origin URL an llms.txt lists must answer",
603
+ "rigor": "guideline",
604
+ "sources": [
605
+ "llmstxt"
606
+ ]
607
+ },
608
+ {
609
+ "id": "llmstxt.unreachable",
610
+ "scope": "site",
611
+ "severity": "warning",
612
+ "kind": "boolean",
613
+ "summary": "`/llms.txt` must answer with the file or with 404, not with a server error",
614
+ "rigor": "guideline",
615
+ "sources": [
616
+ "lighthouse-llms-txt",
617
+ "llmstxt"
618
+ ]
619
+ },
506
620
  {
507
621
  "id": "og.description.missing",
508
622
  "scope": "page",
@@ -1134,7 +1248,7 @@
1134
1248
  "scope": "site",
1135
1249
  "severity": "warning",
1136
1250
  "kind": "boolean",
1137
- "summary": "Indexable pages the crawl found should be listed in the sitemap",
1251
+ "summary": "Indexable pages the crawl found, and the canonical URLs they name, should be listed in the sitemap",
1138
1252
  "rigor": "guideline",
1139
1253
  "sources": [
1140
1254
  "sitemaps-protocol",