Motion Core is not just a library; it's a curated collection of expressive, production-ready motion components designed for the experimental web. Born from a desire to make high-end motion design accessible, it wraps complex WebGL and timeline-based animations into simple, developer-friendly Svelte 5 components.
We don't package everything into a massive npm dependency. Instead, we follow a copy-paste architecture (inspired by shadcn/ui). We encourage you to poke around the code, break things, and contribute back.
The primary way to use Motion Core is via our CLI tool, which handles dependencies and scaffolding.
Run the init command in your SvelteKit project to set up the environment, install base dependencies (like clsx, tailwind-merge), and configure your motion-core.json.
npx @motion-core/cli init
Browse the documentation to find a component you like, then add it to your project:
npx @motion-core/cli add infinite-gallery
npx @motion-core/cli add magnetic
This will download the component source code and place it in your configured components directory (default: $lib/motion-core).
This repository is a monorepo managed by Bun and Nx. It houses the entire ecosystem:
packages/motion-core: The source of truth for all components.apps/docs: The documentation site and development playground.motion-core-cli: The Rust-based CLI tool that powers the distribution.Clone & Install
git clone https://github.com/motion-core/motion-core.git
cd motion-core
bun install
Bootstrap Workspace This script generates the internal registry manifest and performs initial checks on the CLI.
bun run workspace:bootstrap
Start Development We use the documentation app as our dev environment to test components in real-time.
bun run dev
Open http://localhost:5173 to view the playground.
If you are contributing to the CLI tool (written in Rust):
# Check for compilation errors
bun run cli:check
# Build the binary
bun run cli:build
# Run the test suite
bun run cli:test
We welcome contributions! Whether it's a new motion component, a bug fix, or a documentation improvement.
git checkout -b feature/amazing-motion).bun run lint and bun run format.Motion Core is open-source and free to use. Licensed under MIT.