motionworks
MotionWorks
Слой моушн-дизайна с прямым манипулированием для проектов, создаваемых ИИ-агентами кодирования.
MotionWorks работает поверх вашего локального приложения, позволяя выбрать реальный элемент, настроить движение «на ощупь», воспроизвести его, сравнить с оригиналом и применить результат. Настраиваемые значения хранятся в CSS-кастомных свойствах, поэтому браузер может сразу показать предпросмотр, а локальный демон — записать точные изменения обратно в исходный код.
Опиши, чтобы создать. Манипулируй, чтобы уточнить.
Быстрый старт
Установите единственный пакет и инициализируйте проект:
npm install -D motionworks
npx motionworks initinit добавляет .motionworks/ в .gitignore, удаляет устаревшую запись MCP для MotionWorks, если она есть, и записывает сгенерированное руководство MOTIONWORKS.md плюс короткую справочную строфу для Claude Code и Codex. В React-проектах он также подтверждает установку пакета при необходимости.
Запустите приложение и демон MotionWorks в отдельных терминалах:
npm run dev
npx motionworksДля React следуйте сгенерированному руководству, чтобы смонтировать MotionWorksProvider один раз в отдельном, только для разработки, независимом React-корне. Для любой другой страницы загрузите автономный оверлей перед </body>:
<script src="http://127.0.0.1:52340/motionworks.js"></script>MotionWorks также может обслуживать статическую директорию и внедрять оверлей автоматически:
npx motionworks serve .Related MCP server: convey
Контракт CSS
Каждое настраиваемое значение имеет одно каноническое объявление в реальной таблице стилей в правиле зарегистрированного элемента:
.card {
--mw-radius: 120px;
--mw-response: 0.18;
}React-эффекты регистрируют только схему. Хук читает базовые значения из CSS; код эффекта потребляет их через readParams и реагирует на motionworks:change через 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" />;
}Обычный HTML может зарегистрировать ту же схему с помощью data-motionworks и использовать window.MotionWorks.readParams / window.MotionWorks.onParamsChange.
Что происходит при Apply
Apply — это сначала долговечно, а потом автоматически:
Оверлей добавляет запись в
.motionworks/changes.json.Демон напрямую редактирует единственное совпадающее объявление CSS.
Если объявление неоднозначно, демон запускает Claude или Codex, если они доступны.
Если ни один агент не может завершить задачу, запись остаётся в ожидании для Copy prompt и
npx motionworks changes.
Агент изменяет ровно те объявления, которые перечислены, и подтверждает ручную запись обратно с помощью npx motionworks ack <id>. npx motionworks status сообщает о текущем выбранном эффекте, когда дизайнер говорит «вот этот».
Экспорт пакета
В репозитории один публикуемый пакет — motionworks:
Экспорт | Назначение |
| Безопасные для браузера типы схемы и журнала |
|
|
| Связывание CSS без фреймворка и помощники событий, включая |
| Программный демон, журнал, настройка, конфигурация и API статической раздачи |
| Автономный браузерный бандл |
| Демон, статическая раздача, команды журнала, настройка и статус |
React и ReactDOM — необязательные соседи; не-React-страницы используют автономный бандл.
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 guideАвтоматическое выполнение агента включено, если найден claude или codex. Используйте --no-agent для ручной передачи или --agent=claude|codex|off, чтобы выбрать явно. Демон привязывается к 127.0.0.1:52340; MOTIONWORKS_PORT или --port меняет порт.
Разработка
Репозиторий — это npm-воркспейс с одним пакетом в packages/motionworks. Он собирается с помощью tsup и тестируется с помощью Vitest.
npm install
npm run build
npm run typecheck
npm testЗавершённая перестройка моста 0.5.0 задокументирована в docs/plans/bridge-rebuild.md; поддерживаемая архитектура и контракты живут в docs/.
Лицензия
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