|
|
||
|---|---|---|
| .github | ||
| apps/web | ||
| packages | ||
| .cursorignore | ||
| .gitignore | ||
| .npmrc | ||
| LICENSE | ||
| README.md | ||
| biome.json | ||
| bun.lock | ||
| docker-compose.yaml | ||
| netlify.toml | ||
| package.json | ||
| turbo.json | ||
README.md
|
OpenCut (prev AppCut)A free, open-source video editor for web, desktop, and mobile. |
Why?
- Privacy: Your videos stay on your device
- Free features: Every basic feature of CapCut is paywalled now
- Simple: People want editors that are easy to use - CapCut proved that
Features
- Timeline-based editing
- Multi-track support
- Real-time preview
- No watermarks or subscriptions
- Analytics provided by Databuddy, 100% Anonymized & Non-invasive.
Project Structure
apps/web/– Main Next.js web applicationsrc/components/– UI and editor componentssrc/hooks/– Custom React hookssrc/lib/– Utility and API logicsrc/stores/– State management (Zustand, etc.)src/types/– TypeScript types
Getting Started
Prerequisites
Before you begin, ensure you have the following installed on your system:
Additional requirements for full-stack development:
- Docker and Docker Compose (only needed for database/auth features)
Frontend-only Development (Recommended for UI work)
If you're working on the UI/frontend and don't need authentication or database features:
-
Fork the repository
-
Clone your fork locally
-
Navigate to the web app directory:
cd apps/web -
Copy
.env.exampleto.env.local:# Unix/Linux/Mac cp .env.example .env.local # Windows Command Prompt copy .env.example .env.local # Windows PowerShell Copy-Item .env.example .env.local -
Install dependencies:
bun install -
Start the development server:
bun dev
The application will be available at http://localhost:3000.
Note: This setup runs without Docker and is perfect for frontend development, UI improvements, and most feature work.
Full Development Setup (Database + Auth)
Only follow this if you need to work with authentication, user accounts, or database features.
-
Start the database and Redis services:
# From project root docker-compose up -d -
Navigate to the web app directory:
cd apps/web -
Copy
.env.exampleto.env.local:# Unix/Linux/Mac cp .env.example .env.local # Windows Command Prompt copy .env.example .env.local # Windows PowerShell Copy-Item .env.example .env.local -
Configure required environment variables in
.env.local:Required Variables:
# Database (matches docker-compose.yaml) DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut" # Generate a secure secret for Better Auth BETTER_AUTH_SECRET="your-generated-secret-here" BETTER_AUTH_URL="http://localhost:3000" # Redis (matches docker-compose.yaml) UPSTASH_REDIS_REST_URL="http://localhost:8079" UPSTASH_REDIS_REST_TOKEN="example_token" # Development NODE_ENV="development"Generate BETTER_AUTH_SECRET:
# Unix/Linux/Mac openssl rand -base64 32 # Windows PowerShell (simple method) [System.Web.Security.Membership]::GeneratePassword(32, 0) # Cross-platform (using Node.js) node -e "console.log(require('crypto').randomBytes(32).toString('base64'))" # Or use an online generator: https://generate-secret.vercel.app/32 -
Run database migrations:
bun run db:migratefrom (inside apps/web) -
Start the development server:
bun run devfrom (inside apps/web)
The application will be available at http://localhost:3000.
Contributing
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:
- Fork the repo and clone locally
- Follow the setup instructions in CONTRIBUTING.md
- Create a feature branch and submit a PR
Sponsors
Thanks to Vercel for their support of open-source software.