@hegemonart/get-design-done 1.15.0 → 1.18.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/.claude-plugin/marketplace.json +9 -5
- package/.claude-plugin/plugin.json +19 -5
- package/CHANGELOG.md +122 -0
- package/README.md +41 -0
- package/SKILL.md +4 -1
- package/agents/component-benchmark-harvester.md +112 -0
- package/agents/component-benchmark-synthesizer.md +88 -0
- package/agents/design-auditor.md +60 -1
- package/agents/design-doc-writer.md +21 -0
- package/agents/design-executor.md +22 -4
- package/agents/design-pattern-mapper.md +61 -0
- package/agents/motion-mapper.md +74 -9
- package/agents/token-mapper.md +8 -0
- package/connections/design-corpora.md +158 -0
- package/package.json +13 -3
- package/reference/components/README.md +94 -0
- package/reference/components/TEMPLATE.md +184 -0
- package/reference/components/accordion.md +217 -0
- package/reference/components/alert.md +198 -0
- package/reference/components/badge.md +202 -0
- package/reference/components/breadcrumbs.md +198 -0
- package/reference/components/button.md +195 -0
- package/reference/components/card.md +200 -0
- package/reference/components/checkbox.md +207 -0
- package/reference/components/chip.md +209 -0
- package/reference/components/command-palette.md +228 -0
- package/reference/components/date-picker.md +227 -0
- package/reference/components/drawer.md +201 -0
- package/reference/components/file-upload.md +219 -0
- package/reference/components/input.md +208 -0
- package/reference/components/label.md +200 -0
- package/reference/components/link.md +193 -0
- package/reference/components/list.md +217 -0
- package/reference/components/menu.md +212 -0
- package/reference/components/modal-dialog.md +210 -0
- package/reference/components/navbar.md +211 -0
- package/reference/components/pagination.md +205 -0
- package/reference/components/popover.md +197 -0
- package/reference/components/progress.md +210 -0
- package/reference/components/radio.md +203 -0
- package/reference/components/rich-text-editor.md +226 -0
- package/reference/components/select-combobox.md +219 -0
- package/reference/components/sidebar.md +211 -0
- package/reference/components/skeleton.md +197 -0
- package/reference/components/slider.md +208 -0
- package/reference/components/stepper.md +220 -0
- package/reference/components/switch.md +194 -0
- package/reference/components/table.md +229 -0
- package/reference/components/tabs.md +213 -0
- package/reference/components/toast.md +200 -0
- package/reference/components/tooltip.md +201 -0
- package/reference/components/tree.md +225 -0
- package/reference/css-grid-layout.md +835 -0
- package/reference/external/NOTICE.hyperframes +28 -0
- package/reference/image-optimization.md +582 -0
- package/reference/motion-advanced.md +754 -0
- package/reference/motion-easings.md +381 -0
- package/reference/motion-interpolate.md +282 -0
- package/reference/motion-spring.md +234 -0
- package/reference/motion-transition-taxonomy.md +155 -0
- package/reference/motion.md +20 -0
- package/reference/output-contracts/motion-map.schema.json +135 -0
- package/reference/registry.json +285 -0
- package/reference/registry.schema.json +6 -1
- package/reference/variable-fonts-loading.md +532 -0
- package/scripts/lib/easings.cjs +280 -0
- package/scripts/lib/parse-contract.cjs +220 -0
- package/scripts/lib/spring.cjs +160 -0
- package/scripts/tests/test-motion-provenance.sh +64 -0
- package/skills/benchmark/SKILL.md +105 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# Provenance test: verifies RN-MIT attribution is present in all motion files
|
|
5
|
+
# and that no file contains incorrect "Remotion/" provenance.
|
|
6
|
+
#
|
|
7
|
+
# Run from the project root:
|
|
8
|
+
# bash scripts/tests/test-motion-provenance.sh
|
|
9
|
+
|
|
10
|
+
PASS_COUNT=0
|
|
11
|
+
FAIL_COUNT=0
|
|
12
|
+
|
|
13
|
+
check_attribution() {
|
|
14
|
+
local file="$1"
|
|
15
|
+
local needle="React Native"
|
|
16
|
+
|
|
17
|
+
if grep -q "$needle" "$file"; then
|
|
18
|
+
echo "PASS: $file contains RN-MIT attribution"
|
|
19
|
+
PASS_COUNT=$((PASS_COUNT + 1))
|
|
20
|
+
else
|
|
21
|
+
echo "FAIL: $file is missing RN-MIT attribution (expected: '$needle')"
|
|
22
|
+
FAIL_COUNT=$((FAIL_COUNT + 1))
|
|
23
|
+
fi
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
check_no_remotion() {
|
|
27
|
+
local file="$1"
|
|
28
|
+
|
|
29
|
+
if grep -q "Remotion/" "$file"; then
|
|
30
|
+
echo "FAIL: $file contains wrong provenance string 'Remotion/'"
|
|
31
|
+
FAIL_COUNT=$((FAIL_COUNT + 1))
|
|
32
|
+
else
|
|
33
|
+
echo "PASS: $file does not contain 'Remotion/'"
|
|
34
|
+
PASS_COUNT=$((PASS_COUNT + 1))
|
|
35
|
+
fi
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
FILES=(
|
|
39
|
+
"reference/motion-easings.md"
|
|
40
|
+
"reference/motion-interpolate.md"
|
|
41
|
+
"reference/motion-spring.md"
|
|
42
|
+
"scripts/lib/easings.cjs"
|
|
43
|
+
"scripts/lib/spring.cjs"
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
echo "=== Attribution checks ==="
|
|
47
|
+
for f in "${FILES[@]}"; do
|
|
48
|
+
check_attribution "$f"
|
|
49
|
+
done
|
|
50
|
+
|
|
51
|
+
echo ""
|
|
52
|
+
echo "=== Provenance contamination checks ==="
|
|
53
|
+
for f in "${FILES[@]}"; do
|
|
54
|
+
check_no_remotion "$f"
|
|
55
|
+
done
|
|
56
|
+
|
|
57
|
+
echo ""
|
|
58
|
+
echo "=== Results: $PASS_COUNT passed, $FAIL_COUNT failed ==="
|
|
59
|
+
|
|
60
|
+
if [ "$FAIL_COUNT" -gt 0 ]; then
|
|
61
|
+
exit 1
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
exit 0
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gdd-benchmark
|
|
3
|
+
description: Harvest and synthesize per-component design benchmarks from 18 design systems. Produces canonical specs at reference/components/<name>.md.
|
|
4
|
+
argument-hint: "<component> | --wave <N> | --list | --refresh <component>"
|
|
5
|
+
tools: Read, Write, Bash, Grep, Glob, Task, WebFetch
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /gdd:benchmark
|
|
9
|
+
|
|
10
|
+
Harvest per-component design knowledge from 18 design systems and synthesize canonical
|
|
11
|
+
specs at `reference/components/<name>.md`.
|
|
12
|
+
|
|
13
|
+
## Invocation Modes
|
|
14
|
+
|
|
15
|
+
| Invocation | Action |
|
|
16
|
+
|------------|--------|
|
|
17
|
+
| `/gdd:benchmark <component>` | Harvest + synthesize a single component |
|
|
18
|
+
| `/gdd:benchmark --wave <N>` | Run a full wave (1 = Inputs, 2 = Containers, etc.) |
|
|
19
|
+
| `/gdd:benchmark --list` | Show corpus coverage — which specs exist, which are pending |
|
|
20
|
+
| `/gdd:benchmark --refresh <component>` | Re-harvest a spec (for design-system version bumps) |
|
|
21
|
+
|
|
22
|
+
## Single-Component Flow (`/gdd:benchmark <component>`)
|
|
23
|
+
|
|
24
|
+
1. **Check if spec exists** — `Glob("reference/components/<component>.md")`.
|
|
25
|
+
If found and `--refresh` was not passed, confirm before overwriting.
|
|
26
|
+
|
|
27
|
+
2. **Harvest** — spawn `component-benchmark-harvester` with:
|
|
28
|
+
```
|
|
29
|
+
Task("component-benchmark-harvester", """
|
|
30
|
+
<required_reading>
|
|
31
|
+
@connections/design-corpora.md
|
|
32
|
+
</required_reading>
|
|
33
|
+
|
|
34
|
+
Harvest design-system excerpts for component: <component>
|
|
35
|
+
Emit raw harvest to: .planning/benchmarks/raw/<component>.md
|
|
36
|
+
Consume any relevant content from: .planning/research/impeccable-salvage/
|
|
37
|
+
|
|
38
|
+
Acceptance: .planning/benchmarks/raw/<component>.md exists with ≥4 source sections.
|
|
39
|
+
""")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
3. **Synthesize** — spawn `component-benchmark-synthesizer` with:
|
|
43
|
+
```
|
|
44
|
+
Task("component-benchmark-synthesizer", """
|
|
45
|
+
<required_reading>
|
|
46
|
+
@.planning/benchmarks/raw/<component>.md
|
|
47
|
+
@reference/components/TEMPLATE.md
|
|
48
|
+
@reference/anti-patterns.md
|
|
49
|
+
</required_reading>
|
|
50
|
+
|
|
51
|
+
Synthesize the raw harvest into a canonical spec.
|
|
52
|
+
Output: reference/components/<component>.md
|
|
53
|
+
Update: reference/components/README.md (add entry in correct category)
|
|
54
|
+
|
|
55
|
+
Acceptance: spec exists, ≤350 lines, cites ≥4 systems, has TEMPLATE.md sections,
|
|
56
|
+
WAI-ARIA keyboard contract present, failing-example block present.
|
|
57
|
+
""")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
4. **Report** — print spec path, line count, systems cited.
|
|
61
|
+
|
|
62
|
+
## Wave Mode (`/gdd:benchmark --wave <N>`)
|
|
63
|
+
|
|
64
|
+
Read the wave definition from `reference/components/README.md` and run each component
|
|
65
|
+
in the wave sequentially (not parallel — each harvest is network-bound and the raw files
|
|
66
|
+
are large).
|
|
67
|
+
|
|
68
|
+
| Wave | Components |
|
|
69
|
+
|------|-----------|
|
|
70
|
+
| 1 | button, input, select-combobox, checkbox, radio, switch, link, label |
|
|
71
|
+
| 2 | card, modal-dialog, drawer, popover, tooltip, accordion, tabs |
|
|
72
|
+
|
|
73
|
+
Print progress per component: `[N/total] harvesting <component>…`
|
|
74
|
+
|
|
75
|
+
## List Mode (`/gdd:benchmark --list`)
|
|
76
|
+
|
|
77
|
+
Read `reference/components/README.md` and diff against `reference/components/*.md` files.
|
|
78
|
+
Print a table:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Component Status Wave Lines
|
|
82
|
+
button ✓ 1 248
|
|
83
|
+
input ✓ 1 312
|
|
84
|
+
select-combobox ✓ 1 295
|
|
85
|
+
...
|
|
86
|
+
toast pending 3 —
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Refresh Mode (`/gdd:benchmark --refresh <component>`)
|
|
90
|
+
|
|
91
|
+
Same as single-component flow but skips the "already exists" guard. Use when a design
|
|
92
|
+
system ships a breaking update to a component's spec.
|
|
93
|
+
|
|
94
|
+
## Source List
|
|
95
|
+
|
|
96
|
+
`connections/design-corpora.md` — 18 design systems with canonical URLs, licensing, and
|
|
97
|
+
fallback chain (canonical → archive.org → Refero MCP → Pinterest MCP).
|
|
98
|
+
|
|
99
|
+
## Output Artifacts
|
|
100
|
+
|
|
101
|
+
| Artifact | Purpose |
|
|
102
|
+
|----------|---------|
|
|
103
|
+
| `.planning/benchmarks/raw/<component>.md` | Raw multi-source harvest (input only) |
|
|
104
|
+
| `reference/components/<component>.md` | Canonical spec (distributed with plugin) |
|
|
105
|
+
| `reference/components/README.md` | Corpus index (updated by synthesizer) |
|