@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.
Files changed (70) hide show
  1. package/.claude-plugin/marketplace.json +9 -5
  2. package/.claude-plugin/plugin.json +19 -5
  3. package/CHANGELOG.md +122 -0
  4. package/README.md +41 -0
  5. package/SKILL.md +4 -1
  6. package/agents/component-benchmark-harvester.md +112 -0
  7. package/agents/component-benchmark-synthesizer.md +88 -0
  8. package/agents/design-auditor.md +60 -1
  9. package/agents/design-doc-writer.md +21 -0
  10. package/agents/design-executor.md +22 -4
  11. package/agents/design-pattern-mapper.md +61 -0
  12. package/agents/motion-mapper.md +74 -9
  13. package/agents/token-mapper.md +8 -0
  14. package/connections/design-corpora.md +158 -0
  15. package/package.json +13 -3
  16. package/reference/components/README.md +94 -0
  17. package/reference/components/TEMPLATE.md +184 -0
  18. package/reference/components/accordion.md +217 -0
  19. package/reference/components/alert.md +198 -0
  20. package/reference/components/badge.md +202 -0
  21. package/reference/components/breadcrumbs.md +198 -0
  22. package/reference/components/button.md +195 -0
  23. package/reference/components/card.md +200 -0
  24. package/reference/components/checkbox.md +207 -0
  25. package/reference/components/chip.md +209 -0
  26. package/reference/components/command-palette.md +228 -0
  27. package/reference/components/date-picker.md +227 -0
  28. package/reference/components/drawer.md +201 -0
  29. package/reference/components/file-upload.md +219 -0
  30. package/reference/components/input.md +208 -0
  31. package/reference/components/label.md +200 -0
  32. package/reference/components/link.md +193 -0
  33. package/reference/components/list.md +217 -0
  34. package/reference/components/menu.md +212 -0
  35. package/reference/components/modal-dialog.md +210 -0
  36. package/reference/components/navbar.md +211 -0
  37. package/reference/components/pagination.md +205 -0
  38. package/reference/components/popover.md +197 -0
  39. package/reference/components/progress.md +210 -0
  40. package/reference/components/radio.md +203 -0
  41. package/reference/components/rich-text-editor.md +226 -0
  42. package/reference/components/select-combobox.md +219 -0
  43. package/reference/components/sidebar.md +211 -0
  44. package/reference/components/skeleton.md +197 -0
  45. package/reference/components/slider.md +208 -0
  46. package/reference/components/stepper.md +220 -0
  47. package/reference/components/switch.md +194 -0
  48. package/reference/components/table.md +229 -0
  49. package/reference/components/tabs.md +213 -0
  50. package/reference/components/toast.md +200 -0
  51. package/reference/components/tooltip.md +201 -0
  52. package/reference/components/tree.md +225 -0
  53. package/reference/css-grid-layout.md +835 -0
  54. package/reference/external/NOTICE.hyperframes +28 -0
  55. package/reference/image-optimization.md +582 -0
  56. package/reference/motion-advanced.md +754 -0
  57. package/reference/motion-easings.md +381 -0
  58. package/reference/motion-interpolate.md +282 -0
  59. package/reference/motion-spring.md +234 -0
  60. package/reference/motion-transition-taxonomy.md +155 -0
  61. package/reference/motion.md +20 -0
  62. package/reference/output-contracts/motion-map.schema.json +135 -0
  63. package/reference/registry.json +285 -0
  64. package/reference/registry.schema.json +6 -1
  65. package/reference/variable-fonts-loading.md +532 -0
  66. package/scripts/lib/easings.cjs +280 -0
  67. package/scripts/lib/parse-contract.cjs +220 -0
  68. package/scripts/lib/spring.cjs +160 -0
  69. package/scripts/tests/test-motion-provenance.sh +64 -0
  70. 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) |