opral/lix

Version control system for any file format

What it solves

Lix는 DOCX, XLSX, JSON, PDF 등 비소스 코드 파일에 대한 버전 관리를 제공합니다. 텍스트 기반 diff에 의존하는 기존 버전 관리 시스템과 달리, Lix는 "semantic changes"—단락, 스프레드시트 셀, 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: 플러그인을 통해 모든 파일 형식을 지원하며, 업데이트를 의미 변화로 변환합니다.