{"id":49156289,"url":"https://github.com/monet-ai-editor/monet","last_synced_at":"2026-05-01T04:03:32.421Z","repository":{"id":352826284,"uuid":"1216757032","full_name":"Monet-AI-Editor/Monet","owner":"Monet-AI-Editor","description":"Edit videos and Design images with Claude code or Codex","archived":false,"fork":false,"pushed_at":"2026-04-27T06:58:31.000Z","size":4760,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T08:28:48.024Z","etag":null,"topics":["agentic-ai","agentic-video-editor","ai-video-editor","claude-code","cli","codex","coding-agents","design","electron","mcp","monet","monet-ai","monet-ai-editor","monet-ai-video-editor","remotion","semantic-search","video-editing"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Monet-AI-Editor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-21T07:49:55.000Z","updated_at":"2026-04-27T07:13:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Monet-AI-Editor/Monet","commit_stats":null,"previous_names":["monet-ai-editor/monet"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Monet-AI-Editor/Monet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monet-AI-Editor%2FMonet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monet-AI-Editor%2FMonet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monet-AI-Editor%2FMonet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monet-AI-Editor%2FMonet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Monet-AI-Editor","download_url":"https://codeload.github.com/Monet-AI-Editor/Monet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monet-AI-Editor%2FMonet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32484353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","agentic-video-editor","ai-video-editor","claude-code","cli","codex","coding-agents","design","electron","mcp","monet","monet-ai","monet-ai-editor","monet-ai-video-editor","remotion","semantic-search","video-editing"],"created_at":"2026-04-22T09:05:25.438Z","updated_at":"2026-05-01T04:03:32.412Z","avatar_url":"https://github.com/Monet-AI-Editor.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eMonet\u003c/h1\u003e\n\u003cp align=\"center\"\u003eAI video editor and design canvas for coding agents\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./resources/monet-mark.png\" alt=\"Monet logo\" width=\"120\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Local-first video editing, a live design canvas, terminal-native agent workflows, real timeline operations, local transcription, and export in one macOS app.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eMonet is no longer just an AI video editor.\u003c/strong\u003e Use Claude Code or Codex directly inside Monet Canvas to design vector graphics, animate, simulate physics, and drop the result straight into your video timeline.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Built by Het Patel\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ccode\u003ecurl -fsSL https://raw.githubusercontent.com/Monet-AI-Editor/Monet/main/install.sh | bash\u003c/code\u003e\n\u003c/p\u003e\n\n## Star History\n\n\u003ca href=\"https://www.star-history.com/\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=Monet-AI-Editor/Monet\u0026type=date\u0026theme=dark\u0026legend=top-left\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=Monet-AI-Editor/Monet\u0026type=date\u0026legend=top-left\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=Monet-AI-Editor/Monet\u0026type=date\u0026legend=top-left\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n## What Monet Is\n\nMonet is a desktop video editor designed for people who want coding agents to work on video directly, not through a fragile bridge into another editor.\n\nThe app combines:\n\n- a real timeline and preview\n- local project files with autosave and recovery\n- an embedded PTY terminal for Claude Code, Codex, and other terminal agents\n- deterministic editor tools through `editorctl`, a local API bridge, and MCP\n- local transcription with `faster-whisper`\n- semantic search powered by embeddings when an OpenAI key is configured\n- the same OpenAI key can also be reused for GPT Image 2 generation\n\nMonet is not a chat demo wrapped around a timeline. The terminal, project graph, and editor runtime are the product.\n\n## Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"42%\" valign=\"top\"\u003e\n\u003ch3\u003eAgent-native terminal\u003c/h3\u003e\nClaude Code and Codex can run inside Monet's built-in terminal with project-aware context, live editor access, and deterministic commands through \u003ccode\u003eeditorctl\u003c/code\u003e.\n\u003c/td\u003e\n\u003ctd width=\"58%\"\u003e\n\u003cimg src=\"./resources/ai_demo.png\" alt=\"Monet terminal and preview\" width=\"100%\" /\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"42%\" valign=\"top\"\u003e\n\u003ch3\u003eReal timeline editing\u003c/h3\u003e\nImport media, scrub, trim, split, move, duplicate, ripple edit, generate captions, add markers, and export from a real multi-track timeline.\n\u003c/td\u003e\n\u003ctd width=\"58%\"\u003e\n\u003cimg src=\"./resources/timeline.png\" alt=\"Monet timeline\" width=\"100%\" /\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"42%\" valign=\"top\"\u003e\n\u003ch3\u003eMonet Canvas — design alongside the editor\u003c/h3\u003e\nA new artboard-based design surface inside Monet. Ask Claude Code or Codex to draw with \u003cstrong\u003ePaper.js\u003c/strong\u003e, simulate physics with \u003cstrong\u003eMatter.js\u003c/strong\u003e, or build any HTML/CSS/JS frame. Each rendered frame auto-imports to the video timeline media library, so designs flow straight into your edit. Figma-style click-and-drag panning, inline library bundles (no CDN), and live agent loading animations on each frame.\n\u003c/td\u003e\n\u003ctd width=\"58%\"\u003e\n\u003cimg src=\"./resources/canvas.png\" alt=\"Monet Canvas\" width=\"100%\" /\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n- **Terminal-first AI workflow** — Use Claude Code or Codex directly in the app instead of relying on a built-in chatbot abstraction\n- **Monet Canvas** — design surface with Paper.js + Matter.js + raw HTML modes, live agent loading per frame, auto-export to the video media library, JSON export/import for canvas state, and PNG render for individual frames\n- **Deterministic editing tools** — `editorctl`, local API bridge, and MCP entrypoint for inspect/edit/export operations across both timeline and canvas\n- **Local transcription** — Uses `faster-whisper` on-device by default, with OpenAI fallback when configured\n- **Semantic search** — Search spoken content, metadata, and embedded project context\n- **Autosave and recovery** — Reopen current work, recover sessions, and manage multiple saved projects\n- **Export pipeline** — 720p, 1080p, and 4K outputs, export progress UI, and one-click `Show in Finder`\n- **React video composition** — [Remotion](https://www.remotion.dev) is built in with `PaperCanvas` and `PhysicsScene` compositions plus title cards, lower thirds, kinetic text, audio visualizers — all auto-import as timeline assets\n- **Basic motion and compositing** — transforms, opacity, text overlays, chroma key, and layered export baking\n- **Privacy-aware telemetry** — Anonymous usage analytics are optional; Sentry handles crash reporting\n\n## Why Monet\n\nMost AI video workflows today still depend on a human driving Premiere, Resolve, or another editor by hand. Even when tools exist, they usually stop at prompts, scripts, or rough cuts.\n\nMonet is built around a different model:\n\n- the project is a structured graph, not an opaque binary\n- the terminal is a first-class editing surface\n- agents can inspect the live editor state, import media, search transcripts, cut sequences, and export results\n\nThe goal is simple: make video editing something coding agents can actually operate.\n\n## Install\n\n### macOS app\n\nMonet is currently macOS-first. Install with one command in your terminal — no Gatekeeper prompts:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/Monet-AI-Editor/Monet/main/install.sh | bash\n```\n\nThis fetches the latest release ZIP directly (bypassing browser quarantine), installs `Monet.app` to `/Applications`, and launches it.\n\nFor a local packaged build from source:\n\n```bash\nnpm install\nnpm run dist:mac\n```\n\nThat produces stable release artifact names like:\n\n- `release/Monet-macOS-arm64.dmg`\n- `release/Monet-macOS-arm64.zip`\n- `release/mac-arm64/Monet.app`\n\n### Run from source\n\nRequirements:\n\n- Node.js 18+\n- `ffmpeg` on your system path\n- macOS\n- optional telemetry env vars via a local `.env`\n\nOptional local transcription runtime:\n\n```bash\nnpm run setup:local-transcription\n```\n\nStart the app:\n\n```bash\nnpm install\nnpm run dev\n```\n\nIf you want Sentry and Aptabase enabled locally or in release builds, set env vars outside git-tracked files:\n\n```bash\ncp .env.example .env\n```\n\nAvailable vars:\n\n- `MONET_SENTRY_DSN`\n- `MONET_APTABASE_APP_KEY`\n- `VITE_MONET_SENTRY_DSN`\n\nFor local use, `VITE_MONET_SENTRY_DSN` can usually match `MONET_SENTRY_DSN`.\n\n## First Run\n\nOn first launch, Monet asks for:\n\n- an OpenAI API key for embeddings and semantic search, with the same key reusable for GPT Image 2 generation\n- an explicit anonymous usage analytics choice\n- nothing else up front\n\nClaude Code and Codex installation help is shown next to the terminal when needed, instead of blocking onboarding.\n\n### Codex sandbox\n\nMonet's embedded terminal automatically launches Codex with `-s danger-full-access` so that `editorctl` can reach the live app API on `localhost:51847`. Without this flag, Codex's default `read-only` sandbox blocks outbound localhost connections and every `editorctl` command falls back to file mode.\n\nThis flag is injected by Monet's wrapper script (written to `userData/bin/codex` on each terminal start) and **only applies when Codex is launched from inside Monet**. Codex sessions started from any other terminal are unaffected.\n\n## What Agents Can Do\n\nThrough the embedded terminal, `editorctl`, API bridge, and MCP surfaces, agents can operate **both** the video editor and the design canvas.\n\n### Video Editor\n\n- inspect the current project and active sequence\n- list assets, tracks, clips, markers, and segments\n- import media from disk\n- split, trim, move, duplicate, rename, and remove clips\n- add tracks and transitions\n- generate captions from transcript segments\n- create rough cuts and selects from search results\n- extract frames and create contact sheets\n- run transcription\n- generate images with GPT and import to media\n- export the active sequence\n\n### Monet Canvas\n\n- create artboard frames in `paperjs`, `matterjs`, or `html` mode\n- run any Paper.js script (vector graphics, animation, generative art)\n- run any Matter.js scene (2D physics simulations)\n- inject inline HTML/CSS/JS for arbitrary web-native designs\n- update, rename, resize, or delete individual frames\n- export entire canvas state as JSON (full backup) or render any single frame as PNG\n- import JSON canvas state, adding to existing frames without overwriting\n- auto-import every rendered frame into the video editor's media library\n- show live grid loading overlays per frame as the agent works\n\n### Tool Surface\n\n| Surface | Used by | Purpose |\n| --- | --- | --- |\n| `editorctl` CLI | Claude Code, Codex, terminal scripts | Deterministic timeline + canvas commands inside the embedded terminal |\n| MCP server | MCP-aware agent hosts | Same operations exposed as Model Context Protocol tools |\n| HTTP API bridge | Anything that can `curl localhost:51847` | Fallback path; auto-discovers a free port if the default is busy |\n| `[MONET]` UserPromptSubmit hook | Claude Code | Injects current `activeView` (canvas vs editor) into the agent's context every turn |\n\n### Examples\n\n```bash\n# Video editor\neditorctl get-state\neditorctl search-segments \"terminal workflow\"\neditorctl export /tmp/monet-export.mp4 high 1080p mp4\n\n# Canvas — Paper.js, Matter.js, or raw HTML\neditorctl canvas-add-frame \"Paper Layout\" 1440 900 paperjs\neditorctl canvas-add-frame \"Glitch\" 1280 720 paperjs\neditorctl canvas-frames\neditorctl canvas-run-paperjs \u003cid\u003e \"var c = new Path.Circle({ center: view.center, radius: 100, fillColor: '#7aa2f7' });\"\neditorctl canvas-render-png \u003cid\u003e ~/Desktop/glitch.png\neditorctl canvas-export ~/Desktop/my-canvas.json\n```\n\n## Local AI Stack\n\nMonet is intentionally local-first.\n\n- **Transcription**: local `faster-whisper` by default\n- **Embeddings**: OpenAI API key required\n- **GPT Image 2 generation**: the same OpenAI API key can be reused\n- **Export**: local `ffmpeg`\n- **Project files**: plain `.aiveproj.json` files plus autosaves\n\nIf embeddings or transcripts do not exist yet, Monet should say that directly instead of pretending otherwise.\n\n## Project Model\n\nMonet projects are structured, inspectable, and tool-friendly.\n\nThat includes:\n\n- assets\n- sequences\n- tracks\n- clips\n- transcript segments\n- markers\n- captions\n- effects\n- exports\n\nThis is what allows coding agents to operate the editor directly instead of scraping the UI.\n\n## Current Scope\n\nMonet already supports:\n\n- timeline editing\n- preview and scrubbing\n- autosave / recover\n- local transcription\n- semantic search foundations\n- captions and markers\n- terminal-native agent workflows\n- packaged macOS app builds\n\nMonet is still evolving in areas like:\n\n- richer color finishing\n- deeper motion tooling\n- broader codec coverage\n- more advanced compositing\n- wider platform support beyond macOS\n\n## Privacy\n\nMonet does not collect project content for analytics.\n\nThat means:\n\n- no filenames\n- no prompts\n- no transcript text\n- no media content\n- no API keys\n\nAnonymous usage analytics are optional. Crash reporting is handled separately.\n\nTelemetry keys are injected from environment variables at build time and are not stored in the repository.\n\n## Build\n\n```bash\nnpm run build\n```\n\nOther useful scripts:\n\n```bash\nnpm run dev\nnpm run typecheck\nnpm run build:cli\nnpm run build:mcp\nnpm run dist:mac\n```\n\n## Repository Layout\n\n- `src/main` — Electron main process, project store, export, transcription, terminal, updater, analytics\n- `src/renderer` — React app UI\n- `src/cli` — `editorctl`\n- `src/mcp-server` — MCP server entrypoint\n- `resources` — screenshots and app icon assets\n- `release` — packaged macOS artifacts\n\n## Status\n\nMonet is already usable as a real macOS app, but it is still best described as an early public alpha rather than a finished mass-market editor.\n\nIf you want to help shape it:\n\n- open issues\n- test the app on real media\n- try the terminal agent workflow\n- report reliability problems before polish problems\n\n## License\n\nMonet is released under the MIT License.\n\n## Built with\n\n- [xterm.js](https://xtermjs.org) — terminal emulator powering the embedded shell\n- [Remotion](https://www.remotion.dev) — React-based video composition and rendering\n- [Paper.js](http://paperjs.org) — vector graphics scripting in Monet Canvas (paperjs frames)\n- [Matter.js](https://brm.io/matter-js/) — 2D rigid-body physics engine in Monet Canvas (matterjs frames)\n- [node-pty](https://github.com/microsoft/node-pty) — pseudo-terminal backend\n- [FFmpeg](https://ffmpeg.org) — video export and processing\n- [faster-whisper](https://github.com/SYSTRAN/faster-whisper) — local transcription runtime\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonet-ai-editor%2Fmonet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonet-ai-editor%2Fmonet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonet-ai-editor%2Fmonet/lists"}