mcpField
B
backup-library

backup-library

github.com/barefootford创意与媒体61468 次安装5 周前更新
代码仓库

关于 backup-library

用于创建和恢复 ButterCut 按库备份的 Skill。归档按库分别保存,并在可用时使用 Apple Archive,否则使用 ZIP。

主要功能

  1. 01按库创建带时间戳的归档
  2. 02可配置备份目录
  3. 03支持 Apple Archive 或 ZIP
  4. 04将归档恢复到 libraries

适用场景

  1. 01备份刚编辑的单个库
  2. 02按需备份所有库
  3. 03从归档恢复库

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/barefootford/buttercut --skill backup-library

安装后在 Claude Code 中输入/backup-library确认已加载。

详细介绍

技能:备份库

备份默认存放在 ~/Documents/buttercut-video-editor-backups。每个库都会在此处拥有自己的子目录,每次运行都会生成仅包含该库的带时间戳归档文件——因此,向某个库添加新剪辑时,只会写入该库的归档文件,而不会重复备份所有内容。

~/Documents/buttercut-video-editor-backups/
  wedding/
    wedding_20260520_140000.aar
  programmer-story-vlog/
    programmer-story-vlog_20260520_140000.aar

步骤 1 — 确定目标位置

从 libraries/settings.yaml 读取 backups_dir。如果缺少此键,请使用 AskUserQuestion 询问用户是使用默认位置(~/Documents/buttercut-video-editor-backups,推荐)还是自定义文件夹,并将答案保存到 libraries/settings.yaml 的 backups_dir 下。如果 libraries/settings.yaml 尚不存在,请先根据 templates/settings_template.yaml 创建该文件。

如果此技能由另一个必须保持非交互的技能调用(例如 process-library 自动备份),且未设置 backups_dir,则跳过询问并使用默认位置——用户之后可以更改。

步骤 2 — 执行备份

默认只备份当前正在处理的库——“执行备份”通常指的就是这个。只有在用户明确要求备份“所有库”或进行一次性清理时,才备份所有内容。

# Back up the one library you just touched (the usual case)
ruby lib/buttercut/backup_libraries.rb --library <library-name>

# Back up every library (only when the user explicitly asks)
ruby lib/buttercut/backup_libraries.rb

脚本会从 libraries/settings.yaml 读取 backups_dir(若未设置,则使用默认位置)。传入 --backups-dir <path> 可覆盖本次运行所用的位置。

如果 macOS 上有 aa CLI,则使用 Apple Archive(.aar)——在 Apple Silicon 上支持硬件加速,也可在 Finder 中双击解压。否则回退到 .zip——在 Windows 上,由于没有 zip CLI,脚本会使用内置的 System32 tar.exe(或 PowerShell)写入 zip 文件;无论采用哪种方式,输出的都是可双击打开的标准 .zip 文件。

backup_all 成功运行后,如果旧的项目内 backups/ 目录(采用旧的单归档布局)仍然存在,且解析后的 backups_dir 指向其他位置,脚本会将其删除。按单个库运行时不会处理该目录。

恢复库

将单个库的归档文件解压回 libraries/:

# Apple Archive (macOS) — restores into libraries/<library-name>/
aa extract -i ~/Documents/buttercut-video-editor-backups/<library>/<library>_<timestamp>.aar -d libraries/<library>

# Zip on macOS/Linux — already contains the <library>/ folder
unzip ~/Documents/buttercut-video-editor-backups/<library>/<library>_<timestamp>.zip -d libraries/

# Zip on Windows (Git Bash) — System32's bsdtar reads zip; plain `tar` (GNU) can't
/c/Windows/System32/tar.exe -xf ~/Documents/buttercut-video-editor-backups/<library>/<library>_<timestamp>.zip -C libraries/

评论

支持 Markdown