motionworks
MotionWorks
Eine direkte Manipulations-Ebene für Motion Design für Projekte, die mit KI-Codierungsagenten erstellt werden.
MotionWorks läuft über deiner lokalen App, sodass du ein echtes Element auswählen, Bewegung nach Gefühl einstellen, es erneut abspielen, mit dem Original vergleichen und das Ergebnis anwenden kannst. Einstellbare Werte leben in CSS-Custom-Properties, sodass der Browser sie sofort in der Vorschau anzeigen kann und der lokale Daemon präzise Änderungen zurück in den Quellcode schreiben kann.
Erstellen durch Beschreiben. Verfeinern durch Manipulieren.
Schnellstart
Installiere das einzelne Paket und initialisiere das Projekt:
npm install -D motionworks
npx motionworks initinit fügt .motionworks/ zu .gitignore hinzu, entfernt einen veralteten MotionWorks-MCP-Eintrag, falls vorhanden, und schreibt einen generierten MOTIONWORKS.md-Leitfaden sowie eine kurze Referenz für Claude Code und Codex. Bei React-Projekten bestätigt es außerdem die Paketinstallation, wenn nötig.
Starte deine App und den MotionWorks-Daemon in separaten Terminals:
npm run dev
npx motionworksBefolge für React den generierten Leitfaden, um MotionWorksProvider einmal in einem nur für die Entwicklung vorgesehenen, unabhängigen React-Root zu mounten. Lade für jede andere Seite das eigenständige Overlay vor </body>:
<script src="http://127.0.0.1:52340/motionworks.js"></script>MotionWorks kann auch ein statisches Verzeichnis bedienen und das Overlay automatisch injizieren:
npx motionworks serve .Related MCP server: convey
Der CSS-Vertrag
Jeder einstellbare Wert hat genau eine kanonische Deklaration in einem echten Stylesheet in der Regel des registrierten Elements:
.card {
--mw-radius: 120px;
--mw-response: 0.18;
}React-Effekte registrieren nur das Schema. Der Hook liest die Baselines aus CSS; Effektcode konsumiert sie mit readParams und reagiert auf motionworks:change über onParamsChange:
import { useEffect, useRef } from 'react';
import { onParamsChange, readParams, useMotionWorks } from 'motionworks/react';
const schema = {
name: 'Magnetic card',
params: {
radius: { type: 'spatial-radius', label: 'Radius', unit: 'px' },
response: { type: 'temporal-response', label: 'Response' },
},
} as const;
function MagneticCard() {
const ref = useRef<HTMLDivElement>(null);
useMotionWorks(ref, schema);
useEffect(() => {
const el = ref.current;
if (!el) return;
const effect = createMagneticEffect(el, readParams(el, schema.params));
const sync = () => effect.update(readParams(el, schema.params));
const stop = onParamsChange(el, sync);
return () => {
stop();
effect.destroy();
};
}, []);
return <div ref={ref} className="card" />;
}Reines HTML kann dasselbe Schema mit data-motionworks registrieren und window.MotionWorks.readParams / window.MotionWorks.onParamsChange verwenden.
Was beim Anwenden passiert
Das Anwenden ist dauerhaft, bevor es automatisch erfolgt:
Das Overlay hängt einen Eintrag an
.motionworks/changes.jsonan.Der Daemon bearbeitet die eindeutig passende CSS-Deklaration direkt.
Wenn die Deklaration mehrdeutig ist, führt der Daemon Claude oder Codex aus, sofern verfügbar.
Wenn kein Agent sie vervollständigen kann, bleibt der Eintrag ausstehend für „Prompt kopieren" und
npx motionworks changes.
Der Agent ändert genau die aufgeführten Deklarationen und bestätigt einen manuellen Rückschreibevorgang mit npx motionworks ack <id>. npx motionworks status meldet den aktuell ausgewählten Effekt, wenn ein Designer sich auf „diesen hier" bezieht.
Paketexporte
Das Repository enthält ein veröffentlichbares Paket, motionworks:
Export | Zweck |
| Browsersicheres Schema- und Journal-Typen |
|
|
| Framework-freie CSS-Bindungs- und Ereignis-Helfer, einschließlich |
| Programmatische Daemon-, Journal-, Setup-, Konfigurations- und Static-Serving-APIs |
| Eigenständiges Browser-Bundle |
| Daemon-, Journal-, Setup- und Statusbefehle |
React und ReactDOM sind optionale Begleitpakete; Nicht-React-Seiten verwenden das eigenständige Bundle.
CLI
npx motionworks Start the local daemon
npx motionworks serve <dir> Serve a static site with the overlay
npx motionworks changes [--json|--brief] Show pending journal entries
npx motionworks ack <id>|--all Acknowledge manual writebacks
npx motionworks status Show daemon and current selection
npx motionworks revert <id> Revert an applied entry
npx motionworks init Set up the project and agent guideDie automatische Agentenausführung ist aktiviert, wenn claude oder codex gefunden wird. Verwende --no-agent für manuelle Übergabe oder --agent=claude|codex|off, um explizit zu wählen. Der Daemon bindet an 127.0.0.1:52340; MOTIONWORKS_PORT oder --port ändert den Port.
Entwicklung
Das Repository ist ein npm-Workspace mit einem Paket unter packages/motionworks. Es wird mit tsup gebaut und mit Vitest getestet.
npm install
npm run build
npm run typecheck
npm testDer abgeschlossene 0.5.0-Bridge-Neuaufbau ist in docs/plans/bridge-rebuild.md dokumentiert; die gepflegte Architektur und die Verträge befinden sich in docs/.
Lizenz
MIT © John Kim
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-Native design tool - create and edit visual designs with agent assistance
A design agent in your coding agent's loop: briefs each screen, reviews UX and visual quality.
One sentence to a finished animation: your AI writes motion graphics as code and checks real frames.
191Verification videos for AI coding agents: upload recordings over MCP and share viewer links. Keep work moving in parallel and review results asynchronously, when you're ready, from your laptop or phone. Add video evidence to pull requests so teammates can see how your changes work during code review.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to remotely operate visual design tools via MCP protocol, with composable architecture for image processing, file operations, and workflow automation.MIT
- AlicenseNot gradedqualityDmaintenanceEnables designing, modifying, and bug reporting in web apps, sending changes to coding agents via MCP.5 npm46MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and manage consistent multi-screen UI designs through a token-efficient MCP interface, with design system tokens, components, flows, and visual review.564 npm2AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceProvides AI coding agents with structured access to design research, component libraries, motion systems, design DNA extraction, visual search, and production workflows through MCP and SDK interfaces.2 npmApache 2.0