phoenix-tui/phoenix
Elm Architectureを基盤とするGo製ターミナルUIフレームワーク。Unicodeに準拠したレイアウト、インライン/全画面描画、コンポーネントライブラリを備えています。
- スター
- 45
- フォーク
- 1
- 未解決の Issue
- 0
- 最終コミット
- 2 か月前
これは何?
Phoenixは、ターミナルUIを構築するためのGoフレームワークです。独立した10個のモジュールで構成されており、まとめて、または個別にインポートできます。Elm Architecture(Model、Update、View)に従い、各ライブラリはドメイン、アプリケーション、インフラストラクチャ、APIからなるDDD形式のレイヤーに分かれています。
テキスト幅の計算には書記素クラスタと東アジア幅のルールを使うため、絵文字やCJK文字を含む場合もレイアウトが揃うよう設計されています。描画方式は、行ごとの差分更新を行うインライン表示と、alt-screenを使った全画面表示から選べます。TTY制御APIを使うと、TUI内からエディタやシェルなどの外部プログラムを起動し、終了後にインターフェースを復元できます。
コンポーネントライブラリには、テキスト入力、リスト、テーブル、モーダル、スピナー付きプログレスバー、フォーム、選択メニューが含まれています。また、テーマプリセット、flexboxとgridによるレイアウト、マウスイベント処理、OSC 52経由でSSH接続時にも使えるクロスプラットフォームのクリップボードを備えた、CSS風のスタイリングシステムも提供します。Bubbletea、Lipgloss、Bubblesからの移行ガイドも用意されています。
主な機能
- 01ジェネリックで型安全なモデルを使ったElm Architectureの状態管理
- 02UAX #11に基づくUnicodeおよび絵文字の幅計算
- 03行ごとの差分更新によるインライン描画、またはalt-screenによる全画面表示
- 04エディタやシェルなどの外部プロセスを起動するTTY制御
- 05テキスト入力、テーブル、モーダル、フォーム、プログレスバーを備えたコンポーネントライブラリ
- 06TUIのテストに使えるモックターミナルとテストユーティリティ
ユースケース
- フォーム、リスト、メニューが必要なGo製の対話型コマンドラインツールの構築
- 外部プログラムに処理を引き継ぐ、シェル風またはエディタ風アプリケーションの開発
- CJK文字や絵文字を正しく揃えて表示する必要があるTUIの作成
- 既存のBubbletea/LipglossプロジェクトをDDD形式のコードベースへ移行
クイックスタート
- 1
umbrella モジュールをインストールする
go get github.com/phoenix-tui/phoenix@latest - 2
README の Quick Start の例を使って main.go を作成し、実行する
使う前に知っておきたいこと
- Go 1.25 以降が必要です。
- まだ初期段階のプロジェクトで、スターはわずか 45 個です。そのため、コミュニティは小さく、実績も限られています。
トピック
よくある質問
- phoenix とは?
- Elm Architectureを基盤とするGo製ターミナルUIフレームワーク。Unicodeに準拠したレイアウト、インライン/全画面描画、コンポーネントライブラリを備えています。 Phoenixは、ターミナルUIを構築するためのGoフレームワークです。独立した10個のモジュールで構成されており、まとめて、または個別にインポートできます。Elm Architecture(Model、Update、View)に従い、各ライブラリはドメイン、アプリケーション、インフラストラクチャ、APIからなるDDD形式のレイヤーに分かれています。
- phoenix は無料で使えますか?ライセンスは?
- phoenix は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- phoenix は今もメンテナンスされていますか?
- 半年以内に更新あり。phoenix の最終コミットは 2026年8月25日 です。
- phoenix は何に使えますか?
- フォーム、リスト、メニューが必要なGo製の対話型コマンドラインツールの構築 外部プログラムに処理を引き継ぐ、シェル風またはエディタ風アプリケーションの開発 CJK文字や絵文字を正しく揃えて表示する必要があるTUIの作成 既存のBubbletea/LipglossプロジェクトをDDD形式のコードベースへ移行
- phoenix のインストール方法は?
- umbrella モジュールをインストールする: go get github.com/phoenix-tui/phoenix@latest README の Quick Start の例を使って main.go を作成し、実行する
- phoenix はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/phoenix-tui/phoenix
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
The Elm Architectureのmodel-update-viewパターンを使ってターミナルUIを構築するためのGoフレームワークです。
GoのBubble Tea製ターミナルアプリを構築するための、spinner、テキスト入力、テーブル、リスト、viewport、ヘルプなどを備えたTUIコンポーネント集。
Claude Code、OpenCode、Codex、Cursorなどのコーディングエージェント向けスキルを管理するTUI
Bubble Teaで構築されたGo製のモダンなターミナルファイルマネージャー。コマンドラインからファイルを閲覧・管理できます。
ターミナルUIの構築に使える、フォーム、テーブル、ツリー、リスト、テキストエリアなどの対話型ウィジェットを備えたGoライブラリ。