open-vui — OpenTUI の Vue アダプター

Library

概要

open-vui は OpenTUI(ターミナル向け UI フレームワーク)の Vue 用アダプターです。OpenTUI のコア機能を Vue のリアクティブシステムとコンポーネントモデルに結びつけ、.vue ファイルや TypeScript を使ってターミナル UI を構築できるようにします。元は OpenTUI の Solid アダプターを参考に移植されており、Bun を用いたセットアップ指示やサンプルが含まれています。現状は WIP(作業中)で、一部機能やドキュメントが未完成な点に注意が必要です。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 2
  • フォーク数: 0
  • ウォッチャー数: 2
  • コミット数: 2
  • ファイル数: 15
  • メインの言語: TypeScript

主な特徴

  • Vue のリアクティビティと OpenTUI コアを結合するアダプター実装
  • Bun を前提としたインストール/プリロード設定(.vue の取り扱いをサポート)
  • Solid アダプターを元にした移植で設計思想を踏襲
  • TypeScript で型を提供し、開発時の補完を充実

技術的なポイント

open-vui はフレームワーク固有のレンダラー/バインディングを提供することで、OpenTUI の抽象 API を Vue コンポーネントとして使えるようにします。具体的には Vue のリアクティブな状態(ref/reactive)やライフサイクルに合わせて、OpenTUI 側の描画差分や更新をトリガーするラッパーを実装することが想定されます。Solid アダプターとの違いとして、Vue のリアクティブ性やテンプレート構文、コンポーネントのライフサイクルに合わせた効果的なマッピングが必要です。また、.vue シングルファイルコンポーネントを使えるようにするため、README にあるように bunfig.toml へのプリロード設定が推奨されています。TypeScript を主要言語にして型定義を提供し、開発時の型チェックとエディタ補完を強化している点も利点です。一方で WIP 状態のため、細かな API 互換性やエッジケース(非同期レンダリング、サブコンポーネントのリソース解放、サーバーサイドでの振る舞いなど)は要確認です。examples ディレクトリには実際の使用例が置かれており、Bun 環境下での起動手順や .vue の扱い方を参照することで導入がスムーズになります。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: Git 除外設定
  • README.md: 導入方法と簡単な説明(WIP の注意書きあり)
  • bun.lock: Bun のロックファイル
  • bunfig.toml: Bun の設定(.vue プリロードなどのサンプルが記載)
  • examples/: デモや利用例のディレクトリ
  • package.json: パッケージのメタ情報とスクリプト(Bun 向けに調整されている想定)
  • tsconfig.json: TypeScript コンパイル設定
  • src/: ライブラリ本体のソースコードディレクトリ
    • src/index.ts: エントリーポイント(アダプターの公開 API)
    • src/adapters/vue.ts: Vue 固有のバインディング実装(想定)
  • tests/ または .github/: テストや CI 設定(存在する場合)
  • LICENSE: ライセンス情報(存在すれば) …他 10 ファイル

(各ファイルは TypeScript + Bun を前提に構成されており、examples によって実際のセットアップ例が示されています)

使い方(README 抜粋に基づく)

  1. Bun でインストール: bun install open-vui
  2. bunfig.toml に preload スクリプトを追加して .vue を有効化(README に記載の手順に従う)
  3. examples を参照して Vue コンポーネント内から OpenTUI コンポーネントを利用

※現時点は WIP のため、ドキュメントや API が変わる可能性があります。OpenTUI のコアドキュメントも合わせて参照してください。

まとめ

Vue と OpenTUI をつなぐ実用的な出発点。今後の完成度向上に期待。 (約50字)

リポジトリ情報:

READMEの抜粋:

open-vui

Vue Adapter for OpenTUI.

Adapted from the Solid Adapter.

WIP This is a work in progress, some features may not work as expected.

See the OpenTUI Docs for more details.

Installation

bun install open-vui

Usage

  1. Add preload script to bunfig.toml (enables .vue imp…