@ai-lighthouse/cli 1.0.1 → 1.0.3

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.
Files changed (103) hide show
  1. package/README.md +126 -53
  2. package/dist/index.js +2788 -12
  3. package/package.json +10 -4
  4. package/.ai-lighthouse/audit_example.com_2025-12-15T12-10-43.json +0 -183
  5. package/.ai-lighthouse/audit_fayeed.dev_2026-01-07T19-32-28.html +0 -743
  6. package/.ai-lighthouse/audit_fayeed.dev_2026-01-07T19-33-02.html +0 -757
  7. package/.ai-lighthouse/audit_github.com_2025-12-15T11-53-21.json +0 -168
  8. package/.ai-lighthouse/audit_github.com_2025-12-15T12-04-06.json +0 -168
  9. package/.ai-lighthouse/audit_github.com_2025-12-15T12-05-10.json +0 -168
  10. package/.ai-lighthouse/audit_github.com_2025-12-15T12-09-45.json +0 -168
  11. package/.ai-lighthouse/audit_github.com_2025-12-15T12-11-07.json +0 -168
  12. package/.ai-lighthouse/audit_github.com_2025-12-15T12-13-28.json +0 -168
  13. package/.ai-lighthouse/audit_github.com_2025-12-15T12-14-59.json +0 -205
  14. package/.ai-lighthouse/audit_github.com_2025-12-15T12-18-07.json +0 -205
  15. package/.ai-lighthouse/audit_github.com_2025-12-15T12-18-44.json +0 -205
  16. package/.ai-lighthouse/audit_github.com_2025-12-15T12-21-38.json +0 -205
  17. package/.ai-lighthouse/audit_github.com_2025-12-15T12-22-21.json +0 -205
  18. package/.ai-lighthouse/audit_github.com_2025-12-15T12-22-46.json +0 -205
  19. package/.ai-lighthouse/audit_github.com_2025-12-15T12-23-18.json +0 -205
  20. package/.ai-lighthouse/audit_github.com_2025-12-15T12-24-43.json +0 -205
  21. package/.ai-lighthouse/audit_github.com_2025-12-17T12-15-08.json +0 -168
  22. package/.ai-lighthouse/audit_github.com_2025-12-17T12-15-57.json +0 -168
  23. package/.ai-lighthouse/audit_github.com_2025-12-17T12-17-11.json +0 -168
  24. package/.ai-lighthouse/audit_github.com_2025-12-17T12-22-17.json +0 -168
  25. package/.ai-lighthouse/audit_github.com_2025-12-17T12-22-42.json +0 -168
  26. package/.ai-lighthouse/audit_github.com_2025-12-17T12-23-56.json +0 -168
  27. package/.ai-lighthouse/audit_github.com_2025-12-17T12-25-24.json +0 -168
  28. package/.ai-lighthouse/audit_github.com_2025-12-17T12-25-40.json +0 -168
  29. package/.ai-lighthouse/audit_github.com_2025-12-17T12-27-02.json +0 -168
  30. package/.ai-lighthouse/audit_github.com_2025-12-17T12-27-20.json +0 -168
  31. package/.ai-lighthouse/audit_github.com_2025-12-17T12-29-56.json +0 -168
  32. package/.ai-lighthouse/audit_github.com_2025-12-17T12-32-27.json +0 -168
  33. package/.ai-lighthouse/audit_github.com_2025-12-17T12-33-00.json +0 -168
  34. package/.ai-lighthouse/audit_github.com_2025-12-17T12-34-49.json +0 -168
  35. package/.ai-lighthouse/audit_stripe.com_2025-12-15T12-11-31.json +0 -168
  36. package/.ai-lighthouse/audit_stripe.com_2025-12-15T12-11-45.json +0 -168
  37. package/.ai-lighthouse/audit_tailwindcss.com_2025-12-15T12-12-01.json +0 -169
  38. package/.ai-lighthouse/crawl_example.com_2025-12-15T12-03-08.json +0 -24
  39. package/.ai-lighthouse/crawl_example.com_2025-12-15T12-03-23.json +0 -24
  40. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-41-34.json +0 -21
  41. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-42-09.json +0 -21
  42. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-42-45.json +0 -21
  43. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-43-02.json +0 -21
  44. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-43-26.json +0 -21
  45. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-47-46.json +0 -906
  46. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-50-27.json +0 -906
  47. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-52-59.json +0 -906
  48. package/.ai-lighthouse/crawl_github.com_2025-12-15T12-03-33.json +0 -28
  49. package/CLI_UI_README.md +0 -211
  50. package/EXAMPLES.md +0 -87
  51. package/IMPLEMENTATION.md +0 -215
  52. package/USAGE.md +0 -264
  53. package/WIZARD_GUIDE.md +0 -340
  54. package/bin/cli.js +0 -2
  55. package/dist/commands/audit-interactive.d.ts +0 -2
  56. package/dist/commands/audit-interactive.js +0 -106
  57. package/dist/commands/audit-wizard.d.ts +0 -2
  58. package/dist/commands/audit-wizard.js +0 -110
  59. package/dist/commands/audit.d.ts +0 -2
  60. package/dist/commands/audit.js +0 -940
  61. package/dist/commands/crawl.d.ts +0 -2
  62. package/dist/commands/crawl.js +0 -267
  63. package/dist/commands/report.d.ts +0 -2
  64. package/dist/commands/report.js +0 -304
  65. package/dist/index.d.ts +0 -1
  66. package/dist/ui/AuditReportUI.d.ts +0 -10
  67. package/dist/ui/AuditReportUI.js +0 -76
  68. package/dist/ui/SetupWizard.d.ts +0 -18
  69. package/dist/ui/SetupWizard.js +0 -179
  70. package/dist/ui/components/AIUnderstandingSection.d.ts +0 -6
  71. package/dist/ui/components/AIUnderstandingSection.js +0 -87
  72. package/dist/ui/components/HallucinationSection.d.ts +0 -6
  73. package/dist/ui/components/HallucinationSection.js +0 -84
  74. package/dist/ui/components/IssuesSection.d.ts +0 -6
  75. package/dist/ui/components/IssuesSection.js +0 -84
  76. package/dist/ui/components/MessageAlignmentSection.d.ts +0 -6
  77. package/dist/ui/components/MessageAlignmentSection.js +0 -108
  78. package/dist/ui/components/OverviewSection.d.ts +0 -6
  79. package/dist/ui/components/OverviewSection.js +0 -107
  80. package/dist/ui/components/ScoreDisplay.d.ts +0 -8
  81. package/dist/ui/components/ScoreDisplay.js +0 -41
  82. package/dist/ui/components/TechnicalSection.d.ts +0 -7
  83. package/dist/ui/components/TechnicalSection.js +0 -110
  84. package/dist/utils/comprehensive-formatter.d.ts +0 -5
  85. package/dist/utils/comprehensive-formatter.js +0 -370
  86. package/src/commands/audit-interactive.ts +0 -149
  87. package/src/commands/audit-wizard.ts +0 -137
  88. package/src/commands/audit.ts +0 -1012
  89. package/src/commands/crawl.ts +0 -307
  90. package/src/commands/report.ts +0 -321
  91. package/src/index.ts +0 -22
  92. package/src/ui/AuditReportUI.tsx +0 -151
  93. package/src/ui/SetupWizard.tsx +0 -294
  94. package/src/ui/components/AIUnderstandingSection.tsx +0 -183
  95. package/src/ui/components/HallucinationSection.tsx +0 -172
  96. package/src/ui/components/IssuesSection.tsx +0 -140
  97. package/src/ui/components/MessageAlignmentSection.tsx +0 -203
  98. package/src/ui/components/OverviewSection.tsx +0 -157
  99. package/src/ui/components/ScoreDisplay.tsx +0 -58
  100. package/src/ui/components/TechnicalSection.tsx +0 -200
  101. package/src/utils/comprehensive-formatter.ts +0 -455
  102. package/test.sh +0 -31
  103. package/tsconfig.json +0 -25
@@ -1,168 +0,0 @@
1
- {
2
- "version": "1.0.0",
3
- "audit_id": "06d653cc-0b84-4084-a8ea-5b2e01e452e2",
4
- "scanned_at": "2025-12-15T12:11:31.510Z",
5
- "input": {
6
- "requested_url": "https://stripe.com",
7
- "final_url": "https://stripe.com",
8
- "status_code": 200,
9
- "redirect_chain": []
10
- },
11
- "scores": {
12
- "crawlability": 0,
13
- "structure": 50,
14
- "schema_coverage": 100,
15
- "content_clarity": 50,
16
- "ai_readiness": 63,
17
- "overall": 62.6
18
- },
19
- "entities": [],
20
- "issues": [
21
- {
22
- "id": "CHUNK-001",
23
- "severity": "critical",
24
- "message": "Chunk exceeds recommended token/window size",
25
- "evidence": "tokens:2827",
26
- "suggested_fix": "Break content into smaller semantic sections using headings or create separate pages for distinct topics.",
27
- "impact": "critical",
28
- "category": "content"
29
- },
30
- {
31
- "id": "AIREAD-014",
32
- "severity": "high",
33
- "message": "Missing main semantic container",
34
- "evidence": "No <main> or <article> element found",
35
- "suggested_fix": "Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.",
36
- "impact": "high",
37
- "category": "structure"
38
- },
39
- {
40
- "id": "AIREAD-037",
41
- "severity": "high",
42
- "message": "Images missing alt text",
43
- "evidence": "Images without alt: 2, Examples: https://images.stripeassets.com/fzn2n1nzq965/5epSd, https://images.stripeassets.com/fzn2n1nzq965/5k7Ve",
44
- "suggested_fix": "Add descriptive alt text to all content images. For decorative images, use alt=\"\" to indicate they can be safely ignored.",
45
- "impact": "high",
46
- "category": "structure"
47
- },
48
- {
49
- "id": "AIREAD-002",
50
- "severity": "high",
51
- "message": "Multiple H1 Headings",
52
- "evidence": "count: 84",
53
- "suggested_fix": "Consider using a single H1 heading for better SEO practices.",
54
- "impact": "high",
55
- "category": "structure"
56
- },
57
- {
58
- "id": "CHUNK-002",
59
- "severity": "medium",
60
- "message": "Repetitive text content",
61
- "evidence": "Repetitive patterns: 46, Wasted tokens: ~14218, Example: \"Hospitality, travel and leisure...\"",
62
- "suggested_fix": "Consolidate repetitive text into a single location. Use references or footnotes instead of repeating the same text multiple times.",
63
- "impact": "medium",
64
- "category": "content"
65
- },
66
- {
67
- "id": "CRAWL-004",
68
- "severity": "medium",
69
- "message": "Canonical points to different URL",
70
- "evidence": "Current: https://stripe.com/, Canonical: https://stripe.com/in",
71
- "suggested_fix": "Ensure canonical URL matches the current page URL unless intentionally consolidating duplicate content.",
72
- "impact": "medium",
73
- "category": "crawl"
74
- },
75
- {
76
- "id": "AIREAD-080",
77
- "severity": "medium",
78
- "message": "Missing summary or intro section",
79
- "evidence": "No summary section detected, First paragraph length: 15",
80
- "suggested_fix": "Add a clear introduction or summary section at the start of your content.",
81
- "impact": "medium",
82
- "category": "structure"
83
- },
84
- {
85
- "id": "AIREAD-089",
86
- "severity": "medium",
87
- "message": "Content density too low",
88
- "evidence": "Content ratio: 1.0%, Optimal: >10%",
89
- "suggested_fix": "Increase text content or reduce excessive HTML markup/scripts.",
90
- "impact": "medium",
91
- "category": "structure"
92
- },
93
- {
94
- "id": "CHUNK-005",
95
- "severity": "medium",
96
- "message": "Duplicate navigation elements",
97
- "evidence": "Navigation count: 6, Estimated wasted tokens: ~286",
98
- "suggested_fix": "Consolidate navigation into a single element. If multiple navs are needed, ensure they serve distinct purposes and contain unique content.",
99
- "impact": "medium",
100
- "category": "content"
101
- },
102
- {
103
- "id": "CRAWL-014",
104
- "severity": "low",
105
- "message": "Excessive external resources",
106
- "evidence": "Total external resources: 254",
107
- "suggested_fix": "Consolidate resources, use sprite sheets, inline critical assets, and defer non-critical loads.",
108
- "impact": "low",
109
- "category": "crawl"
110
- }
111
- ],
112
- "recommendations": [
113
- {
114
- "issue_id": "CHUNK-001",
115
- "fix": "Break content into smaller semantic sections using headings or create separate pages for distinct topics.",
116
- "impact": "critical"
117
- },
118
- {
119
- "issue_id": "AIREAD-014",
120
- "fix": "Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.",
121
- "impact": "high"
122
- },
123
- {
124
- "issue_id": "AIREAD-037",
125
- "fix": "Add descriptive alt text to all content images. For decorative images, use alt=\"\" to indicate they can be safely ignored.",
126
- "impact": "high"
127
- },
128
- {
129
- "issue_id": "AIREAD-002",
130
- "fix": "Consider using a single H1 heading for better SEO practices.",
131
- "impact": "high"
132
- }
133
- ],
134
- "detailed_scoring": {
135
- "overall_score": 62.6,
136
- "grade": "C",
137
- "category_scores": [
138
- {
139
- "category": "AIREAD",
140
- "score": 0,
141
- "grade": "F",
142
- "issues": 5,
143
- "weight": 1.5
144
- },
145
- {
146
- "category": "CHUNK",
147
- "score": 0,
148
- "grade": "F",
149
- "issues": 3,
150
- "weight": 1.3
151
- },
152
- {
153
- "category": "CRAWL",
154
- "score": 0,
155
- "grade": "F",
156
- "issues": 2,
157
- "weight": 1.2
158
- }
159
- ],
160
- "severity_breakdown": {
161
- "info": 0,
162
- "low": 1,
163
- "medium": 5,
164
- "high": 3,
165
- "critical": 1
166
- }
167
- }
168
- }
@@ -1,168 +0,0 @@
1
- {
2
- "version": "1.0.0",
3
- "audit_id": "c798389f-6a54-463a-b705-6b54e6f86c64",
4
- "scanned_at": "2025-12-15T12:11:45.283Z",
5
- "input": {
6
- "requested_url": "https://stripe.com",
7
- "final_url": "https://stripe.com",
8
- "status_code": 200,
9
- "redirect_chain": []
10
- },
11
- "scores": {
12
- "crawlability": 0,
13
- "structure": 50,
14
- "schema_coverage": 100,
15
- "content_clarity": 50,
16
- "ai_readiness": 63,
17
- "overall": 62.6
18
- },
19
- "entities": [],
20
- "issues": [
21
- {
22
- "id": "CHUNK-001",
23
- "severity": "critical",
24
- "message": "Chunk exceeds recommended token/window size",
25
- "evidence": "tokens:2827",
26
- "suggested_fix": "Break content into smaller semantic sections using headings or create separate pages for distinct topics.",
27
- "impact": "critical",
28
- "category": "content"
29
- },
30
- {
31
- "id": "AIREAD-014",
32
- "severity": "high",
33
- "message": "Missing main semantic container",
34
- "evidence": "No <main> or <article> element found",
35
- "suggested_fix": "Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.",
36
- "impact": "high",
37
- "category": "structure"
38
- },
39
- {
40
- "id": "AIREAD-037",
41
- "severity": "high",
42
- "message": "Images missing alt text",
43
- "evidence": "Images without alt: 2, Examples: https://images.stripeassets.com/fzn2n1nzq965/5epSd, https://images.stripeassets.com/fzn2n1nzq965/5k7Ve",
44
- "suggested_fix": "Add descriptive alt text to all content images. For decorative images, use alt=\"\" to indicate they can be safely ignored.",
45
- "impact": "high",
46
- "category": "structure"
47
- },
48
- {
49
- "id": "AIREAD-002",
50
- "severity": "high",
51
- "message": "Multiple H1 Headings",
52
- "evidence": "count: 84",
53
- "suggested_fix": "Consider using a single H1 heading for better SEO practices.",
54
- "impact": "high",
55
- "category": "structure"
56
- },
57
- {
58
- "id": "CHUNK-002",
59
- "severity": "medium",
60
- "message": "Repetitive text content",
61
- "evidence": "Repetitive patterns: 46, Wasted tokens: ~14218, Example: \"Hospitality, travel and leisure...\"",
62
- "suggested_fix": "Consolidate repetitive text into a single location. Use references or footnotes instead of repeating the same text multiple times.",
63
- "impact": "medium",
64
- "category": "content"
65
- },
66
- {
67
- "id": "CRAWL-004",
68
- "severity": "medium",
69
- "message": "Canonical points to different URL",
70
- "evidence": "Current: https://stripe.com/, Canonical: https://stripe.com/in",
71
- "suggested_fix": "Ensure canonical URL matches the current page URL unless intentionally consolidating duplicate content.",
72
- "impact": "medium",
73
- "category": "crawl"
74
- },
75
- {
76
- "id": "AIREAD-080",
77
- "severity": "medium",
78
- "message": "Missing summary or intro section",
79
- "evidence": "No summary section detected, First paragraph length: 15",
80
- "suggested_fix": "Add a clear introduction or summary section at the start of your content.",
81
- "impact": "medium",
82
- "category": "structure"
83
- },
84
- {
85
- "id": "AIREAD-089",
86
- "severity": "medium",
87
- "message": "Content density too low",
88
- "evidence": "Content ratio: 1.0%, Optimal: >10%",
89
- "suggested_fix": "Increase text content or reduce excessive HTML markup/scripts.",
90
- "impact": "medium",
91
- "category": "structure"
92
- },
93
- {
94
- "id": "CHUNK-005",
95
- "severity": "medium",
96
- "message": "Duplicate navigation elements",
97
- "evidence": "Navigation count: 6, Estimated wasted tokens: ~286",
98
- "suggested_fix": "Consolidate navigation into a single element. If multiple navs are needed, ensure they serve distinct purposes and contain unique content.",
99
- "impact": "medium",
100
- "category": "content"
101
- },
102
- {
103
- "id": "CRAWL-014",
104
- "severity": "low",
105
- "message": "Excessive external resources",
106
- "evidence": "Total external resources: 254",
107
- "suggested_fix": "Consolidate resources, use sprite sheets, inline critical assets, and defer non-critical loads.",
108
- "impact": "low",
109
- "category": "crawl"
110
- }
111
- ],
112
- "recommendations": [
113
- {
114
- "issue_id": "CHUNK-001",
115
- "fix": "Break content into smaller semantic sections using headings or create separate pages for distinct topics.",
116
- "impact": "critical"
117
- },
118
- {
119
- "issue_id": "AIREAD-014",
120
- "fix": "Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.",
121
- "impact": "high"
122
- },
123
- {
124
- "issue_id": "AIREAD-037",
125
- "fix": "Add descriptive alt text to all content images. For decorative images, use alt=\"\" to indicate they can be safely ignored.",
126
- "impact": "high"
127
- },
128
- {
129
- "issue_id": "AIREAD-002",
130
- "fix": "Consider using a single H1 heading for better SEO practices.",
131
- "impact": "high"
132
- }
133
- ],
134
- "detailed_scoring": {
135
- "overall_score": 62.6,
136
- "grade": "C",
137
- "category_scores": [
138
- {
139
- "category": "AIREAD",
140
- "score": 0,
141
- "grade": "F",
142
- "issues": 5,
143
- "weight": 1.5
144
- },
145
- {
146
- "category": "CHUNK",
147
- "score": 0,
148
- "grade": "F",
149
- "issues": 3,
150
- "weight": 1.3
151
- },
152
- {
153
- "category": "CRAWL",
154
- "score": 0,
155
- "grade": "F",
156
- "issues": 2,
157
- "weight": 1.2
158
- }
159
- ],
160
- "severity_breakdown": {
161
- "info": 0,
162
- "low": 1,
163
- "medium": 5,
164
- "high": 3,
165
- "critical": 1
166
- }
167
- }
168
- }
@@ -1,169 +0,0 @@
1
- {
2
- "version": "1.0.0",
3
- "audit_id": "0eb114c0-15d1-4297-824a-77317d8ad52e",
4
- "scanned_at": "2025-12-15T12:12:01.722Z",
5
- "input": {
6
- "requested_url": "https://tailwindcss.com",
7
- "final_url": "https://tailwindcss.com",
8
- "status_code": 200,
9
- "redirect_chain": []
10
- },
11
- "scores": {
12
- "crawlability": 0,
13
- "structure": 50,
14
- "schema_coverage": 50,
15
- "content_clarity": 5,
16
- "ai_readiness": 42,
17
- "overall": 42.2
18
- },
19
- "entities": [],
20
- "issues": [
21
- {
22
- "id": "CHUNK-001",
23
- "severity": "critical",
24
- "message": "Chunk exceeds recommended token/window size",
25
- "evidence": "tokens:12231",
26
- "suggested_fix": "Break content into smaller semantic sections using headings or create separate pages for distinct topics.",
27
- "impact": "critical",
28
- "category": "content"
29
- },
30
- {
31
- "id": "KG-001",
32
- "severity": "high",
33
- "message": "No Schema.org structured data",
34
- "evidence": "No JSON-LD structured data found",
35
- "suggested_fix": "Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.",
36
- "impact": "high",
37
- "category": "schema"
38
- },
39
- {
40
- "id": "AIREAD-014",
41
- "severity": "high",
42
- "message": "Missing main semantic container",
43
- "evidence": "No <main> or <article> element found",
44
- "suggested_fix": "Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.",
45
- "impact": "high",
46
- "category": "structure"
47
- },
48
- {
49
- "id": "AIREAD-037",
50
- "severity": "high",
51
- "message": "Images missing alt text",
52
- "evidence": "Images without alt: 2, Examples: /_next/static/media/dark-mode.light.288405b1.png, /_next/static/media/dark-mode.dark.7219ba2e.png",
53
- "suggested_fix": "Add descriptive alt text to all content images. For decorative images, use alt=\"\" to indicate they can be safely ignored.",
54
- "impact": "high",
55
- "category": "structure"
56
- },
57
- {
58
- "id": "CRAWL-003",
59
- "severity": "high",
60
- "message": "Missing canonical tag",
61
- "evidence": "No canonical tag found",
62
- "suggested_fix": "Add <link rel=\"canonical\" href=\"...\"> to specify the preferred URL version.",
63
- "impact": "high",
64
- "category": "crawl"
65
- },
66
- {
67
- "id": "CHUNK-002",
68
- "severity": "medium",
69
- "message": "Repetitive text content",
70
- "evidence": "Repetitive patterns: 21, Wasted tokens: ~1273, Example: \"v4.1⌘KCtrl KDocsBlogShowcaseSponsorPlus...\"",
71
- "suggested_fix": "Consolidate repetitive text into a single location. Use references or footnotes instead of repeating the same text multiple times.",
72
- "impact": "medium",
73
- "category": "content"
74
- },
75
- {
76
- "id": "A11Y-002",
77
- "severity": "medium",
78
- "message": "Form inputs without labels",
79
- "evidence": "Unlabeled inputs: 1",
80
- "suggested_fix": "Add <label> elements associated with inputs via for/id attributes, or use aria-label/aria-labelledby attributes.",
81
- "impact": "medium",
82
- "category": "accessibility"
83
- },
84
- {
85
- "id": "CRAWL-014",
86
- "severity": "low",
87
- "message": "Excessive external resources",
88
- "evidence": "Total external resources: 114",
89
- "suggested_fix": "Consolidate resources, use sprite sheets, inline critical assets, and defer non-critical loads.",
90
- "impact": "low",
91
- "category": "crawl"
92
- }
93
- ],
94
- "recommendations": [
95
- {
96
- "issue_id": "CHUNK-001",
97
- "fix": "Break content into smaller semantic sections using headings or create separate pages for distinct topics.",
98
- "impact": "critical"
99
- },
100
- {
101
- "issue_id": "KG-001",
102
- "fix": "Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.",
103
- "impact": "high"
104
- },
105
- {
106
- "issue_id": "AIREAD-014",
107
- "fix": "Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.",
108
- "impact": "high"
109
- },
110
- {
111
- "issue_id": "AIREAD-037",
112
- "fix": "Add descriptive alt text to all content images. For decorative images, use alt=\"\" to indicate they can be safely ignored.",
113
- "impact": "high"
114
- },
115
- {
116
- "issue_id": "CRAWL-003",
117
- "fix": "Add <link rel=\"canonical\" href=\"...\"> to specify the preferred URL version.",
118
- "impact": "high"
119
- }
120
- ],
121
- "detailed_scoring": {
122
- "overall_score": 42.2,
123
- "grade": "F",
124
- "category_scores": [
125
- {
126
- "category": "AIREAD",
127
- "score": 0,
128
- "grade": "F",
129
- "issues": 2,
130
- "weight": 1.5
131
- },
132
- {
133
- "category": "CHUNK",
134
- "score": 0,
135
- "grade": "F",
136
- "issues": 2,
137
- "weight": 1.3
138
- },
139
- {
140
- "category": "CRAWL",
141
- "score": 0,
142
- "grade": "F",
143
- "issues": 2,
144
- "weight": 1.2
145
- },
146
- {
147
- "category": "KG",
148
- "score": 0,
149
- "grade": "F",
150
- "issues": 1,
151
- "weight": 1.1
152
- },
153
- {
154
- "category": "A11Y",
155
- "score": 10,
156
- "grade": "F",
157
- "issues": 1,
158
- "weight": 1.2
159
- }
160
- ],
161
- "severity_breakdown": {
162
- "info": 0,
163
- "low": 1,
164
- "medium": 2,
165
- "high": 4,
166
- "critical": 1
167
- }
168
- }
169
- }
@@ -1,24 +0,0 @@
1
- {
2
- "crawl_id": "crawl_1765800188966_mv5danyv9",
3
- "crawled_at": "2025-12-15T12:03:08.966Z",
4
- "base_url": "https://example.com",
5
- "start_url": "https://example.com",
6
- "total_pages": 1,
7
- "crawl_depth": 2,
8
- "pages": [
9
- "{\n \"version\": \"1.0.0\",\n \"audit_id\": \"78ff5c06-be95-4a24-a0a9-2f05fa01f15e\",\n \"scanned_at\": \"2025-12-15T12:03:08.965Z\",\n \"input\": {\n \"requested_url\": \"https://example.com\",\n \"final_url\": \"https://example.com\",\n \"status_code\": 200,\n \"redirect_chain\": []\n },\n \"scores\": {\n \"crawlability\": 0,\n \"structure\": 50,\n \"schema_coverage\": 0,\n \"content_clarity\": 50,\n \"ai_readiness\": 40,\n \"overall\": 40.2\n },\n \"entities\": [],\n \"issues\": [\n {\n \"id\": \"EXTRACT-001\",\n \"severity\": \"critical\",\n \"message\": \"Potential Content Extraction Issue\",\n \"evidence\": \"Main text length: 0, Article text length: 0, Body text length: 125, Script tag count: 0, Contains __NEXT_DATA__: false, Uses React without data-reactroot: true\",\n \"suggested_fix\": \"Review the HTML structure and ensure that meaningful content is present within <main> or <article> tags. Consider improving the content delivery method if necessary.\",\n \"impact\": \"critical\",\n \"category\": \"schema\"\n },\n {\n \"id\": \"KG-001\",\n \"severity\": \"high\",\n \"message\": \"No Schema.org structured data\",\n \"evidence\": \"No JSON-LD structured data found\",\n \"suggested_fix\": \"Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.\",\n \"impact\": \"high\",\n \"category\": \"schema\"\n },\n {\n \"id\": \"AIREAD-018\",\n \"severity\": \"high\",\n \"message\": \"Thin content detected\",\n \"evidence\": \"Word count: 17\",\n \"suggested_fix\": \"Add substantial, valuable content to the page. Aim for at least 300 words of meaningful content.\",\n \"impact\": \"high\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"AIREAD-014\",\n \"severity\": \"high\",\n \"message\": \"Missing main semantic container\",\n \"evidence\": \"No <main> or <article> element found\",\n \"suggested_fix\": \"Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.\",\n \"impact\": \"high\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"A11Y-001\",\n \"severity\": \"high\",\n \"message\": \"No ARIA landmarks or semantic elements\",\n \"evidence\": \"No landmarks found\",\n \"suggested_fix\": \"Add ARIA landmark roles (role=\\\"main\\\", role=\\\"navigation\\\", etc.) or use semantic HTML5 elements (<main>, <nav>, <header>, <footer>).\",\n \"impact\": \"high\",\n \"category\": \"accessibility\"\n },\n {\n \"id\": \"CRAWL-003\",\n \"severity\": \"high\",\n \"message\": \"Missing canonical tag\",\n \"evidence\": \"No canonical tag found\",\n \"suggested_fix\": \"Add <link rel=\\\"canonical\\\" href=\\\"...\\\"> to specify the preferred URL version.\",\n \"impact\": \"high\",\n \"category\": \"crawl\"\n },\n {\n \"id\": \"AIREAD-010\",\n \"severity\": \"medium\",\n \"message\": \"Missing or short meta description\",\n \"evidence\": \"Description length: 0 chars\",\n \"suggested_fix\": \"Add a meta description tag with 150-160 characters that summarizes the page content.\",\n \"impact\": \"medium\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"AIREAD-013\",\n \"severity\": \"medium\",\n \"message\": \"Missing OpenGraph meta tags\",\n \"evidence\": \"Missing tags: og:title, og:description, og:image\",\n \"suggested_fix\": \"Add missing OpenGraph meta tags (og:title, og:description, og:image) to improve how AI agents and social platforms understand your content.\",\n \"impact\": \"medium\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"AIREAD-098\",\n \"severity\": \"low\",\n \"message\": \"No contact information\",\n \"evidence\": \"No email, phone, or contact links found\",\n \"suggested_fix\": \"Add contact information to improve trust and AI understanding of your organization.\",\n \"impact\": \"low\",\n \"category\": \"structure\"\n }\n ],\n \"recommendations\": [\n {\n \"issue_id\": \"EXTRACT-001\",\n \"fix\": \"Review the HTML structure and ensure that meaningful content is present within <main> or <article> tags. Consider improving the content delivery method if necessary.\",\n \"impact\": \"critical\"\n },\n {\n \"issue_id\": \"KG-001\",\n \"fix\": \"Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"AIREAD-018\",\n \"fix\": \"Add substantial, valuable content to the page. Aim for at least 300 words of meaningful content.\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"AIREAD-014\",\n \"fix\": \"Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"A11Y-001\",\n \"fix\": \"Add ARIA landmark roles (role=\\\"main\\\", role=\\\"navigation\\\", etc.) or use semantic HTML5 elements (<main>, <nav>, <header>, <footer>).\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"CRAWL-003\",\n \"fix\": \"Add <link rel=\\\"canonical\\\" href=\\\"...\\\"> to specify the preferred URL version.\",\n \"impact\": \"high\"\n }\n ],\n \"detailed_scoring\": {\n \"overall_score\": 40.2,\n \"grade\": \"F\",\n \"category_scores\": [\n {\n \"category\": \"AIREAD\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 5,\n \"weight\": 1.5\n },\n {\n \"category\": \"EXTRACT\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.4\n },\n {\n \"category\": \"CRAWL\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.2\n },\n {\n \"category\": \"A11Y\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.2\n },\n {\n \"category\": \"KG\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.1\n }\n ],\n \"severity_breakdown\": {\n \"info\": 0,\n \"low\": 1,\n \"medium\": 2,\n \"high\": 5,\n \"critical\": 1\n }\n }\n}"
10
- ],
11
- "summary": {
12
- "avgOverallScore": 40.2,
13
- "avgAIReadinessScore": 0,
14
- "totalIssues": 9,
15
- "issuesBySeverity": {
16
- "critical": 1,
17
- "high": 5,
18
- "medium": 2,
19
- "low": 1,
20
- "info": 0
21
- },
22
- "pagesWithCriticalIssues": 1
23
- }
24
- }
@@ -1,24 +0,0 @@
1
- {
2
- "crawl_id": "crawl_1765800203946_azpy1j7ir",
3
- "crawled_at": "2025-12-15T12:03:23.946Z",
4
- "base_url": "https://example.com",
5
- "start_url": "https://example.com",
6
- "total_pages": 1,
7
- "crawl_depth": 2,
8
- "pages": [
9
- "{\n \"version\": \"1.0.0\",\n \"audit_id\": \"8bff9c03-cae1-48ce-8d28-4d86357008f8\",\n \"scanned_at\": \"2025-12-15T12:03:23.946Z\",\n \"input\": {\n \"requested_url\": \"https://example.com\",\n \"final_url\": \"https://example.com\",\n \"status_code\": 200,\n \"redirect_chain\": []\n },\n \"scores\": {\n \"crawlability\": 0,\n \"structure\": 50,\n \"schema_coverage\": 0,\n \"content_clarity\": 50,\n \"ai_readiness\": 40,\n \"overall\": 40.2\n },\n \"entities\": [],\n \"issues\": [\n {\n \"id\": \"EXTRACT-001\",\n \"severity\": \"critical\",\n \"message\": \"Potential Content Extraction Issue\",\n \"evidence\": \"Main text length: 0, Article text length: 0, Body text length: 125, Script tag count: 0, Contains __NEXT_DATA__: false, Uses React without data-reactroot: true\",\n \"suggested_fix\": \"Review the HTML structure and ensure that meaningful content is present within <main> or <article> tags. Consider improving the content delivery method if necessary.\",\n \"impact\": \"critical\",\n \"category\": \"schema\"\n },\n {\n \"id\": \"KG-001\",\n \"severity\": \"high\",\n \"message\": \"No Schema.org structured data\",\n \"evidence\": \"No JSON-LD structured data found\",\n \"suggested_fix\": \"Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.\",\n \"impact\": \"high\",\n \"category\": \"schema\"\n },\n {\n \"id\": \"AIREAD-018\",\n \"severity\": \"high\",\n \"message\": \"Thin content detected\",\n \"evidence\": \"Word count: 17\",\n \"suggested_fix\": \"Add substantial, valuable content to the page. Aim for at least 300 words of meaningful content.\",\n \"impact\": \"high\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"AIREAD-014\",\n \"severity\": \"high\",\n \"message\": \"Missing main semantic container\",\n \"evidence\": \"No <main> or <article> element found\",\n \"suggested_fix\": \"Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.\",\n \"impact\": \"high\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"A11Y-001\",\n \"severity\": \"high\",\n \"message\": \"No ARIA landmarks or semantic elements\",\n \"evidence\": \"No landmarks found\",\n \"suggested_fix\": \"Add ARIA landmark roles (role=\\\"main\\\", role=\\\"navigation\\\", etc.) or use semantic HTML5 elements (<main>, <nav>, <header>, <footer>).\",\n \"impact\": \"high\",\n \"category\": \"accessibility\"\n },\n {\n \"id\": \"CRAWL-003\",\n \"severity\": \"high\",\n \"message\": \"Missing canonical tag\",\n \"evidence\": \"No canonical tag found\",\n \"suggested_fix\": \"Add <link rel=\\\"canonical\\\" href=\\\"...\\\"> to specify the preferred URL version.\",\n \"impact\": \"high\",\n \"category\": \"crawl\"\n },\n {\n \"id\": \"AIREAD-010\",\n \"severity\": \"medium\",\n \"message\": \"Missing or short meta description\",\n \"evidence\": \"Description length: 0 chars\",\n \"suggested_fix\": \"Add a meta description tag with 150-160 characters that summarizes the page content.\",\n \"impact\": \"medium\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"AIREAD-013\",\n \"severity\": \"medium\",\n \"message\": \"Missing OpenGraph meta tags\",\n \"evidence\": \"Missing tags: og:title, og:description, og:image\",\n \"suggested_fix\": \"Add missing OpenGraph meta tags (og:title, og:description, og:image) to improve how AI agents and social platforms understand your content.\",\n \"impact\": \"medium\",\n \"category\": \"structure\"\n },\n {\n \"id\": \"AIREAD-098\",\n \"severity\": \"low\",\n \"message\": \"No contact information\",\n \"evidence\": \"No email, phone, or contact links found\",\n \"suggested_fix\": \"Add contact information to improve trust and AI understanding of your organization.\",\n \"impact\": \"low\",\n \"category\": \"structure\"\n }\n ],\n \"recommendations\": [\n {\n \"issue_id\": \"EXTRACT-001\",\n \"fix\": \"Review the HTML structure and ensure that meaningful content is present within <main> or <article> tags. Consider improving the content delivery method if necessary.\",\n \"impact\": \"critical\"\n },\n {\n \"issue_id\": \"KG-001\",\n \"fix\": \"Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"AIREAD-018\",\n \"fix\": \"Add substantial, valuable content to the page. Aim for at least 300 words of meaningful content.\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"AIREAD-014\",\n \"fix\": \"Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"A11Y-001\",\n \"fix\": \"Add ARIA landmark roles (role=\\\"main\\\", role=\\\"navigation\\\", etc.) or use semantic HTML5 elements (<main>, <nav>, <header>, <footer>).\",\n \"impact\": \"high\"\n },\n {\n \"issue_id\": \"CRAWL-003\",\n \"fix\": \"Add <link rel=\\\"canonical\\\" href=\\\"...\\\"> to specify the preferred URL version.\",\n \"impact\": \"high\"\n }\n ],\n \"detailed_scoring\": {\n \"overall_score\": 40.2,\n \"grade\": \"F\",\n \"category_scores\": [\n {\n \"category\": \"AIREAD\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 5,\n \"weight\": 1.5\n },\n {\n \"category\": \"EXTRACT\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.4\n },\n {\n \"category\": \"CRAWL\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.2\n },\n {\n \"category\": \"A11Y\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.2\n },\n {\n \"category\": \"KG\",\n \"score\": 0,\n \"grade\": \"F\",\n \"issues\": 1,\n \"weight\": 1.1\n }\n ],\n \"severity_breakdown\": {\n \"info\": 0,\n \"low\": 1,\n \"medium\": 2,\n \"high\": 5,\n \"critical\": 1\n }\n }\n}"
10
- ],
11
- "summary": {
12
- "avgOverallScore": 40.2,
13
- "avgAIReadinessScore": 0,
14
- "totalIssues": 9,
15
- "issuesBySeverity": {
16
- "critical": 1,
17
- "high": 5,
18
- "medium": 2,
19
- "low": 1,
20
- "info": 0
21
- },
22
- "pagesWithCriticalIssues": 1
23
- }
24
- }
@@ -1,21 +0,0 @@
1
- {
2
- "crawl_id": "crawl_1765798894404_r0lhlr117",
3
- "crawled_at": "2025-12-15T11:41:34.404Z",
4
- "base_url": "https://github.com",
5
- "start_url": "https://github.com",
6
- "total_pages": 0,
7
- "crawl_depth": 2,
8
- "pages": [],
9
- "summary": {
10
- "avg_overall_score": 0,
11
- "avg_ai_readiness": 0,
12
- "total_issues": 0,
13
- "issues_by_severity": {
14
- "critical": 0,
15
- "high": 0,
16
- "medium": 0,
17
- "low": 0,
18
- "info": 0
19
- }
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- {
2
- "crawl_id": "crawl_1765798929629_w1gw88oev",
3
- "crawled_at": "2025-12-15T11:42:09.629Z",
4
- "base_url": "https://github.com",
5
- "start_url": "https://github.com",
6
- "total_pages": 0,
7
- "crawl_depth": 2,
8
- "pages": [],
9
- "summary": {
10
- "avg_overall_score": 0,
11
- "avg_ai_readiness": 0,
12
- "total_issues": 0,
13
- "issues_by_severity": {
14
- "critical": 0,
15
- "high": 0,
16
- "medium": 0,
17
- "low": 0,
18
- "info": 0
19
- }
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- {
2
- "crawl_id": "crawl_1765798965789_3toy7z595",
3
- "crawled_at": "2025-12-15T11:42:45.789Z",
4
- "base_url": "https://github.com",
5
- "start_url": "https://github.com",
6
- "total_pages": 0,
7
- "crawl_depth": 2,
8
- "pages": [],
9
- "summary": {
10
- "avg_overall_score": 0,
11
- "avg_ai_readiness": 0,
12
- "total_issues": 0,
13
- "issues_by_severity": {
14
- "critical": 0,
15
- "high": 0,
16
- "medium": 0,
17
- "low": 0,
18
- "info": 0
19
- }
20
- }
21
- }