backup-library について
ButterCutのライブラリ単位のバックアップと復元を行うスキルです。アーカイブをライブラリごとに分け、Apple Archiveが使える場合はそれを、使えない場合はZIPを使用します。
主な機能
- 01ライブラリ別の日時付きアーカイブ
- 02バックアップ先の設定
- 03Apple ArchiveまたはZIPで出力
- 04アーカイブからlibrariesへ復元
活用シーン
- 01編集したライブラリだけをバックアップ
- 02必要に応じて全ライブラリをバックアップ
- 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 を読み取ります(設定されていない場合はデフォルトを使用します)。1 回の実行だけ保存先を上書きするには、--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_dir が別の場所にある場合、スクリプトはプロジェクト内の古い backups/ ディレクトリ(以前の単一アーカイブ形式)を削除します。ライブラリごとの実行では、このディレクトリはそのまま残します。
ライブラリを復元する
ライブラリごとのアーカイブを 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/