A modern, open-source video editor built with Tauri, React, and TypeScript featuring a professional timeline interface.
Features • Installation • Usage • Contributing • License
| Platform | Download |
|---|---|
| macOS (Apple Silicon + Intel) | Coming Soon |
| Windows 10/11 | Coming Soon |
| Linux (AppImage) | Coming Soon |
Current Status: v0.1.0 in development. See milestone →
src/
├── components/ # React components
│ ├── editor/ # Core editor components (Timeline, Preview, etc.)
│ ├── screens/ # Full-screen views (LaunchScreen)
│ └── ui/ # Generic UI components (Modals, Icons, etc.)
├── store/ # Zustand global state stores
│ ├── timelineStore.ts# Timeline structure (tracks, clips)
│ ├── playbackStore.ts# Playback sync and playhead state
│ ├── projectStore.ts # Media assets and project settings
│ └── ... # uiStore, settingsStore, dragStateStore
├── lib/ # Shared utilities and FFmpeg logic
├── hooks/ # Custom React hooks
├── types/ # TypeScript type definitions
├── constants/ # Global configuration
└── App.tsx # Main application entry
See ARCHITECTURE.md for detailed documentation.
src-tauri/bin/). The checked-in files are small wrappers that call ffmpeg / ffprobe from your PATH so local cargo tauri dev works without copying static binaries. For release DMGs, replace them with static builds per src-tauri/bin/README.md (GPL/LGPL compliance, code-signing / notarization for sidecars). Until Linux/Windows sidecars exist, install FFmpeg on those platforms as before.# macOS (used by sidecar wrappers until you drop in static binaries)
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Windows (using Chocolatey)
choco install ffmpeg
# Or download from https://ffmpeg.org/download.html
# Clone the repository
git clone https://github.com/AIEraDev/clypra.git
cd clypra
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build the frontend
npm run build
# Build the Tauri app
npm run tauri build
# The built app will be in src-tauri/target/release/
npm run dev - Start Vite dev servernpm run build - Build frontendnpm run preview - Preview production buildnpm run tauri dev - Run Tauri app in developmentnpm run tauri build - Build Tauri app for productionFrontend:
Backend:
Space - Play/Pause videoCtrl/Cmd + Scroll - Zoom timelineTrackpad Pinch - Zoom timelineComing soon - Add screenshots of your app in action
Clypra relies on a powerful and scalable state architecture using Zustand. State is split into logical domains to minimize unnecessary re-renders while ensuring high performance:
timelineStore: Manages complex timeline manipulations (clips, tracks).playbackStore: Highly optimized store for frame-accurate playback and playhead sync.projectStore: Manages media assets, project settings, and history.uiStore & settingsStore: Handles application themes, view modes, and preferences.src/components) - Focused purely on declarative UI rendering. Core editor modules (Timeline, SourcePreview, PreviewPanel) are fully decoupled.src/store) - Centralized business logic and actions.src/lib) - Pure functions for timeline math, FFmpeg process execution, and Tauri sidecar integration.src/types) - Strict TypeScript models for the entire editing domain.We welcome contributions from the community! Whether it's:
Please read our Contributing Guide and Code of Conduct before submitting a PR.
# Run tests
npm test
# Run tests with UI
npm run test:ui
# Lint code
npm run lint
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project useful, please consider:
Made with ❤️ by the Clypra community
$ claude mcp add Clypra \
-- python -m otcore.mcp_server <graph>