Elm Architectureを基盤とするGo製ターミナルUIフレームワーク。Unicodeに準拠したレイアウト、インライン/全画面描画、コンポーネントライブラリを備えています。
charmbracelet/bubbles
GoのBubble Tea製ターミナルアプリを構築するための、spinner、テキスト入力、テーブル、リスト、viewport、ヘルプなどを備えたTUIコンポーネント集。
- スター
- 9,002
- フォーク
- 475
- 未解決の Issue
- 250
- 最終コミット
- 18 日前
これは何?
Bubblesは、ターミナルアプリ向けのElmアーキテクチャフレームワークであるBubble Tea用に作られた、再利用可能なターミナルUIコンポーネントのGoライブラリです。すべてのウィジェットを一から実装する代わりに、spinner、1行・複数行のテキスト入力、ソート可能なテーブル、フィルター機能付きリスト、スクロール可能なviewport、プログレスバー、ページネーター、ファイルピッカー、タイマー、ストップウォッチ、自動生成のヘルプビューなどを組み込めます。
各コンポーネントは独自のUpdateメソッドとViewメソッドを持つBubble Teaのmodelなので、大きなアプリケーションに組み込んだり、ほかのコンポーネントと組み合わせたりできます。キーバインディング用のヘルパーパッケージを使うと、アプリケーションでキーマップを定義し、ユーザーによるキーの再割り当てを可能にして、同じバインディングからヘルプテキストを生成できます。コンポーネントはUnicode入力、ペースト、スクロール、スタイルのカスタマイズに対応しています。ライブラリはバージョン2で、charm.landのimport pathで公開されています。
主な機能
- 01spinner、テキスト入力、テキストエリア、テーブル、リスト、viewport、プログレス関連のコンポーネントを収録
- 02ドット形式または数値形式でページを表示できるページネーターを提供
- 03拡張子で絞り込めるファイルピッカーを提供
- 04カウントダウンとカウントアップに使えるタイマーとストップウォッチのコンポーネントを収録
- 05キーバインディングからヘルプビューを自動生成
ユースケース
- Go製のコマンドラインツールにローディング表示やプログレスバーを追加する
- 複数のテキストフィールドを備えたターミナルフォームを構築する
- TUIアプリケーションにスクロール可能なリストや表形式のデータを表示する
- ターミナルアプリ内でユーザーがファイルを選択したり、キーバインディングを変更したりできるようにする
使う前に知っておきたいこと
- README にインストールコマンドが記載されていないため、クイックスタートを表示できません。
- v1 から v2 へのアップグレードには、別途アップグレードガイドに従う必要があります。
- これらのコンポーネントは Bubble Tea アプリ向けに作られているため、そのフレームワークも必要です。
トピック
よくある質問
- bubbles とは?
- GoのBubble Tea製ターミナルアプリを構築するための、spinner、テキスト入力、テーブル、リスト、viewport、ヘルプなどを備えたTUIコンポーネント集。 Bubblesは、ターミナルアプリ向けのElmアーキテクチャフレームワークであるBubble Tea用に作られた、再利用可能なターミナルUIコンポーネントのGoライブラリです。すべてのウィジェットを一から実装する代わりに、spinner、1行・複数行のテキスト入力、ソート可能なテーブル、フィルター機能付きリスト、スクロール可能なviewport、プログレスバー、ページネーター、ファイルピッカー、タイマー、ストップウォッチ、自動生成のヘルプビューなどを組み込めます。
- bubbles は無料で使えますか?ライセンスは?
- bubbles は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- bubbles は今もメンテナンスされていますか?
- 活発にメンテナンス中。bubbles の最終コミットは 2026年10月4日 です。
- bubbles は何に使えますか?
- Go製のコマンドラインツールにローディング表示やプログレスバーを追加する 複数のテキストフィールドを備えたターミナルフォームを構築する TUIアプリケーションにスクロール可能なリストや表形式のデータを表示する ターミナルアプリ内でユーザーがファイルを選択したり、キーバインディングを変更したりできるようにする
- bubbles はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/charmbracelet/bubbles
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
The Elm Architectureのmodel-update-viewパターンを使ってターミナルUIを構築するためのGoフレームワークです。
YAMLファイル1つでシェルコマンドのデータソースとウィジェットのグリッドを定義できる、Bubble Tea製の設定駆動型ターミナルダッシュボード。
CSS風の宣言的なスタイル定義で、テキストベースのターミナルUIを装飾・レイアウトするGoライブラリ。
Go製のキーボード操作対応ターミナルダウンロードマネージャー。ファイルを並列チャンクに分割し、複数ミラーからダウンロードできます。