motion-anything
✨ The agentic motion layer — an open-source, chat-native motion engine. Describe the feeling; your AI ships the animati…
git clone https://github.com/nexu-io/motion-anything.gitnexu-io/motion-anythingmotion-anything
A project in the nexu.io · Open Design family — the same team's take on motion. If motion-anything clicks for you, Open Design is where the full agent-era design studio lives.
Describe the feeling — your AI ships the animation. The agentic motion layer: a local-first, chat-native motion engine. Generate animated pages and launch videos from one sentence, then edit motion on the running page, component by component — 4 triggers, 13 motion verbs, spring easing, a full keyframe editor. Driven by 8 coding-agent engines + BYOK (Claude Code · Codex · Cursor · OpenCode · Grok Build · Hermes · Gemini · Open Design Cloud), armed with 403 curated motion recipes, wired into the Open Design ecosystem (59
DESIGN.mdbrand packs · 58 HyperFrames video templates · 112 HTML prototype templates · 2,680 icons), and exported to anything: JSON · CSS · React · Lottie · MP4 · GIF · portable skills. Zero npm dependencies. No watermark. No per-render fees.
English · 简体中文
Showcase
Every tile below is a live, dependency-free recipe from the library — real GPU shaders, canvas engines and kinetic text, faithfully ported so they run with two <script> tags on any page (no React, no three.js, no build step). All tiles are animated GIFs recorded from the actual previews.
![]() |
![]() |
| typewriter-multi · kinetic text Terminal-style multi-line typing with live cursors — agent-boot energy. |
shiny-text · kinetic text A sheen sweeps across text-clipped gradient type. One class to use. |
![]() |
![]() |
| star-border · ambient CTA A slow light orbits the border of your call-to-action. Pure CSS. |
rotating-text · kinetic text One line, many claims — words cycle in place with a soft travel. |
![]() |
![]() |
| magnet-lines · interactive A field of compass needles that swivel toward your pointer. |
elastic-slider · feedback A slider whose fill overshoots with a spring — tactile, GPU-safe. |
![]() |
![]() |
| bounce-cards · entrance A card stack fans out with a staggered bounce as it enters the view. |
strands · GPU shader Luminous fibers drifting like hair in water — a quiet hero backdrop. |
![]() |
![]() |
| silk · GPU shader Flowing fabric, ported from a three.js scene to a single fragment shader. |
waves · canvas 2D A perlin-warped line field with a pointer wake — organic, editorial, calm. |
![]() |
|
| faulty-terminal · GPU shader A glitching CRT grid for cyber / dev-tool moods. |
pixel-blast · GPU shader · interactive A drifting pixel pattern that ripples outward from every click. |
Kinetic text
Motion is not only backgrounds — text is a first-class citizen. These run on plain DOM, dependency-free:
![]() |
![]() |
| decrypted-text · kinetic text Random glyphs resolve left-to-right into the real line — hacker-movie energy, one attribute to use. |
text-scramble · kinetic text Decode-reveal between any phrases, programmable via scrambleTo(el, text). |
![]() |
![]() |
| count-up · kinetic text Numbers roll up to their value on view — the stat-block moment, eased properly. |
true-focus · kinetic text A focus frame hops word to word while the rest stays blurred — spotlight your claim. |
35 of the library's distinctive effects are faithful dependency-free ports — see ATTRIBUTION.md for sources and permissions. The full library holds 403 recipes.
Product tour
![]() Home — one sentence in, animated artifact out. Pick a design system (59 brand packs) and a motion profile (Subtle → Cinematic), or just type. |
![]() Dark mode — the whole app, both ways. Follows your OS in system mode. |
Why motion-anything
Motion is one of the highest-leverage, lowest-understood parts of digital craft. Four problems keep great motion out of reach:
- AI-generated pages are dead ends — you can generate a landing page, but tweaking its motion means re-rolling the whole page or hand-writing CSS. There is a gap between generating and refining. motion-anything edits motion on the running page, per component, and writes it back to the file.
- AI has no taste — default output is either everything-fades-in-at-once or a fireworks show. Here, taste is a feature: every recipe declares
avoid_whenand a restraint budget; the editor warns when a view exceeds it;prefers-reduced-motionis always honored; GPU-safe properties only. - The ecosystem is scattered — GSAP, Framer Motion, anime.js, Lottie… each a learning curve. You express intent ("a liquid-metal background"), the router picks from curated recipes. You never need to know a library name.
- Tools lock you in — proprietary models, per-render fees, watermarks, handoff-only artifacts. This is Apache-2.0, local-first, engine-agnostic, and everything exports.
vs. Figma Motion — their artifact is a handoff; ours is the running page itself. Their timeline has no interaction triggers; hover and click are first-class here. Their motion lives in their app; ours exports to JSON / CSS / React / Lottie or a portable skill any agent can use.
Open Design ecosystem
motion-anything is not a standalone island — it is the motion layer of the Open Design family, and the interop is real, not a logo wall:
- Every recipe is an Open-Design-compatible
SKILL.md— export any of the 230 portable skills and drop it straight into Open Design'sskills/(or any agent that reads skills). - 59 brand packs in Open Design's
DESIGN.mdformat — generation starts on-brand; the same contract your team already uses in OD drives motion here. - 58 HyperFrames video templates + 112 OD HTML prototype templates shipped in the library — briefs get matched against them so output starts from proven structure, not a blank canvas.
- Open Design Cloud is a first-class engine — the same ACP runtime (
vela) that powers OD drives motion-anything, with one recharge across GPT / Claude / Gemini / DeepSeek. - Shared craft assets — agent engine icons, the icon library (2,680 icons · 38 categories), and the design language all come from the same family.
The loop: pick a beautiful design system (OD's superpower) → generate a brand-grade page → give it motion, per component (our superpower) → export it back as a skill anyone's agent can reuse.
Quickstart
git clone https://github.com/nexu-io/motion-anything.git cd motion-anything node cli/bin/motion.js serve 4399 # open http://localhost:4399
That is the whole install. No npm install — the project has zero dependencies. You need Node 18+ and at least one agent engine: any supported CLI on your PATH (it will be auto-detected), or an API key for BYOK (Settings → Execution mode).
Engines
Your prompt runs on your agent — the CLI session you already pay for, or your own API key. Nothing is proxied through anyone's server.
| Engine | Vendor | Transport |
|---|---|---|
| Claude Code | Anthropic | headless -p + stream-json |
| Codex CLI | OpenAI | exec --json event stream |
| Cursor Agent | Cursor | stream-json |
| OpenCode | OpenCode | run --format json event stream |
| Grok Build | xAI | plain text via prompt file |
| Hermes | xAI | ACP (JSON-RPC over stdio) |
| Gemini CLI | plain text | |
| Open Design Cloud | nexu.io | ACP via the vela CLI |
| BYOK | Anthropic / OpenAI / Google | direct API with your key |
The library
- 403 motion recipes — 77 real effects with live previews, plus curated reference cards. Categories: ambient backgrounds, feedback & delight, interaction, text, transitions.
- Standardized manifests — every recipe is a folder with
recipe.motion.yaml, a self-containedpreview.html, the implementation, and aSKILL.md. Three fields you will not find elsewhere:intent_keywords,avoid_when,restraint. - 59 design-system brand packs + 58 video templates + 112 HTML prototype templates + 2,680 icons — generation starts brand-grade, not blank.
- 230 portable skills — export any recipe as a
SKILL.mdand drop it into Open Design or any agent that reads skills.
The taste contract lives in MOTION-SPEC.md. The library golden path (how to add a recipe) lives in AGENTS.md.
Export anything
| From | To |
|---|---|
| Any component's motion | JSON (portable) · CSS · React · Lottie |
| Any animated page | MP4 (freezable-timeline frame capture) · GIF · single-file HTML |
| Any launch video | MP4 via in-browser WebCodecs — no watermark, no upload, no fees |
| Any recipe | a portable SKILL.md for your agent |
Architecture
Plain files, no build step, zero npm dependencies — the whole app is deliberately boring to run:
app/index.html— the entire client (workbench, editors, library, i18n ×4) in one file.cli/bin/motion.js— server + CLI in one file: static serving, project store, and the engine dispatch (stream-json / JSONL events / plain / ACP / BYOK behind one interface).app/video/— the canvas compositor: engine, WebCodecs MP4 export, HTML frame capture, vendoredmp4-muxer+gifenc(MIT).recipes/— the library.recipes/web/_fx/shaderbg.js(58 lines) is the dependency-free WebGL runner behind all shader recipes.skills/— the router skill + bundled companion skills.
Agents are first-class citizens of the codebase itself: AGENTS.md is a working agreement any coding agent can follow, and PROGRESS.md keeps the state.
Roadmap
- v0.1 — recipe library + router skill + workbench + video line + 8 engines + BYOK ← we are here
- v0.x — richer video motion (recipe reuse inside video), deeper Figma import, streaming BYOK
- v1 — auto-add motion to existing Open Design artifacts; design-component → motion auto-assign
License & credits
Apache-2.0. A project in the nexu.io / Open Design family.
Third-party sources and permissions are recorded in ATTRIBUTION.md.
📖 中文文档见 README.zh-CN.md
more like this
veille-techno
Skill Claude Code de veille tech francophone. Agrège les flux RSS (Journal du Hacker, Human Coders News…) et produit un…
uchroma
An advanced driver for Razer Chroma hardware in Linux with multi-layer animation support
Agent-Signal-Bar
本地优先的 macOS AI Agent 信号灯:状态栏 + 桌面悬浮信号灯,自动监控 Codex / Claude Code。Local menu bar and floating desktop status lights for A…























