Claude Code + BetterLibrary

Your library, on the command line.

BetterLibrary ships a command line inside its bundle and writes a guide into every library, so Claude Code can import, tag, filter and export while you watch the library update.

~/Movies/Summer shoot — claude
> Find the three best energetic gym clips, cut them into a 9:16 reel with captions, and export it.
betterlibrary clips list --search "energetic gym" --mode meaning --json
3 clips · gym-kettlebell-02, gym-rope-slams, gym-sled-push
betterlibrary highlights export 3f9a c21e 7b40 --to ./reel
3 files · lossless trims · 41 MB
BetterEdits cli project-new Gym-reel --ratio 9:16
Gym-reel · 9:16 · in library
BetterEdits cli media-import ./reel/*.mov --track v1
v1:1 v1:2 v1:3 · 24.6 s
BetterEdits cli captions-generate --track v1
19 bars on s1 · en
BetterEdits cli export --resolution 4k --fps 30
exports/Gym-reel.mp4 · 58 MB · 7.4 s
Done. The clips came from your library, the cut is open in BetterEdits, and every edit is one undo.
>
How it works

Three decisions that make it real.

Agents are only useful when the tool is honest about what it can do.

  1. 01

    Every folder teaches the agent

    When you create a library or a project, the app writes a CLAUDE.md into it: the tool's full path, every command with its options, and how the pieces behave. Open Claude Code there and it already knows what to do.

  2. 02

    The tool rides inside the app

    Nothing goes on your PATH. The command line lives inside the app bundle, and the guide names the exact path and rewrites it at every launch, so it heals itself if the app moves.

  3. 03

    Same rules as the window

    The command line applies the rules the window applies. It cannot reach a state the window can't, and it cannot skip a confirmation the window would ask for.

BetterLibrary app icon
In BetterLibrary

Filters, searches and tags.

The library's three pillars from a prompt: bring a shoot in, fill your schema, and turn a sentence into a saved view. The sidebar updates while you watch.

  • >Make a view of portrait clips rated 4 flames or more from this year, newest first.
  • >Import everything in ~/Shoots/Tuesday, tag it, and describe each clip in one line.
  • >Find the ten most cinematic drone shots from spring and export the best five seconds of each.
  • >Tag everything from yesterday's shoot with my Exercise and Vibe properties and mark the best five seconds of each clip.
  • >Which clips from the Lisbon trip have no Location yet? Fill it in and list what you changed.
Command reference

The shape of the tool.

Short refs, seconds or timecodes, JSON for machines. The guide in each folder has every option.

BetterLibrary app icon
betterlibrary
Every command takes --library <path> and --json; without a path the tool uses $BETTERLIBRARY_LIBRARY or the library enclosing the current directory.
  • clips list --search …Find clips: fuzzy, literal or meaning search, plus filters.
  • clips tag <id> --add Vibe:EnergeticTag, rate and describe with your own properties.
  • clips set <id> --status readyMove clips through New, Draft, Ready and Archive.
  • highlights add <id> --in 3.2 --out 7.3Mark the moment worth keeping inside a clip.
  • highlights export <id…> --to ./reelWrite losslessly trimmed files named after the moment.
  • import ./shoot --recursiveBring a folder in; duplicates are caught by content.
  • ai request <id…>Ask the model to fill AI properties, priced in credits.
  • views create "Gym reels" --filter-json …Keep a filter and its look as a view.
Why it's safe

An agent can only do what you could do.

The command line is the UI-free half of the same code, so it cannot reach a state the window can't, and it cannot skip a confirmation the window would ask for.

  • Imports are copies

    Nothing is moved out of your shoot folders; the library keeps its own originals.

  • Named where it cuts

    The guide names the only two commands that delete or reset, and deletes go to the Trash.

  • The app reloads live

    If the window is open it reflects every command at once; the tool works on the library files directly.

  • No keys on the Mac

    Model calls go through your account; there is nothing in a folder for an agent to leak.

FAQ

Agent questions

Is the command line part of every plan?
Yes. Only the commands that call a model spend AI credits; the trial comes with 100 to try them.
Does the app have to be open?
No. betterlibrary works on the library files directly; the app reloads live if it is open.
What can it break?
The same things you can from the window. Imports are copies, deletes go to the Trash, and the guide tells the agent that reset and delete are the only commands it cannot take back.
Does it only work with Claude Code?
Claude Code is what we build for and test with. Any agent that reads a CLAUDE.md-style guide and can run a shell command can drive the tool the same way.
Do I need API keys?
No. The app calls the models through your BetterApps account and spends credits. Nothing provider-related is stored on your Mac.

Open a terminal in a folder of footage.

BetterLibrary is free to try, the command line comes with it, and the guide is already in the folder.