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.
Three decisions that make it real.
Agents are only useful when the tool is honest about what it can do.
- 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.
- 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.
- 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.
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.
The shape of the tool.
Short refs, seconds or timecodes, JSON for machines. The guide in each folder has every option.
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.
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.
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.