Package Exports
- framely-cli
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (framely-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
framely
AI-native video editor — a CLI (+ MCP server) that AI agents operate. framely ships the tool, not the brain: the calling agent (Claude Code, any MCP host) is the intelligence; framely gives it a typed, safe, undoable video-project surface. All render/analysis runs on your machine (headless Chrome + WebCodecs) — no media leaves it except the audio slice you explicitly send to hosted captions.
The npm package is
framely-cli; it installs theframelycommand.
Install
npm i -g framely-cli # installs the `framely` commandRequirements: Node ≥ 22 and Google Chrome installed (used headless for analyze/render;
macOS + Linux first-class, Windows best-effort). Nothing else to download.
Use with Claude Code (MCP)
framely's primary surface is an MCP server — the agent is the brain, framely is the typed hand:
claude mcp add framely -- framely mcp # current directory is the project
claude mcp add framely -- framely mcp --project /path/to/projTools exposed: ops_schema, init_project, add_asset, get_project, apply_ops (atomic, undoable;
{dryRun:true} previews), undo/redo, get_facts, analyze, cut_silences, captions_build,
transcribe, render. Invalid ops come back as typed, retryable tool errors — nothing is persisted on
failure. There is no LLM inside framely.
Quick start (CLI)
framely init demo
framely add clip.mp4 # auto-probes duration/kind
framely ops --schema # the op contract an agent reads
echo '[{"op":"addClip","assetId":"<id>","startSec":0,"durationSec":10}]' | framely apply -
framely cut-silences # the marquee: analyze silence → cut → close gaps
framely render -o out.mp4 # proof, on your machine
framely show
framely undoA project is project.json + an append-only event log at .framely/log.jsonl (undo = replay). Entity
ids are assigned once, at apply time, and stay stable across later commands (deterministic replay).
Run framely --help (or framely <verb> --help) for the full verb list and flags. Design SSOT and
exploration log live in the repository.