>cat/works/shelfdrop/README.md

title: ShelfDrop — macOS ドラッグシェルフ
year: 2026
role: Solo dev
category: 個人開発
stack: SwiftSwiftPMmacOSGitHub Actions

ShelfDrop は、Dropover のように使える小さな macOS 用シェルフアプリです。ファイルをドラッグしている時だけ画面上にフローティング棚を開き、ファイルやフォルダを一時的に置いたり、コピー、移動、ZIP 化、再ドラッグできます。通常のカーソル移動やシェイクでは棚は開かず、ドラッグ中だけ表示される設計です。

Finder からのファイル・フォルダに加え、PNG / JPEG / GIF / HEIC / HEIF / SVG / WebP 等の画像データや Markdown / HTML、リンク、テキストも棚に入れられます。棚に入れた項目はもう一度ドラッグして Finder や他アプリへ取り出せます。その場で開く、Finder 上の場所を表示する、クリップボードへコピーする操作にも対応。複数項目をまとめて指定フォルダへコピー・移動したり、ZIP 化したり、不要な項目をまとめてクリアすることもできます。メニューバーアイコンから棚の表示・非表示・クリア・アプリ終了を操作でき、棚ヘッダーをドラッグすれば事前クリックなしで位置を移動できます。Escape キー、外側クリック、一定時間カーソルが離れた状態で棚を非表示にできます。

配布

GitHub Releases から ShelfDrop-macos.zip配布しています。Apple Silicon / Intel 両対応の universal アプリとしてビルドし、タグ push で GitHub Actions が zip を自動アップロードします。更新は script/install_latest.sh(curl 経由)かメニューバーの Download Latest Version... からも取得できます。ローカルでは ./script/build_and_run.sh または make runビルド・起動、./script/package.sh または make package配布用 zip を作成できます。main への push と Pull Request では GitHub Actions の CI も走ります。

技術スタック

カテゴリツール選定理由
言語Swift 5.9+macOS ネイティブ UI とドラッグ&ドロップ API を直接扱える
ビルドSwiftPMXcode プロジェクト不要で軽量に管理・CI 連携しやすい
対象 OSmacOS 14+最新の AppKit / ドラッグ操作 API を前提に設計
CI/CDGitHub Actionsタグ push で universal zip を自動ビルド・Release 配布