openxlings/xlings

Universal package infrastructure with OS-like SubOS isolation - Multi-version · Rootless · Decentralized Index · Agent-ready.

何を解決するか

xlings は、Linux、macOS、Windows の各プラットフォームでマルチバージョンのツールチェーンと隔離環境を扱うために設計されたユニバーサルパッケージマネージャです。同じツール(例:GCC や Node.js)の複数バージョンを併存させることによる「依存関係の地獄」を解消し、ソフトウェアを衝突を防ぎ、ホストシステムを保護するための隔離された「SubOS」環境で実行する方法を提供します。

動作方法

このシステムは、バイナリ、スクリプト、設定を配布するための特別なパッケージ形式 xpkg を使用します。バージョン管理には、複数のバージョンが並列で共存できるようにするバージョンビューと参照カウンティングシステムを採用しており、過度なストレージ消費を回避します。隔離には、OSに応じて異なるバックエンドを使用します。Linux では bwrap または proot を用いてルートレスなファイルシステム隔離を実現し、macOS および Windows ではホームディレクトリをリダイレクトすることでドットファイルを隔離します。

対象ユーザー

  • 異なるプロジェクトで異なるツールチェーンのバージョンを切り替える必要がある 開発者
  • ホストマシンに影響を与えることなくコードを実行し、依存関係をインストールできる安全な隔離環境を必要とする AIエージェント
  • .xlings.json ファイルで定義された再現可能でプロジェクト固有の環境を必要とする CI/CDパイプライン

特徴

  • SubOS 隔離: シェル、ファイルシステム、イメージの3段階の隔離レベルを提供し、安全な作業環境を構築可能。
  • エージェント対応: JSONイベントインターフェース(NDJSON)と組み込みエージェントガイドを備えており、LLMエージェントが自己学習し、ツールチェーンを管理できるように設計されています。
  • マルチプラットフォーム: Linux、macOS、Windows で統一されたコマンドを提供。
  • 分散型インデックス: 公式、サードパーティ、および自己ホスト型パッケージインデックスをサポート。
  • 自己診断機能: self doctor コマンドにより、状態レイヤーの自動チェックと修復が可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト