レポジトリ保護ツール・Durepoをリリースしました

AIエージェントに広めに権限を与えないと、しょっちゅう「承認しますか?」になってウザいけど、与えたら与えたでファイルを削除されてしまって泣いた、という経験をしてないですか?

かく言う作者も.gitディレクトリ毎、レポを全消しされたことが一度あるんで、ownCloud / iCloudに置くようにしたんだけども、まず同期が遅すぎる。数千ファイルあると、ずーっと同期処理が走ってたりする。

あと、"."で始まるファイル・ディレクトリの扱いが上手くなかったりで、なかなか難しい。というのも、APFS固有の機能がサポートされてないバックアップ先だと、ファイルのデータそのものは保持出来ても、メタデータが保持できないからなんですよねぇ。

じゃあTimemachineでとなるんですが、当方の環境では使えないことと、不要なファイルまでみんなバックアップしちゃうのが面倒なところで。Kopiaも導入してみましたが、定期スナップショットなのでイマイチなんですよねぇ。

というわけで、.gitignoreと同じ書式で除外ルールを設定して、レポジトリ内の必要なファイルだけ変更があったら即時に、内蔵のAPFSにスナップショットするアプリ・Durepoを作りました。また、AIエージェント等によると思われる一括大量削除時に、自動的に直前のスナップショットを保護する機能も入れておきました。

レポジトリをメインターゲットにしているので、git pushは手動で、あるいはAIエージェントに指示して実行しているけど、push間のデータを保護するためのアプリ、と言った方が分かりやすいかも。(いや、エージェントがリモートレポまで削除しちゃうこともあるのか……。)

注意点としてSSDの故障に対する耐性はありません。高速スナップショットするためにfcloneを使ってます。また、処理の高速化のために最大で4CPUコアを使います。MacStudioでテストすると8がベストだけど、それだと開発の方が進まなくなるんで。

App Storeからインストールできます。

https://apps.apple.com/jp/app/durepo/id6791964607?mt=12

レポジトリ保護ツール・Durepoをリリースしました