Skip to content

Conversation

Varich22
Copy link

@Varich22 Varich22 commented Sep 25, 2025

🎬 OpenCut – Open Source Video Editor

OpenCut est un éditeur vidéo libre, gratuit et open-source conçu pour fonctionner sur le web, desktop et mobile. Il vise à offrir une alternative complète et simple à des outils populaires comme CapCut ou Premiere Rush, mais sans les limitations, les abonnements cachés ni la collecte de données personnelles.


🌍 Vision du projet

Aujourd’hui, la majorité des éditeurs vidéos imposent des restrictions :

Les fonctionnalités de base deviennent payantes (CapCut, VN, etc.).

Les vidéos sont filigranées ou limitées à certaines résolutions.

Les données personnelles et les créations sont stockées sur des serveurs externes.

👉 Avec OpenCut, nous voulons :

🔒 Respecter la vie privée (vos vidéos restent en local sur votre appareil)

🆓 Garantir un accès 100% gratuit aux fonctionnalités essentielles

🎯 Proposer une expérience simple, rapide et intuitive

💻 Être disponible partout : Web, Desktop et Mobile

En résumé : OpenCut est un outil pensé pour les créateurs, pas pour les abonnements.


✨ Fonctionnalités principales

Montage basé sur une timeline (drag & drop intuitif)

Multi-pistes (vidéo, audio, texte, overlays)

Prévisualisation en temps réel

Sans watermark et sans publicité

Compatible tous supports (navigateur, app mobile, app desktop)

Sauvegarde locale (vos vidéos vous appartiennent, pas au cloud)


🏗️ Architecture & Structure du projet

OpenCut est construit avec des technologies modernes :

Frontend Web : Next.js

Langage principal : TypeScript

UI : React + TailwindCSS

État global : Zustand

Backend (optionnel) : Node.js + PostgreSQL + Redis (via Docker)

Blog : MarbleCMS (Headless CMS)

Analytics anonymes : Databuddy

📂 Arborescence simplifiée :

apps/web/ → Application web principale (Next.js)
src/components/ → UI et composants de l’éditeur
src/hooks/ → Hooks React personnalisés
src/lib/ → Fonctions utilitaires & API
src/stores/ → Gestion des états (Zustand)
src/types/ → Types TypeScript


🚀 Pourquoi contribuer ?

OpenCut est open-source (licence MIT), ce qui signifie que :

Vous pouvez l’utiliser librement

Vous pouvez ajouter des fonctionnalités

Vous pouvez aider à corriger des bugs

Vous participez à un projet qui défend la liberté des créateurs

👉 Nos priorités actuelles :

Améliorer la timeline et la fluidité du montage

Optimiser les performances

Améliorer l’ergonomie et l’UX

Stabiliser la gestion des projets

⚠️ Ce que nous évitions pour le moment : filtres avancés, stickers, exports → une refonte du moteur de rendu est en cours.


👨‍💻 Pour les développeurs

Installation rapide : via Bun ou Node.js

Support Docker : pour la base de données et Redis

Extensible : architecture modulaire pensée pour accueillir des plugins

🔧 Exemple de setup local :

1. Cloner le repo

git clone https://github.com/opencut-app/opencut.git cd opencut/apps/web

2. Copier la config

cp .env.example .env.local

3. Installer les dépendances

bun install

4. Lancer le serveur de dev

bun dev

👉 Application dispo sur http://localhost:3000


💎 Sponsors & Partenaires

Merci à nos partenaires open-source :

Vercel – Hébergement web et support OSS

fal.ai – IA et traitement multimédia avancé


📜 Licence

OpenCut est distribué sous licence MIT.
➡️ Cela signifie : liberté totale d’usage, de modification et de contribution.

Description

Please include a summary of the changes and the related issue. Please also include relevant motivation and context.

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • Performance improvement
  • Code refactoring
  • Tests

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Test A
  • Test B

Test Configuration:

  • Node version:
  • Browser (if applicable):
  • Operating System:

Screenshots (if applicable)

Add screenshots to help explain your changes.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have added screenshots if ui has been changed
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Additional context

Add any other context about the pull request here.

Summary by CodeRabbit

  • Documentation
    • Overhauled README with a clearer, structured layout (Why OpenCut, Features, Project Structure, Getting Started, Setup, Development, Contributing, Sponsors, License).
    • Improved readability with reorganized content, segmented guidelines, and enhanced formatting (headings, emojis, separators).
    • Updated setup and development instructions for easier onboarding.
    • Added new sections for Contributing and Sponsors.
    • No functional or runtime changes.

🎬 OpenCut – Open Source Video Editor

OpenCut est un éditeur vidéo libre, gratuit et open-source conçu pour fonctionner sur le web, desktop et mobile.
Il vise à offrir une alternative complète et simple à des outils populaires comme CapCut ou Premiere Rush, mais sans les limitations, les abonnements cachés ni la collecte de données personnelles.


---

🌍 Vision du projet

Aujourd’hui, la majorité des éditeurs vidéos imposent des restrictions :

Les fonctionnalités de base deviennent payantes (CapCut, VN, etc.).

Les vidéos sont filigranées ou limitées à certaines résolutions.

Les données personnelles et les créations sont stockées sur des serveurs externes.


👉 Avec OpenCut, nous voulons :

🔒 Respecter la vie privée (vos vidéos restent en local sur votre appareil)

🆓 Garantir un accès 100% gratuit aux fonctionnalités essentielles

🎯 Proposer une expérience simple, rapide et intuitive

💻 Être disponible partout : Web, Desktop et Mobile


En résumé : OpenCut est un outil pensé pour les créateurs, pas pour les abonnements.


---

✨ Fonctionnalités principales

Montage basé sur une timeline (drag & drop intuitif)

Multi-pistes (vidéo, audio, texte, overlays)

Prévisualisation en temps réel

Sans watermark et sans publicité

Compatible tous supports (navigateur, app mobile, app desktop)

Sauvegarde locale (vos vidéos vous appartiennent, pas au cloud)



---

🏗️ Architecture & Structure du projet

OpenCut est construit avec des technologies modernes :

Frontend Web : Next.js

Langage principal : TypeScript

UI : React + TailwindCSS

État global : Zustand

Backend (optionnel) : Node.js + PostgreSQL + Redis (via Docker)

Blog : MarbleCMS (Headless CMS)

Analytics anonymes : Databuddy


📂 Arborescence simplifiée :

apps/web/         → Application web principale (Next.js)
src/components/   → UI et composants de l’éditeur
src/hooks/        → Hooks React personnalisés
src/lib/          → Fonctions utilitaires & API
src/stores/       → Gestion des états (Zustand)
src/types/        → Types TypeScript


---

🚀 Pourquoi contribuer ?

OpenCut est open-source (licence MIT), ce qui signifie que :

Vous pouvez l’utiliser librement

Vous pouvez ajouter des fonctionnalités

Vous pouvez aider à corriger des bugs

Vous participez à un projet qui défend la liberté des créateurs


👉 Nos priorités actuelles :

Améliorer la timeline et la fluidité du montage

Optimiser les performances

Améliorer l’ergonomie et l’UX

Stabiliser la gestion des projets


⚠️ Ce que nous évitions pour le moment : filtres avancés, stickers, exports → une refonte du moteur de rendu est en cours.


---

👨‍💻 Pour les développeurs

Installation rapide : via Bun ou Node.js

Support Docker : pour la base de données et Redis

Extensible : architecture modulaire pensée pour accueillir des plugins


🔧 Exemple de setup local :

# 1. Cloner le repo
git clone https://github.com/opencut-app/opencut.git
cd opencut/apps/web

# 2. Copier la config
cp .env.example .env.local

# 3. Installer les dépendances
bun install

# 4. Lancer le serveur de dev
bun dev

👉 Application dispo sur http://localhost:3000


---

💎 Sponsors & Partenaires

Merci à nos partenaires open-source :

Vercel – Hébergement web et support OSS

fal.ai – IA et traitement multimédia avancé



---

📜 Licence

OpenCut est distribué sous licence MIT.
➡️ Cela signifie : liberté totale d’usage, de modification et de contribution.
Copy link

netlify bot commented Sep 25, 2025

👷 Deploy request for appcut pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 35508cd

Copy link

vercel bot commented Sep 25, 2025

@Varich22 is attempting to deploy a commit to the OpenCut OSS Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Contributor

coderabbitai bot commented Sep 25, 2025

Walkthrough

README.md was extensively rewritten: sections were reorganized and retitled, new headings and subsections were added (e.g., Contributing, Sponsors), and content was reformatted into a structured layout. No source code or APIs were modified; all changes are documentation-only.

Changes

Cohort / File(s) Summary
Documentation refresh
`README.md`
Reorganized and reworded README with new structured sections and emojis; migrated and reformatted content (prerequisites, setup, development), and added Contributing and Sponsors sections. No code changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

I thump my paw on README ground,
New headings hop, fresh sections found.
Contributing carrots neatly stacked,
Sponsors sparkle, features packed.
No code disturbed—just pages bright,
A garden of docs in moonlit byte. 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description embeds the full README content rather than summarizing the actual changes and leaves all sections of the repository’s required template unfilled, so it fails to provide a concise summary of modifications, related issue references, type of change classification, or testing details as specified by the template. Please replace the README dump with a dedicated PR description that briefly summarizes what was changed and why, references any related issue numbers, selects the appropriate type of change checkboxes, outlines testing procedures and configurations, and completes the checklist to align with the repository’s description template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title “Update README.md” directly reflects the primary change in this pull request by indicating that the project’s README file has been updated; it is clear, concise, and free of extraneous wording, allowing reviewers to immediately understand the core modification.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a346bdf and 35508cd.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
README.md

108-108: Bare URL used

(MD034, no-bare-urls)


110-110: Bare URL used

(MD034, no-bare-urls)


114-114: Bare URL used

(MD034, no-bare-urls)


130-130: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Vercel Agent Review

Comment on lines 86 to 88

3. Copy `.env.example` to `.env.local`:
bun dev

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix Bun command for starting the dev server

bun dev is not a valid Bun CLI command for running package scripts; contributors will hit a command-not-found error. The canonical way is bun run dev, which you already use later in the Docker flow. Let’s keep these instructions consistent.

-6. Start the dev server:
-
-bun dev
+6. Start the dev server:
+
+bun run dev
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
3. Copy `.env.example` to `.env.local`:
bun dev
6. Start the dev server:
bun run dev
🤖 Prompt for AI Agents
In README.md around lines 86 to 88, the documented command "bun dev" is
incorrect and will cause a command-not-found error; update the instructions to
use the canonical Bun invocation "bun run dev" (matching the Docker workflow) so
contributors run the correct command to start the dev server.

Comment on lines +139 to +152
Focus areas:

Timeline functionality

Project management improvements

Performance optimizations

UI/UX outside preview panel


⚠️ Avoid for now: preview panel (fonts, stickers, effects, export). These are being refactored.

➡️ See Contributing Guide for details.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Contributing section has broken list formatting where focus areas are not properly formatted as markdown list items.

View Details
📝 Patch Details
diff --git a/README.md b/README.md
index 43c1a74..f989153 100644
--- a/README.md
+++ b/README.md
@@ -138,13 +138,10 @@ We welcome all contributions!
 
 Focus areas:
 
-Timeline functionality
-
-Project management improvements
-
-Performance optimizations
-
-UI/UX outside preview panel
+- Timeline functionality
+- Project management improvements
+- Performance optimizations
+- UI/UX outside preview panel
 
 
 ⚠️ Avoid for now: preview panel (fonts, stickers, effects, export). These are being refactored.
@@ -173,4 +170,3 @@ fal.ai
 📜 License
 
 MIT LICENSE
-

Analysis

Inconsistent markdown formatting in Contributing section

What fails: Focus areas in Contributing section (lines 141-147) are plain text instead of markdown list items, breaking visual consistency with other sections

How to reproduce: View README.md Contributing section - focus areas appear as plain paragraphs instead of bulleted list

Result: Inconsistent formatting where "Timeline functionality", "Project management improvements", "Performance optimizations", and "UI/UX outside preview panel" display as paragraphs rather than list items

Expected: Should use - prefix for consistent bullet formatting like all other lists in the README (Why OpenCut, Features, Project Structure sections)

---

**Required Variables:**
🖥️ Development Setup (with Docker)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "Development Setup (with Docker)" section is missing a header markdown prefix (##) and has inconsistent formatting throughout.

View Details
📝 Patch Details
diff --git a/README.md b/README.md
index 43c1a74..e82190f 100644
--- a/README.md
+++ b/README.md
@@ -91,39 +91,43 @@ bun dev
 
 ---
 
-🖥️ Development Setup (with Docker)
+## 🖥️ Development Setup (with Docker)
 
 1. Start DB & Redis
 
-docker-compose up -d
-
+   ```bash
+   docker-compose up -d
+   ```
 
 2. Navigate into apps/web
 
-
 3. Configure .env.local
 
-DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut"
-BETTER_AUTH_SECRET="your-secret"
-BETTER_AUTH_URL="http://localhost:3000"
-
-UPSTASH_REDIS_REST_URL="http://localhost:8079"
-UPSTASH_REST_TOKEN="example_token"
+   ```env
+   DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut"
+   BETTER_AUTH_SECRET="your-secret"
+   BETTER_AUTH_URL="http://localhost:3000"
 
-MARBLE_WORKSPACE_KEY="your-key"
-NEXT_PUBLIC_MARBLE_API_URL="https://api.marblecms.com"
+   UPSTASH_REDIS_REST_URL="http://localhost:8079"
+   UPSTASH_REST_TOKEN="example_token"
 
-NODE_ENV="development"
+   MARBLE_WORKSPACE_KEY="your-key"
+   NEXT_PUBLIC_MARBLE_API_URL="https://api.marblecms.com"
 
+   NODE_ENV="development"
+   ```
 
 4. Run migrations
 
-bun run db:migrate
-
+   ```bash
+   bun run db:migrate
+   ```
 
 5. Start the app
 
-bun run dev
+   ```bash
+   bun run dev
+   ```
 
 
 
@@ -173,4 +177,3 @@ fal.ai
 📜 License
 
 MIT LICENSE
-

Analysis

Docker setup section missing markdown header and has inconsistent formatting

What fails: The "Development Setup (with Docker)" section at line 94 lacks proper markdown header formatting (##) and uses inconsistent code formatting throughout

How to reproduce:

# View the README.md structure
grep "^## " README.md  # Shows all proper headers
grep "🖥️ Development Setup" README.md  # Shows the one without ##

Result: The Docker section appears as plain text instead of a proper header, breaking document structure and automatic table of contents generation. Commands and environment variables are displayed as plain text without syntax highlighting.

Expected: Should use ## 🖥️ Development Setup (with Docker) for consistency with all other sections, and commands should be in proper code blocks with language tags per GitHub markdown documentation

4. Copy .env.example → .env.local

# Windows PowerShell
Copy-Item .env.example .env.local
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The setup instructions have broken markdown formatting that will cause the numbered list to render incorrectly and code blocks to not display properly.

View Details
📝 Patch Details
diff --git a/README.md b/README.md
index 43c1a74..c717912 100644
--- a/README.md
+++ b/README.md
@@ -60,31 +60,36 @@ Make sure you have the following installed:
 
 1. Fork the repository  
 2. Clone your fork locally  
-3. Go to the web app directory:  
+3. Go to the web app directory:
 
    ```bash
    cd apps/web
+   ```
 
-4. Copy .env.example → .env.local
-
-# Linux/Mac
-cp .env.example .env.local
-
-# Windows CMD
-copy .env.example .env.local
-
-# PowerShell
-Copy-Item .env.example .env.local
+4. Copy .env.example → .env.local:
 
+   ```bash
+   # Linux/Mac
+   cp .env.example .env.local
+   
+   # Windows CMD
+   copy .env.example .env.local
+   
+   # PowerShell
+   Copy-Item .env.example .env.local
+   ```
 
 5. Install dependencies:
 
-bun install
-
+   ```bash
+   bun install
+   ```
 
 6. Start the dev server:
 
-bun dev
+   ```bash
+   bun dev
+   ```
 
 
 
@@ -173,4 +178,3 @@ fal.ai
 📜 License
 
 MIT LICENSE
-

Analysis

Unclosed code block in README.md setup instructions causes markdown rendering failure

What fails: Setup section (lines 65-88) has unclosed ```bash code block that breaks numbered list formatting and renders all subsequent content as code

How to reproduce:

# View README.md in any markdown renderer
# Lines 65-88 show:
# - Step 3 opens code block with ```bash but never closes it  
# - Steps 4-6 render as code text instead of numbered list items
# - Commands appear as plain text without syntax highlighting

Result: Setup instructions render incorrectly - steps 4-6 appear inside a code block instead of as numbered list items with properly formatted command examples

Expected: Each step should be a numbered list item with commands in separate, properly closed code blocks per GitHub Flavored Markdown spec - unclosed fenced code blocks consume all content until document end


<a href="https://vercel.com/oss">
<img alt="Vercel OSS Program" src="https://vercel.com/oss/program-badge.svg" />
</a><a href="https://fal.ai">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
</a><a href="https://fal.ai">
</a>
<a href="https://fal.ai">

The sponsor badge images are concatenated without spacing, causing them to display as a single merged element instead of two separate badges.

View Details

Analysis

Sponsor badge HTML anchor tags concatenated without spacing causing visual merging

What fails: HTML anchor tags for Vercel and fal.ai sponsor badges on lines 168-169 are concatenated without whitespace, causing badges to render adjacent without proper visual spacing

How to reproduce:

  1. View README.md in a browser or GitHub's renderer
  2. Observe the sponsor badges section
  3. Notice the two badge images appear immediately adjacent to each other

Result: Badges render as visually merged elements without separation between the Vercel and fal.ai badges

Expected: Per MDN whitespace documentation, inline elements should have whitespace between them for proper visual separation - "any whitespace between adjacent inline or inline-block elements will result in spaces in the layout"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant