@mcptoolshop/a11y-evidence-engine 0.3.0 → 0.3.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.
- package/.github/workflows/ci.yml +21 -2
- package/.github/workflows/pages.yml +50 -0
- package/.github/workflows/publish.yml +48 -0
- package/.polyglot-cache.json +1055 -0
- package/README.es.md +109 -0
- package/README.fr.md +109 -0
- package/README.hi.md +109 -0
- package/README.it.md +109 -0
- package/README.ja.md +109 -0
- package/README.md +44 -11
- package/README.pt-BR.md +109 -0
- package/README.zh.md +109 -0
- package/assets/logo-a11y-evidence-engine.png +0 -0
- package/docs/index.md +31 -0
- package/package.json +4 -4
- package/site/astro.config.mjs +13 -0
- package/site/package-lock.json +6141 -0
- package/site/package.json +17 -0
- package/site/src/pages/index.astro +33 -0
- package/site/src/site-config.ts +94 -0
- package/site/src/styles/global.css +3 -0
- package/site/tsconfig.json +5 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "site",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"private": true,
|
|
5
|
+
"version": "0.0.1",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "astro dev",
|
|
8
|
+
"build": "astro build",
|
|
9
|
+
"preview": "astro preview"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@mcptoolshop/site-theme": "^0.2.4",
|
|
13
|
+
"@tailwindcss/vite": "^4.2.0",
|
|
14
|
+
"astro": "^5.17.0",
|
|
15
|
+
"tailwindcss": "^4.2.0"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
import '../styles/global.css';
|
|
3
|
+
import BaseLayout from '@mcptoolshop/site-theme/components/BaseLayout.astro';
|
|
4
|
+
import Hero from '@mcptoolshop/site-theme/components/Hero.astro';
|
|
5
|
+
import Section from '@mcptoolshop/site-theme/components/Section.astro';
|
|
6
|
+
import FeatureGrid from '@mcptoolshop/site-theme/components/FeatureGrid.astro';
|
|
7
|
+
import DataTable from '@mcptoolshop/site-theme/components/DataTable.astro';
|
|
8
|
+
import CodeCardGrid from '@mcptoolshop/site-theme/components/CodeCardGrid.astro';
|
|
9
|
+
import ApiList from '@mcptoolshop/site-theme/components/ApiList.astro';
|
|
10
|
+
import { config } from '../site-config';
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<BaseLayout
|
|
14
|
+
title={config.title}
|
|
15
|
+
description={config.description}
|
|
16
|
+
logoBadge={config.logoBadge}
|
|
17
|
+
brandName={config.brandName}
|
|
18
|
+
repoUrl={config.repoUrl}
|
|
19
|
+
npmUrl={config.npmUrl}
|
|
20
|
+
footerText={config.footerText}
|
|
21
|
+
nav={config.sections.map(s => ({ href: `#${s.id}`, label: s.title }))}
|
|
22
|
+
>
|
|
23
|
+
<Hero {...config.hero} />
|
|
24
|
+
|
|
25
|
+
{config.sections.map((s) => (
|
|
26
|
+
<Section id={s.id} title={s.title} subtitle={s.subtitle}>
|
|
27
|
+
{s.kind === 'features' && <FeatureGrid features={s.features} />}
|
|
28
|
+
{s.kind === 'data-table' && <DataTable columns={s.columns} rows={s.rows} />}
|
|
29
|
+
{s.kind === 'code-cards' && <CodeCardGrid cards={s.cards} />}
|
|
30
|
+
{s.kind === 'api' && <ApiList apis={s.apis} />}
|
|
31
|
+
</Section>
|
|
32
|
+
))}
|
|
33
|
+
</BaseLayout>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { SiteConfig } from '@mcptoolshop/site-theme';
|
|
2
|
+
|
|
3
|
+
export const config: SiteConfig = {
|
|
4
|
+
title: 'a11y-evidence-engine',
|
|
5
|
+
description: 'Headless accessibility evidence engine with prov-spec provenance',
|
|
6
|
+
logoBadge: 'AE',
|
|
7
|
+
brandName: 'a11y-evidence-engine',
|
|
8
|
+
repoUrl: 'https://github.com/mcp-tool-shop-org/a11y-evidence-engine',
|
|
9
|
+
npmUrl: 'https://www.npmjs.com/package/@mcptoolshop/a11y-evidence-engine',
|
|
10
|
+
footerText: 'MIT Licensed \u2014 built by <a href="https://github.com/mcp-tool-shop-org" style="color:var(--color-muted);text-decoration:underline">mcp-tool-shop-org</a>',
|
|
11
|
+
|
|
12
|
+
hero: {
|
|
13
|
+
badge: 'Node.js / CLI',
|
|
14
|
+
headline: 'a11y-evidence-engine,',
|
|
15
|
+
headlineAccent: 'findings you can verify.',
|
|
16
|
+
description: 'Headless accessibility scanner that emits prov-spec provenance records. Every finding includes cryptographically verifiable evidence \u2014 no browser required, deterministic output, CI-ready.',
|
|
17
|
+
primaryCta: { href: '#quick-start', label: 'Get started' },
|
|
18
|
+
secondaryCta: { href: '#features', label: 'Learn more' },
|
|
19
|
+
previews: [
|
|
20
|
+
{ label: 'Install', code: 'npm install -g @mcptoolshop/a11y-evidence-engine' },
|
|
21
|
+
{ label: 'Scan', code: 'a11y-engine scan ./html --out ./results' },
|
|
22
|
+
{ label: 'Verify', code: 'cat results/provenance/finding-0001/digest.json' },
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
sections: [
|
|
27
|
+
{
|
|
28
|
+
kind: 'features',
|
|
29
|
+
id: 'features',
|
|
30
|
+
title: 'Why a11y-evidence-engine?',
|
|
31
|
+
subtitle: 'Accessibility findings backed by cryptographic proof.',
|
|
32
|
+
features: [
|
|
33
|
+
{ title: 'Deterministic', desc: 'Same input always produces identical findings and provenance. No randomness, no flaky results.' },
|
|
34
|
+
{ title: 'prov-spec Compatible', desc: 'Every finding includes three provenance records: evidence extraction, SHA-256 digest, and MCP envelope.' },
|
|
35
|
+
{ title: 'No Browser Required', desc: 'Pure static HTML analysis. No Puppeteer, no Playwright, no headless Chrome \u2014 just the HTML.' },
|
|
36
|
+
{ title: 'CI-Friendly', desc: 'Exit codes designed for automation: 0 for clean, 2 for findings, 3 for engine failure.' },
|
|
37
|
+
{ title: 'Pairs with a11y-assist', desc: 'This engine finds issues and captures evidence. a11y-assist turns those findings into fixes.' },
|
|
38
|
+
{ title: 'Verifiable Without Trust', desc: 'Provenance records are independently verifiable. You don\u2019t have to trust the engine to trust the results.' },
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
kind: 'code-cards',
|
|
43
|
+
id: 'quick-start',
|
|
44
|
+
title: 'Quick Start',
|
|
45
|
+
cards: [
|
|
46
|
+
{
|
|
47
|
+
title: 'Scan & review',
|
|
48
|
+
code: 'npm install -g @mcptoolshop/a11y-evidence-engine\n\n# Scan a file or directory\na11y-engine scan ./path/to/html --out ./results\n\n# View help\na11y-engine --help',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
title: 'Output structure',
|
|
52
|
+
code: 'results/\n\u251c\u2500\u2500 findings.json # All findings with metadata\n\u2514\u2500\u2500 provenance/\n \u2514\u2500\u2500 finding-0001/\n \u251c\u2500\u2500 record.json # evidence extraction\n \u251c\u2500\u2500 digest.json # SHA-256 integrity\n \u2514\u2500\u2500 envelope.json # MCP envelope',
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
kind: 'data-table',
|
|
58
|
+
id: 'rules',
|
|
59
|
+
title: 'Rules (v0.1.0)',
|
|
60
|
+
subtitle: 'Static HTML accessibility checks.',
|
|
61
|
+
columns: ['Rule ID', 'Description'],
|
|
62
|
+
rows: [
|
|
63
|
+
['html.document.missing_lang', '<html> element missing lang attribute'],
|
|
64
|
+
['html.img.missing_alt', '<img> element missing alt attribute'],
|
|
65
|
+
['html.form_control.missing_label', 'Form control missing associated label'],
|
|
66
|
+
['html.interactive.missing_name', 'Interactive element missing accessible name'],
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
kind: 'data-table',
|
|
71
|
+
id: 'exit-codes',
|
|
72
|
+
title: 'Exit Codes',
|
|
73
|
+
subtitle: 'Designed for CI pipelines.',
|
|
74
|
+
columns: ['Code', 'Meaning'],
|
|
75
|
+
rows: [
|
|
76
|
+
['0', 'No findings with severity error'],
|
|
77
|
+
['2', 'At least one error finding'],
|
|
78
|
+
['3', 'Internal engine failure or invalid input'],
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
kind: 'data-table',
|
|
83
|
+
id: 'provenance',
|
|
84
|
+
title: 'Provenance Records',
|
|
85
|
+
subtitle: 'Three prov-spec records per finding.',
|
|
86
|
+
columns: ['Record', 'Method ID', 'Purpose'],
|
|
87
|
+
rows: [
|
|
88
|
+
['record.json', 'engine.extract.evidence.json_pointer', 'Evidence extraction with location pointers'],
|
|
89
|
+
['digest.json', 'integrity.digest.sha256', 'SHA-256 hash of canonical evidence'],
|
|
90
|
+
['envelope.json', 'adapter.wrap.envelope_v0_1', 'Wrapped result in MCP envelope'],
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
};
|