feat(animation): auto-install motion lib + detection across init/onboard/advisor

Add lib/animation-lib-check.sh with detect_anim_eligibility,
is_anim_lib_installed and recommend_anim_install_cmd helpers.
Wire it into the framework:
- init-project STEP 5e: silent auto-install after scaffold validated
- onboard STEP 2.5: propose + wait for user confirmation (opt-in on
  existing projects)
- plugin-advisor PHASE 1/2/3: read-only detection only, never installs
- scaffolder PHASE 4: clarifies boundary (orchestrator owns motion install)
- design-gate filesystem signals: motion / motion-v / framer-motion /
  gsap / lottie-react / react-spring / popmotion / auto-animate

Recommends `motion` (rebranded from framer-motion in Nov 2024) for
React-family and Svelte stacks, `motion-v` for Vue 3 / Nuxt. Excludes
React Native (use react-native-reanimated), backend, embedded, Flutter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
bastien
2026-04-27 15:32:46 +02:00
co-authored by Claude Opus 4.7
parent d513ea39a0
commit f80f83ee77
7 changed files with 220 additions and 0 deletions
+4
View File
@@ -89,6 +89,10 @@ Add `COMPOSE_PROJECT_NAME=<slug>` to `.env.example`.
On failure: read error → fix config → retry once → if still failing: report and stop.
If DOCKER_RELEVANT: `docker --version && docker compose version` — failure is warning, not blocker.
> **Note**: do NOT install `motion` / `motion-v` / animation libs here.
> The init-project orchestrator handles that in STEP 5e via
> `lib/animation-lib-check.sh`. Scaffolder stays language-agnostic.
---
## PHASE 5 — VERIFY BUILD