opral/lix
Version control system for any file format
What it solves
Lix は DOCX、XLSX、JSON、PDF などの非ソースコードファイルに対してバージョン管理を提供します。テキストベースの diff に依存する従来のバージョン管理システムとは異なり、Lix は「セマンティック変更」―段落やスプレッドシートのセル、JSON プロパティへの具体的な変更―を追跡します。これにより、ファイル全体を読むことなく複雑なファイル形式の変更をレビュー・マージできるようになります。
How it works
Lix は埋め込み可能なライブラリとして、ランタイム(ブラウザ、サーバ、CLI、またはワーカー)内でプロセス内実行されます。ファイル、blob、履歴といったバージョン管理モデルを管理し、SQL インターフェースを公開します。これにより、開発者はファイルを手動でパースすることなく、SQL を使ってブランチやファイル横断の変更をクエリできます。SQLite、Postgres、S3、Cloudflare Workers など様々なストレージバックエンドをサポートしています。
Who it’s for
Lix はエディタ、ナレッジベース、AI ワークフローを構築する開発者向けです。エージェントやユーザーが構造化データやバイナリファイルの変更を追跡・ブランチ・ロールバックする必要がある場面で活躍します。
Highlights
- Semantic Tracking: 行単位のテキストではなく、エンティティレベル(例: スプレッドシートの特定セル)で変更を追跡します。
- SQL-Powered History: SQL を使って、いつ、誰が、何を変更したかを正確にクエリできます。
- C-style Branching: 並行ブランチをサポートし、ドラフトやユーザー、AI エージェントを分離できます。
- ACID Transactions: 複数のファイルと履歴の更新を単一トランザクションでコミットし、データ整合性を保証します。
- Format Agnostic: プラグインを通じて任意のファイル形式をサポートし、更新をセマンティック変更に変換します。