motion-anything
Health Pass
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 15 days ago
- Community trust — 516 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
✨ The agentic motion layer — an open-source, chat-native motion engine. Describe the feeling; your AI ships the animation.
motion-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. |
![]() Workbench — the heart. The agent plans, generates and self-checks on the left; click any component on the running page and give it motion — triggers, presets or a 6-track keyframe editor with scrub + auto-keyframe. The timeline below warns when a view exceeds the restraint budget. |
![]() Video editor — a canvas compositor for launch videos: text / shape / image / video layers, five scenes with real transitions, a shared film background, kinetic typography, and in-browser WebCodecs MP4 export. No watermark, nothing uploaded. |
![]() Motion paths — draw a line on the canvas, and the selected layer travels it: as drawn, or snapped to a clean line / circle / ellipse, with eased speed and per-character text motion on top. |
![]() Motion presets — entrance / emphasis / attention / exit presets stack onto any layer (text, image, video, shapes), plus the full 200+ recipe library one click away. |
![]() Library — 403 curated recipes with live card previews, searchable by intent. Every recipe carries avoid_when and a restraint budget: taste is enforced, not hoped for.
|
![]() Engines — bring the agent you already pay for. 8 CLIs auto-detected on your PATH, plus BYOK for direct Anthropic / OpenAI / Google API calls. Keys never leave your machine. |
![]() 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
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found






















