@ericrisco/rsc 3.1.4 → 3.3.1

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 (98) hide show
  1. package/README.md +11 -7
  2. package/manifest.json +17 -68
  3. package/package.json +6 -1
  4. package/scripts/design-upstream.js +92 -0
  5. package/scripts/doctor.js +0 -24
  6. package/scripts/lib/default-skill-floor.js +5 -1
  7. package/scripts/lib/domains.js +2 -2
  8. package/scripts/lib/recommend.js +1 -3
  9. package/scripts/lib/retired-skills.js +7 -1
  10. package/skills/design/IMPECCABLE-LICENSE.txt +191 -0
  11. package/skills/design/SKILL.md +79 -328
  12. package/skills/design/THIRD_PARTY.md +26 -0
  13. package/skills/design/engine/LICENSE +21 -0
  14. package/skills/design/engine/RUN.md +515 -0
  15. package/skills/design/engine/UPSTREAM.json +4 -0
  16. package/skills/design/engine/assets/app.css +216 -0
  17. package/skills/design/engine/assets/base.css +105 -0
  18. package/skills/design/engine/assets/base.js +37 -0
  19. package/skills/design/engine/assets/charts.js +617 -0
  20. package/skills/design/engine/assets/scenes/stage.css +28 -0
  21. package/skills/design/engine/assets/scenes/stage.js +133 -0
  22. package/skills/design/engine/library/app.json +1327 -0
  23. package/skills/design/engine/library/directions.json +1078 -0
  24. package/skills/design/engine/library/heroes.json +1086 -0
  25. package/skills/design/engine/library/motions.json +92 -0
  26. package/skills/design/engine/library/palettes.json +1485 -0
  27. package/skills/design/engine/library/photos.json +7240 -0
  28. package/skills/design/engine/library/sections.json +4429 -0
  29. package/skills/design/engine/library/sites.json +8350 -0
  30. package/skills/design/engine/library/type.json +2024 -0
  31. package/skills/design/engine/references/app-screens.md +1199 -0
  32. package/skills/design/engine/references/colour.md +141 -0
  33. package/skills/design/engine/references/copy.md +177 -0
  34. package/skills/design/engine/references/critique.md +182 -0
  35. package/skills/design/engine/references/imagery.md +791 -0
  36. package/skills/design/engine/references/layout.md +292 -0
  37. package/skills/design/engine/references/motion.md +980 -0
  38. package/skills/design/engine/references/research.md +356 -0
  39. package/skills/design/engine/references/scenes.md +174 -0
  40. package/skills/design/engine/references/tells.md +115 -0
  41. package/skills/design/engine/references/type.md +170 -0
  42. package/skills/design/engine/scripts/assets.mjs +865 -0
  43. package/skills/design/engine/scripts/draw.mjs +584 -0
  44. package/skills/design/engine/scripts/inspect.mjs +303 -0
  45. package/skills/design/engine/scripts/lib/app-draw.mjs +203 -0
  46. package/skills/design/engine/scripts/lib/cdp.mjs +248 -0
  47. package/skills/design/engine/scripts/lib/probe.mjs +909 -0
  48. package/skills/design/engine/scripts/lib/rules.mjs +243 -0
  49. package/skills/design/engine/scripts/lint.mjs +119 -0
  50. package/skills/design/engine/scripts/scenes.mjs +124 -0
  51. package/skills/design/evals/cases.yaml +35 -46
  52. package/skills/design/references/design-md.md +49 -0
  53. package/skills/design/references/finish-review.md +46 -0
  54. package/skills/design/references/modes.md +51 -0
  55. package/skills/expo/SKILL.md +3 -4
  56. package/skills/marketing/references/landing-copy.md +2 -2
  57. package/skills/react/SKILL.md +2 -2
  58. package/skills/react-native/SKILL.md +3 -3
  59. package/skills/suggest/SKILL.md +12 -8
  60. package/skills/suggest/evals/cases.yaml +6 -0
  61. package/skills/swift-ios/SKILL.md +1 -1
  62. package/skills/ui-engineering/SKILL.md +3 -4
  63. package/skills/ui-engineering/evals/cases.yaml +2 -2
  64. package/skills/variant-explorer/SKILL.md +4 -4
  65. package/skills/variant-explorer/evals/cases.yaml +1 -1
  66. package/targets/clone-bootstrap.mjs +1 -1
  67. package/scripts/lib/design-identity.js +0 -117
  68. package/scripts/lib/starting-point.js +0 -314
  69. package/skills/design/evals/README.md +0 -53
  70. package/skills/design/references/ai-tells.md +0 -75
  71. package/skills/design/references/brand-grounding.md +0 -197
  72. package/skills/design/references/copywriting-frameworks.md +0 -138
  73. package/skills/design/references/design-systems.md +0 -49
  74. package/skills/design/references/inspiration-sources.md +0 -96
  75. package/skills/design/references/landing-anatomy-and-cro.md +0 -202
  76. package/skills/design/references/motion-and-interaction.md +0 -232
  77. package/skills/design/references/research-method.md +0 -154
  78. package/skills/design/references/signature-and-craft.md +0 -148
  79. package/skills/design/references/starting-point.md +0 -75
  80. package/skills/design/references/trends-2026.md +0 -80
  81. package/skills/design/references/visual-system.md +0 -237
  82. package/skills/design/scripts/verify.sh +0 -357
  83. package/skills/design-dna/PROMPT.md +0 -211
  84. package/skills/design-dna/SKILL.md +0 -162
  85. package/skills/design-dna/design-dna.schema.json +0 -230
  86. package/skills/design-dna/evals/README.md +0 -64
  87. package/skills/design-dna/evals/cases.yaml +0 -68
  88. package/skills/design-dna/references/method.md +0 -436
  89. package/skills/design-dna/scripts/emit.py +0 -164
  90. package/skills/design-dna/templates/PROMPT.md.tmpl +0 -42
  91. package/skills/design-dna/templates/SKILL.md.tmpl +0 -42
  92. package/skills/design-dna/templates/check.py.tmpl +0 -143
  93. package/skills/design-loop/SKILL.md +0 -160
  94. package/skills/design-loop/evals/README.md +0 -56
  95. package/skills/design-loop/evals/cases.yaml +0 -60
  96. package/skills/motion-craft/SKILL.md +0 -125
  97. package/skills/motion-craft/evals/cases.yaml +0 -38
  98. package/skills/motion-craft/scripts/verify.sh +0 -75
@@ -1,75 +0,0 @@
1
- #!/usr/bin/env bash
2
- #
3
- # verify.sh — the never-animate list of `motion-craft`, made mechanical.
4
- #
5
- # The SKILL.md declares rules as binding ("never animate layout", "never
6
- # `transition: all`"). A rule declared binding without a mechanism that checks it
7
- # is a decorative gate: it buys the feeling of safety without the safety. So each
8
- # hard rule in the skill body has a row here, and each row has a fixture in
9
- # tests/motion-craft-rules.test.js that watches it FAIL and then PASS.
10
- #
11
- # Static and network-free. Everything WARNS by default; --strict makes findings
12
- # fatal, which is what CI should use.
13
- set -u
14
- TARGET="${1:-.}"
15
- STRICT=0
16
- [ "${2:-}" = "--strict" ] && STRICT=1
17
- [ "${1:-}" = "--strict" ] && { STRICT=1; TARGET="."; }
18
-
19
- warn_count=0
20
- warn() { printf ' ⚠ %s\n' "$1"; warn_count=$((warn_count + 1)); }
21
- ok() { printf ' ✓ %s\n' "$1"; }
22
-
23
- # id <TAB> grep -E pattern <TAB> message
24
- # One row per hard rule in SKILL.md §"What must never animate". Adding a rule to
25
- # the prose without adding it here is what the test suite refuses to allow.
26
- #
27
- # Fields are TAB-separated on purpose: the patterns are extended regexes and are
28
- # full of `|`, so a pipe delimiter silently truncated every pattern at its first
29
- # alternation and only the one rule without alternation ever fired.
30
- rules() {
31
- printf '%b\n' \
32
- "transition-all\ttransition:[[:space:]]*all\t\`transition: all\` animates layout by accident — list the exact properties" \
33
- "layout-anim\ttransition:[^;]*(width|height|top:|left:|right:|bottom:|margin|padding)\tanimating layout properties forces reflow every frame — use transform and opacity" \
34
- "linear-move\t(transition|animation):[^;]*(transform|translate|scale)[^;]*linear\tlinear easing on positional movement reads as mechanical — nothing physical starts at full speed" \
35
- "long-duration\t(transition|animation):[^;]*[^0-9]([5-9][0-9][0-9]|[0-9][0-9][0-9][0-9])ms\tover 400ms stops being a transition and becomes a wait"
36
- }
37
-
38
- files=$(find "$TARGET" \( -name node_modules -o -name .git -o -name dist -o -name build -o -name .next \) -prune -o \
39
- \( -name '*.css' -o -name '*.scss' -o -name '*.tsx' -o -name '*.jsx' -o -name '*.ts' -o -name '*.js' -o -name '*.vue' -o -name '*.svelte' \) -print 2>/dev/null)
40
-
41
- echo "motion-craft — never-animate checks"
42
- if [ -z "$files" ]; then
43
- echo " (no style or component files found under $TARGET)"
44
- exit 0
45
- fi
46
-
47
- while IFS=$'\t' read -r id pattern message; do
48
- [ -z "$id" ] && continue
49
- hits=$(printf '%s\n' "$files" | xargs grep -lEi -- "$pattern" 2>/dev/null | head -5)
50
- if [ -n "$hits" ]; then
51
- warn "$id: $message"
52
- printf ' %s\n' $hits
53
- else
54
- ok "$id"
55
- fi
56
- done <<< "$(rules)"
57
-
58
- # reduced-motion is a finishing condition, not an edge case: if anything animates
59
- # at all, the project must say what it does for people who asked for less motion.
60
- if printf '%s\n' "$files" | xargs grep -lEi -- '(transition|animation|@keyframes)' >/dev/null 2>&1; then
61
- if printf '%s\n' "$files" | xargs grep -lEi -- 'prefers-reduced-motion' >/dev/null 2>&1; then
62
- ok "reduced-motion: honoured somewhere"
63
- else
64
- warn "reduced-motion: this project animates and never mentions prefers-reduced-motion — unchecked means unfinished"
65
- fi
66
- fi
67
-
68
- echo
69
- if [ "$warn_count" -gt 0 ]; then
70
- echo "$warn_count finding(s)."
71
- [ "$STRICT" -eq 1 ] && exit 1
72
- else
73
- echo "No findings."
74
- fi
75
- exit 0