Mnemosyne:8⭐のローカルコード履歴ツール、Git以外の全保存をキャプチャ
Mnemosyne:Git以外の全保存をキャプチャ
| プロジェクト | Mnemosyne |
|---|---|
| 言語 | Rust |
| Stars | 8 |
| ライセンス | Apache 2.0 |
| GitHub | alessandrobrunoh/Mnemosyne |
ペインポイント:Gitコミット間の空白
日常の開発で、私たちは慣性的にGitにコードバージョン管理を依存しています。しかしGitの粒度は「コミット」です——git commitを実行するたびにチェックポイントが作成されます。問題は:
- 2回のコミット間に数時間が経過し、その間の多くの変更を遡れない
- 実験的なコードを上書きした後に取り戻したいが、どのコミットにも存在しない
- IDEのローカル履歴機能は便利だが、エディタを変えると機能しなくなる
Mnemosyneはまさにこの空白を埋めるために生まれました。
コア機能
自動スナップショット
Mnemosyneはデーモンプロセスとして実行され、ファイルシステムの変更を監視します。ファイルを保存するたびに自動的にスナップショットを作成します——手動コミット不要、ゼロ干渉。
# デーモンを起動
mnemosyne daemon
# 指定ディレクトリを監視
mnemosyne watch /path/to/project
高度な重複排除ストレージ
コンテンツアドレス型ストレージを採用(Gitのオブジェクトモデルに類似)。同じコンテンツは1つだけ保存されます。頻繁に保存しても、ディスク使用量は適切な範囲に抑えられます。
全文検索
# 特定のコードを含む履歴バージョンを検索
mnemosyne search "function calculateTotal"
# ファイルパスでフィルタリング
mnemosyne search "useState" --path "*.tsx"
即時復元
# ファイル履歴を表示
mnemosyne log src/components/Button.tsx
# 10分前のバージョンに復元
mnemosyne restore src/components/Button.tsx --ago 10m
# 指定時点に復元
mnemosyne restore src/components/Button.tsx --at "2026-04-21 10:30:00"
Gitとの関係
| 特性 | Git | Mnemosyne |
|---|---|---|
| 粒度 | コミットレベル | 保存レベル |
| トリガー方式 | 手動 | 自動 |
| 用途 | バージョンリリース、協業 | ローカル開発保護 |
| 保存場所 | .git ディレクトリ | ~/.local/share/mnemosyne |
| 保持ポリシー | 永久 | 自動クリーンアップ設定可能 |
両者は競合関係ではなく、相補的です。Mnemosyneは開発プロセスのあらゆる瞬間を保護し、Gitは意味のあるバージョンノードを管理します。
技術的ハイライト
- Rust製:優れたパフォーマンス、メモリ安全性
- TUIインターフェース:
ratatuiベースのターミナルインタラクティブUI - デーモンアーキテクチャ:バックグラウンドで静かに実行、ワークフローに影響なし
- クロスプラットフォーム:Linux、macOS、Windowsに対応
使用シナリオ
| シナリオ | Mnemosyneの解決策 |
|---|---|
| リファクタリング後にテストが失敗しロールバックしたい | restore で秒単位復元 |
| 30分前の実装と比較したい | diff で変更を確認 |
| 上書きされた実験コードを取り戻したい | search で全文検索 |
| 誤ってファイルを削除した | restore で完全復元 |
| コードの進化過程を振り返りたい | log でタイムライン表示 |
インストール
# ソースからビルド
git clone https://github.com/alessandrobrunoh/Mnemosyne.git
cd Mnemosyne
cargo build --release
# バイナリは target/release/mnemosyne に生成される
個人的評価
| 次元 | スコア | 説明 |
|---|---|---|
| 革新性 | ⭐⭐⭐⭐⭐ | Gitの空白地帯を的確に捉える |
| 実用性 | ⭐⭐⭐⭐☆ | 開発者の日常的な高頻度ニーズ |
| 完成度 | ⭐⭐⭐☆☆ | 8 starsの新プロジェクト、機能は基本的に整備済み |
| 技術実装 | ⭐⭐⭐⭐☆ | Rust + デーモンアーキテクチャが適切 |
これは典型的な「小さく美しい」ツールです——Gitを置き換えようとせず、無視されがちだが実際に存在する痛みを解決します。頻繁にリファクタリングや新しいアイデアを実験する開発者にとって、無限アンドゥの安全網のような存在です。
関連リソース
| リソース | リンク |
|---|---|
| リポジトリ | https://github.com/alessandrobrunoh/Mnemosyne |
| 問題報告 | https://github.com/alessandrobrunoh/Mnemosyne/issues |
| ライセンス | Apache 2.0 |
Mnemosyne(ムネモシュネ)はギリシャ神話の記憶の女神であり、プロジェクト名は的確な命名です。