tevra-design-kit 0.0.0-stage → 1.0.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/LICENSE +21 -0
- package/PROVENANCE.md +18 -0
- package/README.md +251 -2
- package/SKILL.md +20 -0
- package/THIRD_PARTY_NOTICES.md +23 -0
- package/adapters/claude-code/CLAUDE.md +14 -0
- package/adapters/codex/AGENTS.md +5 -0
- package/adapters/cursor/README.md +5 -0
- package/adapters/gemini-cli/README.md +5 -0
- package/adapters/github-copilot/README.md +5 -0
- package/adapters/kiro/README.md +5 -0
- package/adapters/opencode/README.md +5 -0
- package/adapters/windsurf/README.md +5 -0
- package/dist/packages/cli/src/arguments.d.ts +9 -0
- package/dist/packages/cli/src/arguments.js +58 -0
- package/dist/packages/cli/src/arguments.js.map +1 -0
- package/dist/packages/cli/src/index.d.ts +2 -0
- package/dist/packages/cli/src/index.js +132 -0
- package/dist/packages/cli/src/index.js.map +1 -0
- package/dist/packages/cli/src/project-commands.d.ts +4 -0
- package/dist/packages/cli/src/project-commands.js +137 -0
- package/dist/packages/cli/src/project-commands.js.map +1 -0
- package/dist/packages/cli/src/run-command.d.ts +2 -0
- package/dist/packages/cli/src/run-command.js +35 -0
- package/dist/packages/cli/src/run-command.js.map +1 -0
- package/dist/packages/cli/src/visual-commands.d.ts +5 -0
- package/dist/packages/cli/src/visual-commands.js +73 -0
- package/dist/packages/cli/src/visual-commands.js.map +1 -0
- package/dist/packages/cli/src/workflow-commands.d.ts +2 -0
- package/dist/packages/cli/src/workflow-commands.js +73 -0
- package/dist/packages/cli/src/workflow-commands.js.map +1 -0
- package/dist/packages/contracts/src/index.d.ts +181 -0
- package/dist/packages/contracts/src/index.js +3 -0
- package/dist/packages/contracts/src/index.js.map +1 -0
- package/dist/packages/core/src/analyze.d.ts +6 -0
- package/dist/packages/core/src/analyze.js +46 -0
- package/dist/packages/core/src/analyze.js.map +1 -0
- package/dist/packages/core/src/config.d.ts +4 -0
- package/dist/packages/core/src/config.js +39 -0
- package/dist/packages/core/src/config.js.map +1 -0
- package/dist/packages/core/src/install.d.ts +13 -0
- package/dist/packages/core/src/install.js +69 -0
- package/dist/packages/core/src/install.js.map +1 -0
- package/dist/packages/core/src/router.d.ts +12 -0
- package/dist/packages/core/src/router.js +90 -0
- package/dist/packages/core/src/router.js.map +1 -0
- package/dist/packages/core/src/search.d.ts +12 -0
- package/dist/packages/core/src/search.js +31 -0
- package/dist/packages/core/src/search.js.map +1 -0
- package/dist/packages/core/src/skills.d.ts +7 -0
- package/dist/packages/core/src/skills.js +36 -0
- package/dist/packages/core/src/skills.js.map +1 -0
- package/dist/packages/core/src/workflow.d.ts +3 -0
- package/dist/packages/core/src/workflow.js +73 -0
- package/dist/packages/core/src/workflow.js.map +1 -0
- package/dist/packages/design-context/src/index.d.ts +5 -0
- package/dist/packages/design-context/src/index.js +41 -0
- package/dist/packages/design-context/src/index.js.map +1 -0
- package/dist/packages/design-context/src/migrate.d.ts +2 -0
- package/dist/packages/design-context/src/migrate.js +27 -0
- package/dist/packages/design-context/src/migrate.js.map +1 -0
- package/dist/packages/design-context/src/tokens.d.ts +8 -0
- package/dist/packages/design-context/src/tokens.js +65 -0
- package/dist/packages/design-context/src/tokens.js.map +1 -0
- package/dist/packages/design-context/src/validation.d.ts +1 -0
- package/dist/packages/design-context/src/validation.js +22 -0
- package/dist/packages/design-context/src/validation.js.map +1 -0
- package/dist/packages/design-memory/src/index.d.ts +16 -0
- package/dist/packages/design-memory/src/index.js +47 -0
- package/dist/packages/design-memory/src/index.js.map +1 -0
- package/dist/packages/filesystem/src/index.d.ts +8 -0
- package/dist/packages/filesystem/src/index.js +83 -0
- package/dist/packages/filesystem/src/index.js.map +1 -0
- package/dist/packages/filesystem/src/resources.d.ts +1 -0
- package/dist/packages/filesystem/src/resources.js +13 -0
- package/dist/packages/filesystem/src/resources.js.map +1 -0
- package/dist/packages/performance-qa/src/index.d.ts +24 -0
- package/dist/packages/performance-qa/src/index.js +77 -0
- package/dist/packages/performance-qa/src/index.js.map +1 -0
- package/dist/packages/quality-engine/src/html.d.ts +2 -0
- package/dist/packages/quality-engine/src/html.js +15 -0
- package/dist/packages/quality-engine/src/html.js.map +1 -0
- package/dist/packages/quality-engine/src/index.d.ts +3 -0
- package/dist/packages/quality-engine/src/index.js +45 -0
- package/dist/packages/quality-engine/src/index.js.map +1 -0
- package/dist/packages/registry/src/index.d.ts +49 -0
- package/dist/packages/registry/src/index.js +132 -0
- package/dist/packages/registry/src/index.js.map +1 -0
- package/dist/packages/visual-testing/src/capture.d.ts +12 -0
- package/dist/packages/visual-testing/src/capture.js +174 -0
- package/dist/packages/visual-testing/src/capture.js.map +1 -0
- package/dist/packages/visual-testing/src/checks.d.ts +3 -0
- package/dist/packages/visual-testing/src/checks.js +17 -0
- package/dist/packages/visual-testing/src/checks.js.map +1 -0
- package/dist/packages/visual-testing/src/compare.d.ts +12 -0
- package/dist/packages/visual-testing/src/compare.js +85 -0
- package/dist/packages/visual-testing/src/compare.js.map +1 -0
- package/dist/packages/visual-testing/src/types.d.ts +49 -0
- package/dist/packages/visual-testing/src/types.js +2 -0
- package/dist/packages/visual-testing/src/types.js.map +1 -0
- package/dist/packages/workflow-engine/src/index.d.ts +11 -0
- package/dist/packages/workflow-engine/src/index.js +51 -0
- package/dist/packages/workflow-engine/src/index.js.map +1 -0
- package/docs/agents.md +36 -0
- package/docs/architecture.md +86 -0
- package/docs/configuration.md +109 -0
- package/docs/contributing.md +75 -0
- package/docs/security.md +42 -0
- package/docs/usage.md +142 -0
- package/package.json +85 -4
- package/references/accessibility/manual-checklist.md +3 -0
- package/references/color-systems/semantic-color.md +3 -0
- package/references/design-principles/decision-making.md +3 -0
- package/references/frameworks/nextjs.md +3 -0
- package/references/frameworks/react-native-expo.md +3 -0
- package/references/frameworks/react.md +3 -0
- package/references/frameworks/sveltekit.md +3 -0
- package/references/frameworks/vue.md +3 -0
- package/references/typography/scales.md +3 -0
- package/references/ux-patterns/README.md +7 -0
- package/references/ux-patterns/UPSTREAM-LICENSE.txt +21 -0
- package/references/ux-patterns/catalog.json +221 -0
- package/registry/capability-ownership.json +191 -0
- package/registry/skills.json +764 -0
- package/registry/sources.json +159 -0
- package/rubrics/quality-rubric.md +24 -0
- package/schemas/capability-ownership.schema.json +69 -0
- package/schemas/capture-manifest.schema.json +209 -0
- package/schemas/checks.schema.json +83 -0
- package/schemas/comparison.schema.json +154 -0
- package/schemas/config.schema.json +297 -0
- package/schemas/design-context.schema.json +651 -0
- package/schemas/design-context.v2.schema.json +395 -0
- package/schemas/handoff.schema.json +135 -0
- package/schemas/legacy/design-context.master-v1.schema.json +167 -0
- package/schemas/legacy/design-context.v1.schema.json +36 -0
- package/schemas/memory.schema.json +69 -0
- package/schemas/plan.schema.json +139 -0
- package/schemas/quality-report.schema.json +151 -0
- package/schemas/skill-registry.schema.json +222 -0
- package/schemas/sources.schema.json +129 -0
- package/skills/accessibility-qa/LICENSE +21 -0
- package/skills/accessibility-qa/SKILL.md +56 -0
- package/skills/accessibility-qa/references/guide.md +3 -0
- package/skills/browser-testing/LICENSE +21 -0
- package/skills/browser-testing/SKILL.md +35 -0
- package/skills/browser-testing/references/guide.md +11 -0
- package/skills/design-direction/LICENSE +21 -0
- package/skills/design-direction/SKILL.md +56 -0
- package/skills/design-direction/references/guide.md +3 -0
- package/skills/design-research/LICENSE +21 -0
- package/skills/design-research/SKILL.md +56 -0
- package/skills/design-research/references/guide.md +3 -0
- package/skills/design-system/LICENSE +21 -0
- package/skills/design-system/SKILL.md +56 -0
- package/skills/design-system/references/guide.md +3 -0
- package/skills/frontend-review/LICENSE +21 -0
- package/skills/frontend-review/SKILL.md +35 -0
- package/skills/frontend-review/references/guide.md +11 -0
- package/skills/interaction-motion/LICENSE +21 -0
- package/skills/interaction-motion/SKILL.md +56 -0
- package/skills/interaction-motion/references/guide.md +3 -0
- package/skills/performance-qa/LICENSE +21 -0
- package/skills/performance-qa/SKILL.md +35 -0
- package/skills/performance-qa/references/guide.md +9 -0
- package/skills/responsive-design/LICENSE +21 -0
- package/skills/responsive-design/SKILL.md +56 -0
- package/skills/responsive-design/references/guide.md +3 -0
- package/skills/ui-builder/LICENSE +21 -0
- package/skills/ui-builder/SKILL.md +58 -0
- package/skills/ui-builder/references/guide.md +3 -0
- package/skills/ui-builder/references/nextjs.md +3 -0
- package/skills/ui-builder/references/react-native-expo.md +3 -0
- package/skills/ui-builder/references/react.md +3 -0
- package/skills/ui-builder/references/sveltekit.md +3 -0
- package/skills/ui-builder/references/vue.md +3 -0
- package/skills/ui-redesign/LICENSE +21 -0
- package/skills/ui-redesign/SKILL.md +56 -0
- package/skills/ui-redesign/references/guide.md +3 -0
- package/skills/visual-review/LICENSE +21 -0
- package/skills/visual-review/SKILL.md +56 -0
- package/skills/visual-review/references/guide.md +7 -0
- package/templates/direction-decision.md +45 -0
- package/templates/research-brief.md +56 -0
- package/templates/visual-review.md +46 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"sources": [
|
|
4
|
+
{
|
|
5
|
+
"id": "taste-skill",
|
|
6
|
+
"repository": "https://github.com/Leonxlnx/taste-skill",
|
|
7
|
+
"revision": "98565e65bc3274ddf6eb0838734341714057178b",
|
|
8
|
+
"revisionStatus": "content-verified",
|
|
9
|
+
"inspectedRef": "98565e65bc3274ddf6eb0838734341714057178b",
|
|
10
|
+
"inspectedAt": "2026-10-23",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"licenseStatus": "root-text-verified-on-main",
|
|
13
|
+
"declaredLicense": "MIT",
|
|
14
|
+
"copyright": "Copyright (c) 2026 Leonxlnx",
|
|
15
|
+
"reuse": "inspiration",
|
|
16
|
+
"inspectedPaths": [
|
|
17
|
+
"skills/taste-skill/SKILL.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"evidence": [
|
|
21
|
+
"https://github.com/Leonxlnx/taste-skill/commits/main/",
|
|
22
|
+
"https://raw.githubusercontent.com/Leonxlnx/taste-skill/main/LICENSE"
|
|
23
|
+
],
|
|
24
|
+
"excludedAssets": [
|
|
25
|
+
"logos",
|
|
26
|
+
"screenshots",
|
|
27
|
+
"fonts",
|
|
28
|
+
"remote-assets"
|
|
29
|
+
],
|
|
30
|
+
"limitations": [
|
|
31
|
+
"Full recursive file-level license audit unavailable; no upstream assets or scripts vendored."
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "ui-ux-pro-max",
|
|
36
|
+
"repository": "https://github.com/nextlevelbuilder/ui-ux-pro-max-skill",
|
|
37
|
+
"revision": "0720614e6e4e2c190f68ff4ab0a71faa0fa70b4a",
|
|
38
|
+
"revisionStatus": "discovered-content-unavailable",
|
|
39
|
+
"inspectedRef": "main",
|
|
40
|
+
"inspectedAt": "2026-10-23",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"licenseStatus": "root-text-verified-on-main",
|
|
43
|
+
"declaredLicense": "MIT",
|
|
44
|
+
"copyright": "Copyright (c) 2024 Next Level Builder",
|
|
45
|
+
"reuse": "adapted",
|
|
46
|
+
"inspectedPaths": [
|
|
47
|
+
"src/ui-ux-pro-max/scripts/core.py",
|
|
48
|
+
"LICENSE"
|
|
49
|
+
],
|
|
50
|
+
"evidence": [
|
|
51
|
+
"https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/commits/main/",
|
|
52
|
+
"https://raw.githubusercontent.com/nextlevelbuilder/ui-ux-pro-max-skill/main/LICENSE"
|
|
53
|
+
],
|
|
54
|
+
"excludedAssets": [
|
|
55
|
+
"logos",
|
|
56
|
+
"screenshots",
|
|
57
|
+
"fonts",
|
|
58
|
+
"remote-assets"
|
|
59
|
+
],
|
|
60
|
+
"limitations": [
|
|
61
|
+
"Full recursive file-level license audit unavailable; no upstream assets or scripts vendored.",
|
|
62
|
+
"Pinned raw content returned cache miss; main inspection is not attributed to this SHA."
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "vercel-agent-skills",
|
|
67
|
+
"repository": "https://github.com/vercel-labs/agent-skills",
|
|
68
|
+
"revision": "050e24cd7b2d54cef2e9f2f6a39da152dd70fbb5",
|
|
69
|
+
"revisionStatus": "discovered-content-unavailable",
|
|
70
|
+
"inspectedRef": "main",
|
|
71
|
+
"inspectedAt": "2026-10-23",
|
|
72
|
+
"license": null,
|
|
73
|
+
"licenseStatus": "metadata-only",
|
|
74
|
+
"declaredLicense": "MIT",
|
|
75
|
+
"copyright": null,
|
|
76
|
+
"reuse": "inspiration",
|
|
77
|
+
"inspectedPaths": [
|
|
78
|
+
"skills/react-best-practices/SKILL.md",
|
|
79
|
+
"LICENSE"
|
|
80
|
+
],
|
|
81
|
+
"evidence": [
|
|
82
|
+
"https://github.com/vercel-labs/agent-skills/commits/main/",
|
|
83
|
+
"https://raw.githubusercontent.com/vercel-labs/agent-skills/main/skills/react-best-practices/SKILL.md"
|
|
84
|
+
],
|
|
85
|
+
"excludedAssets": [
|
|
86
|
+
"logos",
|
|
87
|
+
"screenshots",
|
|
88
|
+
"fonts",
|
|
89
|
+
"remote-assets"
|
|
90
|
+
],
|
|
91
|
+
"limitations": [
|
|
92
|
+
"Full recursive file-level license audit unavailable; no upstream assets or scripts vendored.",
|
|
93
|
+
"Pinned raw content returned cache miss; main inspection is not attributed to this SHA."
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "web-quality-skills",
|
|
98
|
+
"repository": "https://github.com/addyosmani/web-quality-skills",
|
|
99
|
+
"revision": "c3cd7e0443125c55237d50105cdc8454e9e8f83d",
|
|
100
|
+
"revisionStatus": "discovered-content-unavailable",
|
|
101
|
+
"inspectedRef": "main",
|
|
102
|
+
"inspectedAt": "2026-10-23",
|
|
103
|
+
"license": "MIT",
|
|
104
|
+
"licenseStatus": "root-text-verified-on-main",
|
|
105
|
+
"declaredLicense": "MIT",
|
|
106
|
+
"copyright": "Copyright (c) 2026 Addy Osmani",
|
|
107
|
+
"reuse": "inspiration",
|
|
108
|
+
"inspectedPaths": [
|
|
109
|
+
"skills/performance/SKILL.md",
|
|
110
|
+
"LICENSE"
|
|
111
|
+
],
|
|
112
|
+
"evidence": [
|
|
113
|
+
"https://github.com/addyosmani/web-quality-skills/commits/main/",
|
|
114
|
+
"https://raw.githubusercontent.com/addyosmani/web-quality-skills/main/LICENSE"
|
|
115
|
+
],
|
|
116
|
+
"excludedAssets": [
|
|
117
|
+
"logos",
|
|
118
|
+
"screenshots",
|
|
119
|
+
"fonts",
|
|
120
|
+
"remote-assets"
|
|
121
|
+
],
|
|
122
|
+
"limitations": [
|
|
123
|
+
"Full recursive file-level license audit unavailable; no upstream assets or scripts vendored.",
|
|
124
|
+
"Pinned raw content returned cache miss; main inspection is not attributed to this SHA."
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "playwright",
|
|
129
|
+
"repository": "https://github.com/microsoft/playwright",
|
|
130
|
+
"revision": "14c2dcf1ec955532aa861ecd039b23b9acc53a97",
|
|
131
|
+
"revisionStatus": "discovered-content-unavailable",
|
|
132
|
+
"inspectedRef": "main",
|
|
133
|
+
"inspectedAt": "2026-10-23",
|
|
134
|
+
"license": "Apache-2.0",
|
|
135
|
+
"licenseStatus": "root-text-verified-on-main",
|
|
136
|
+
"declaredLicense": "Apache-2.0",
|
|
137
|
+
"copyright": "Copyright (c) Microsoft Corporation",
|
|
138
|
+
"reuse": "dependency",
|
|
139
|
+
"inspectedPaths": [
|
|
140
|
+
"packages/playwright/package.json",
|
|
141
|
+
"LICENSE"
|
|
142
|
+
],
|
|
143
|
+
"evidence": [
|
|
144
|
+
"https://github.com/microsoft/playwright/commits/main/",
|
|
145
|
+
"https://raw.githubusercontent.com/microsoft/playwright/main/LICENSE"
|
|
146
|
+
],
|
|
147
|
+
"excludedAssets": [
|
|
148
|
+
"logos",
|
|
149
|
+
"screenshots",
|
|
150
|
+
"fonts",
|
|
151
|
+
"remote-assets"
|
|
152
|
+
],
|
|
153
|
+
"limitations": [
|
|
154
|
+
"Full recursive file-level license audit unavailable; no upstream assets or scripts vendored.",
|
|
155
|
+
"Pinned raw content returned cache miss; main inspection is not attributed to this SHA."
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Evidence-based quality rubric
|
|
2
|
+
|
|
3
|
+
| Category | Default weight | Evidence |
|
|
4
|
+
| --- | ---: | --- |
|
|
5
|
+
| Visual hierarchy | 15 | Purpose and next action clear at tested widths |
|
|
6
|
+
| Typography | 10 | Readable roles, locale glyphs and content fit |
|
|
7
|
+
| Layout and spacing | 15 | Deliberate grouping without clipping |
|
|
8
|
+
| Design consistency | 15 | Approved tokens, components and states |
|
|
9
|
+
| Responsive behavior | 15 | Real viewport/state evidence |
|
|
10
|
+
| Accessibility | 15 | Automated plus executed manual checks |
|
|
11
|
+
| Interaction quality | 10 | Real behavior, feedback and recovery |
|
|
12
|
+
| Performance | 5 | Measurements or clearly bounded source evidence |
|
|
13
|
+
|
|
14
|
+
Weights are configurable and total 100. Scores 0–4 describe judgment: 0 task blocked, 1 major issues, 2 partial usability, 3 scoped criteria met, 4 demonstrated strengths. Every executed check needs evidence. Scores below 3 require specific findings and corrections. Missing categories remain unscored.
|
|
15
|
+
|
|
16
|
+
Separate deterministic tests, automated heuristics, AI-assisted judgment and human approval. The engine uses the lowest submitted score per category, weights it on a 100-point scale, and defaults to threshold 75. Arithmetic is deterministic; aesthetic judgments remain subjective. Explicit minScore 0 allows an automation-only gate while keeping missing scores unscored.
|
|
17
|
+
|
|
18
|
+
Failed critical checks always block. Required IDs must actually pass: visual-diff, axe, overflow and functional-tests by default. Missing/unverified required checks block. Pixel changes may be intentional; review and approve them before replacing a baseline. Never average away functional failures or severe accessibility barriers.
|
|
19
|
+
|
|
20
|
+
Unexecuted screen-reader, native, motion and performance checks stay visible. Automated PASS never establishes complete WCAG compliance.
|
|
21
|
+
|
|
22
|
+
## Default weights
|
|
23
|
+
|
|
24
|
+
Hierarchy 15, typography 10, layout 15, consistency 10, responsive 15, accessibility 15, functional 10 and performance 10. Legacy `interaction` scores remain accepted for existing configurations with a default weight of zero. Existing project weights are preserved. Performance metric checks have no subjective design score. Required/critical failures and missing required evidence still block PASS regardless of aggregate score.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"required": [
|
|
6
|
+
"version",
|
|
7
|
+
"capabilities"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"version": {
|
|
11
|
+
"const": 1
|
|
12
|
+
},
|
|
13
|
+
"capabilities": {
|
|
14
|
+
"type": "array",
|
|
15
|
+
"items": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"required": [
|
|
19
|
+
"id",
|
|
20
|
+
"primary",
|
|
21
|
+
"supporting",
|
|
22
|
+
"stage",
|
|
23
|
+
"constraints",
|
|
24
|
+
"validation"
|
|
25
|
+
],
|
|
26
|
+
"properties": {
|
|
27
|
+
"id": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1
|
|
30
|
+
},
|
|
31
|
+
"primary": {
|
|
32
|
+
"type": [
|
|
33
|
+
"string",
|
|
34
|
+
"null"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"supporting": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"minLength": 1
|
|
42
|
+
},
|
|
43
|
+
"uniqueItems": true
|
|
44
|
+
},
|
|
45
|
+
"stage": {
|
|
46
|
+
"type": "integer",
|
|
47
|
+
"minimum": 1
|
|
48
|
+
},
|
|
49
|
+
"constraints": {
|
|
50
|
+
"type": "array",
|
|
51
|
+
"items": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"minLength": 1
|
|
54
|
+
},
|
|
55
|
+
"uniqueItems": true
|
|
56
|
+
},
|
|
57
|
+
"validation": {
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"minLength": 1
|
|
62
|
+
},
|
|
63
|
+
"uniqueItems": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"properties": {
|
|
6
|
+
"version": {
|
|
7
|
+
"const": 1
|
|
8
|
+
},
|
|
9
|
+
"kind": {
|
|
10
|
+
"enum": [
|
|
11
|
+
"baseline",
|
|
12
|
+
"current"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"createdAt": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"minLength": 1,
|
|
18
|
+
"format": "date-time"
|
|
19
|
+
},
|
|
20
|
+
"configHash": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1
|
|
23
|
+
},
|
|
24
|
+
"contextRevision": {
|
|
25
|
+
"type": "integer",
|
|
26
|
+
"minimum": 0,
|
|
27
|
+
"maximum": 1000000
|
|
28
|
+
},
|
|
29
|
+
"browserVersion": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"minLength": 1
|
|
32
|
+
},
|
|
33
|
+
"entries": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"items": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"properties": {
|
|
39
|
+
"id": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^[a-z0-9-]+$"
|
|
42
|
+
},
|
|
43
|
+
"route": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"minLength": 1
|
|
46
|
+
},
|
|
47
|
+
"state": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"minLength": 1
|
|
50
|
+
},
|
|
51
|
+
"viewport": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"additionalProperties": false,
|
|
54
|
+
"properties": {
|
|
55
|
+
"name": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"minLength": 1
|
|
58
|
+
},
|
|
59
|
+
"width": {
|
|
60
|
+
"type": "integer",
|
|
61
|
+
"minimum": 240,
|
|
62
|
+
"maximum": 7680
|
|
63
|
+
},
|
|
64
|
+
"height": {
|
|
65
|
+
"type": "integer",
|
|
66
|
+
"minimum": 240,
|
|
67
|
+
"maximum": 4320
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"required": [
|
|
71
|
+
"name",
|
|
72
|
+
"width",
|
|
73
|
+
"height"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"file": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"minLength": 1
|
|
79
|
+
},
|
|
80
|
+
"masks": {
|
|
81
|
+
"type": "array",
|
|
82
|
+
"items": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"minLength": 1
|
|
85
|
+
},
|
|
86
|
+
"minItems": 0
|
|
87
|
+
},
|
|
88
|
+
"overflow": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"minLength": 1
|
|
93
|
+
},
|
|
94
|
+
"minItems": 0
|
|
95
|
+
},
|
|
96
|
+
"smallTargets": {
|
|
97
|
+
"type": "array",
|
|
98
|
+
"items": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"minLength": 1
|
|
101
|
+
},
|
|
102
|
+
"minItems": 0
|
|
103
|
+
},
|
|
104
|
+
"axeViolations": {
|
|
105
|
+
"type": "array",
|
|
106
|
+
"items": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"additionalProperties": false,
|
|
109
|
+
"properties": {
|
|
110
|
+
"id": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"minLength": 1
|
|
113
|
+
},
|
|
114
|
+
"impact": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"minLength": 1
|
|
117
|
+
},
|
|
118
|
+
"targets": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"minLength": 1
|
|
123
|
+
},
|
|
124
|
+
"minItems": 0
|
|
125
|
+
},
|
|
126
|
+
"help": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"minLength": 1
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"required": [
|
|
132
|
+
"id",
|
|
133
|
+
"impact",
|
|
134
|
+
"targets",
|
|
135
|
+
"help"
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"minItems": 0
|
|
139
|
+
},
|
|
140
|
+
"incompleteRules": {
|
|
141
|
+
"type": "array",
|
|
142
|
+
"items": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"minLength": 1
|
|
145
|
+
},
|
|
146
|
+
"minItems": 0
|
|
147
|
+
},
|
|
148
|
+
"pageErrors": {
|
|
149
|
+
"type": "array",
|
|
150
|
+
"items": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"minLength": 1
|
|
153
|
+
},
|
|
154
|
+
"minItems": 0
|
|
155
|
+
},
|
|
156
|
+
"imageHash": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
159
|
+
},
|
|
160
|
+
"consoleErrors": {
|
|
161
|
+
"type": "array",
|
|
162
|
+
"items": {
|
|
163
|
+
"type": "string"
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"networkErrors": {
|
|
167
|
+
"type": "array",
|
|
168
|
+
"items": {
|
|
169
|
+
"type": "string"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"assertions": {
|
|
173
|
+
"type": "integer",
|
|
174
|
+
"minimum": 0
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"required": [
|
|
178
|
+
"id",
|
|
179
|
+
"route",
|
|
180
|
+
"state",
|
|
181
|
+
"viewport",
|
|
182
|
+
"file",
|
|
183
|
+
"masks",
|
|
184
|
+
"overflow",
|
|
185
|
+
"smallTargets",
|
|
186
|
+
"axeViolations",
|
|
187
|
+
"incompleteRules",
|
|
188
|
+
"pageErrors",
|
|
189
|
+
"imageHash"
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
"minItems": 1
|
|
193
|
+
},
|
|
194
|
+
"runId": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"minLength": 1
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"required": [
|
|
200
|
+
"version",
|
|
201
|
+
"kind",
|
|
202
|
+
"createdAt",
|
|
203
|
+
"configHash",
|
|
204
|
+
"contextRevision",
|
|
205
|
+
"browserVersion",
|
|
206
|
+
"entries",
|
|
207
|
+
"runId"
|
|
208
|
+
]
|
|
209
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"items": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"minLength": 1
|
|
11
|
+
},
|
|
12
|
+
"category": {
|
|
13
|
+
"enum": [
|
|
14
|
+
"hierarchy",
|
|
15
|
+
"typography",
|
|
16
|
+
"layout",
|
|
17
|
+
"consistency",
|
|
18
|
+
"responsive",
|
|
19
|
+
"accessibility",
|
|
20
|
+
"interaction",
|
|
21
|
+
"performance",
|
|
22
|
+
"functional"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"kind": {
|
|
26
|
+
"enum": [
|
|
27
|
+
"deterministic",
|
|
28
|
+
"heuristic",
|
|
29
|
+
"ai",
|
|
30
|
+
"human"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"status": {
|
|
34
|
+
"enum": [
|
|
35
|
+
"passed",
|
|
36
|
+
"failed",
|
|
37
|
+
"unverified"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"severity": {
|
|
41
|
+
"enum": [
|
|
42
|
+
"critical",
|
|
43
|
+
"major",
|
|
44
|
+
"minor"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"score": {
|
|
48
|
+
"type": "number",
|
|
49
|
+
"minimum": 0,
|
|
50
|
+
"maximum": 4
|
|
51
|
+
},
|
|
52
|
+
"evidence": {
|
|
53
|
+
"type": "array",
|
|
54
|
+
"items": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"minLength": 1
|
|
57
|
+
},
|
|
58
|
+
"minItems": 0
|
|
59
|
+
},
|
|
60
|
+
"issue": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
"component": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
},
|
|
66
|
+
"correction": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"required": [
|
|
71
|
+
"id",
|
|
72
|
+
"category",
|
|
73
|
+
"kind",
|
|
74
|
+
"status",
|
|
75
|
+
"severity",
|
|
76
|
+
"evidence",
|
|
77
|
+
"issue",
|
|
78
|
+
"component",
|
|
79
|
+
"correction"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"minItems": 0
|
|
83
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"properties": {
|
|
6
|
+
"version": {
|
|
7
|
+
"const": 1
|
|
8
|
+
},
|
|
9
|
+
"createdAt": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"format": "date-time"
|
|
13
|
+
},
|
|
14
|
+
"comparisons": {
|
|
15
|
+
"type": "array",
|
|
16
|
+
"items": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"additionalProperties": false,
|
|
19
|
+
"properties": {
|
|
20
|
+
"id": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1
|
|
23
|
+
},
|
|
24
|
+
"ratio": {
|
|
25
|
+
"type": "number",
|
|
26
|
+
"minimum": 0,
|
|
27
|
+
"maximum": 1
|
|
28
|
+
},
|
|
29
|
+
"differentPixels": {
|
|
30
|
+
"type": "integer",
|
|
31
|
+
"minimum": 0,
|
|
32
|
+
"maximum": 40000000
|
|
33
|
+
},
|
|
34
|
+
"sizeMismatch": {
|
|
35
|
+
"type": "boolean"
|
|
36
|
+
},
|
|
37
|
+
"diff": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"minLength": 1
|
|
40
|
+
},
|
|
41
|
+
"passed": {
|
|
42
|
+
"type": "boolean"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"required": [
|
|
46
|
+
"id",
|
|
47
|
+
"ratio",
|
|
48
|
+
"differentPixels",
|
|
49
|
+
"sizeMismatch",
|
|
50
|
+
"diff",
|
|
51
|
+
"passed"
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"minItems": 1
|
|
55
|
+
},
|
|
56
|
+
"checks": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"items": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"properties": {
|
|
62
|
+
"id": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"minLength": 1
|
|
65
|
+
},
|
|
66
|
+
"category": {
|
|
67
|
+
"enum": [
|
|
68
|
+
"hierarchy",
|
|
69
|
+
"typography",
|
|
70
|
+
"layout",
|
|
71
|
+
"consistency",
|
|
72
|
+
"responsive",
|
|
73
|
+
"accessibility",
|
|
74
|
+
"interaction",
|
|
75
|
+
"performance"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"kind": {
|
|
79
|
+
"enum": [
|
|
80
|
+
"deterministic",
|
|
81
|
+
"heuristic",
|
|
82
|
+
"ai",
|
|
83
|
+
"human"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"status": {
|
|
87
|
+
"enum": [
|
|
88
|
+
"passed",
|
|
89
|
+
"failed",
|
|
90
|
+
"unverified"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"severity": {
|
|
94
|
+
"enum": [
|
|
95
|
+
"critical",
|
|
96
|
+
"major",
|
|
97
|
+
"minor"
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
"score": {
|
|
101
|
+
"type": "number",
|
|
102
|
+
"minimum": 0,
|
|
103
|
+
"maximum": 4
|
|
104
|
+
},
|
|
105
|
+
"evidence": {
|
|
106
|
+
"type": "array",
|
|
107
|
+
"items": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"minLength": 1
|
|
110
|
+
},
|
|
111
|
+
"minItems": 0
|
|
112
|
+
},
|
|
113
|
+
"issue": {
|
|
114
|
+
"type": "string"
|
|
115
|
+
},
|
|
116
|
+
"component": {
|
|
117
|
+
"type": "string"
|
|
118
|
+
},
|
|
119
|
+
"correction": {
|
|
120
|
+
"type": "string"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"required": [
|
|
124
|
+
"id",
|
|
125
|
+
"category",
|
|
126
|
+
"kind",
|
|
127
|
+
"status",
|
|
128
|
+
"severity",
|
|
129
|
+
"evidence",
|
|
130
|
+
"issue",
|
|
131
|
+
"component",
|
|
132
|
+
"correction"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"minItems": 1
|
|
136
|
+
},
|
|
137
|
+
"currentManifestHash": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"minLength": 1
|
|
140
|
+
},
|
|
141
|
+
"settingsHash": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"minLength": 1
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"required": [
|
|
147
|
+
"version",
|
|
148
|
+
"createdAt",
|
|
149
|
+
"comparisons",
|
|
150
|
+
"checks",
|
|
151
|
+
"currentManifestHash",
|
|
152
|
+
"settingsHash"
|
|
153
|
+
]
|
|
154
|
+
}
|