|
|
OpenCutA free, open-source video editor for web, desktop, and mobile. |
Thanks to Vercel and fal.ai for their support of open-source software.
apps/web/: Next.js web applicationapps/desktop/: Native desktop app built with GPUI (in progress)rust/: Platform-agnostic core: GPU compositor, effects, masks, and WASM bindings. We're actively migrating business logic here from TypeScript.docs/: Architecture and subsystem documentationNote: Docker is optional but recommended for running the local database and Redis. If you only want to work on frontend features, you can skip it.
Fork and clone the repository
Copy the environment file:
```bash # Unix/Linux/Mac cp apps/web/.env.example apps/web/.env.local
# Windows PowerShell Copy-Item apps/web/.env.example apps/web/.env.local ```
bash
docker compose up -d db redis serverless-redis-http
bash
bun install
bun dev:web
The application will be available at http://localhost:3000.
The .env.example has sensible defaults that match the Docker Compose config — it should work out of the box.
Desktop is opt-in. If you're only working on the web app, skip this entirely.
If you want to get ready for apps/desktop, see apps/desktop/README.md. It's a two-step setup: Rust toolchain first, then desktop native dependencies.
Only needed if you're editing rust/wasm and want the web app to use your local build instead of the published package.
bash
bun run build:wasm
bash
cd rust/wasm/pkg
bun link
apps/web to the local package:bash
cd apps/web
bun link opencut-wasm
bash
bun dev:wasm
To switch apps/web back to the published package, run:
cd apps/web
bun add opencut-wasm
To run everything (including a production build of the app) in Docker:
docker compose up -d
The app will be available at http://localhost:3100.
We welcome contributions! While we're actively developing and refactoring certain areas, there are plenty of opportunities to contribute effectively.
🎯 Focus areas: Timeline functionality, project management, performance, bug fixes, and UI improvements outside the preview panel.
⚠️ Avoid for now: Preview panel enhancements (fonts, stickers, effects) and export functionality - we're refactoring these with a new binary rendering approach.
See our Contributing Guide for detailed setup instructions, development guidelines, and complete focus area guidance.
Quick start for contributors:
apps/desktop? See apps/desktop/README.md for setup$ claude mcp add OpenCut \
-- python -m otcore.mcp_server <graph>