mcpField
B
bubbletea

bubbletea

github.com/pedronauck開発644260 回インストール1 週間前に更新
リポジトリ

bubbletea について

既存プロジェクト内でターミナル UI を構築する Go 開発者向けの Bubble Tea スキルです。端末サイズ、Unicode 表示、レイアウト、モデル更新のライフサイクルを重視します。

主な機能

  1. 01既存のモデルと更新構造に準拠
  2. 02端末セル幅に基づく測定と切り詰め
  3. 03小さな端末でのレイアウト調整
  4. 04ヒット判定と描画レイアウトの整合
  5. 05描画処理から副作用を分離

活用シーン

  1. 01既存の Go プロジェクトへの TUI コンポーネント追加
  2. 02狭い端末でのパネル配置の修正
  3. 03Unicode テキストの配置と切り詰めへの対応

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pedronauck/skills --skill bubbletea

インストール後、Claude Code で/bubbleteaを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
components.md
emoji-width-fix.md
golden-rules.md
troubleshooting.md

詳細

Bubble Tea TUI 開発

リポジトリにインストールされている Bubble Tea/Lip Gloss のバージョンと、既存のモデル/更新/ビュー構造を使用してください。バージョン固有の API 変更については、最新の公式ドキュメントを参照してください。付属のサンプルが利用側プロジェクトのメジャーバージョンと一致するとは限りません。

実装

  • 近くにあるコンポーネントと状態の所有関係を再利用してください。小さなウィジェットに、新たなプロジェクトのひな型、YAML 設定、ホットリロード、マウス操作、エフェクトライブラリは必要ありません。
  • レイアウトを変更する前に、references/golden-rules.md の関連するガイダンスを確認してください。実際のフレームやパディングのサイズを測り、端末が小さい場合は寸法を制限してください。固定値の 2 セルを差し引く方法が有効なのは、その正確な枠線に限られます。
  • 端末セル幅や ANSI を考慮した測定と切り詰めを使用してください。バイト長で文字列をスライスしたり、コードポイント数と表示幅が同じだと想定したりしないでください。コンテンツの振る舞いに合わせて、クリッピング、折り返し、スクロールのいずれかを選んでください。枠線付きのテキストがすべて切り詰められる必要はありません。
  • ヒットテストを、描画されたレイアウトとフォーカス状態に一致させてください。柔軟なペインには比例サイズが便利ですが、意図したコントロールには固定サイズを使用できます。
  • 描画の外で副作用のある処理を行い、モデル/更新のライフサイクルを維持してください。変更した操作と、狭い端末および広い端末での動作を検証してください。動作のカバレッジがない場合にのみ、その動作を所有するテストを追加してください。

参考資料

項目必要に応じて参照
枠線のサイズ、パネルの配置references/golden-rules.md
既存のウィジェットのパターンreferences/components.md
描画の失敗references/troubleshooting.md
Unicode/絵文字の配置references/emoji-width-fix.md

付属のテンプレートは、新しいアプリケーションを始める際の任意のひな型です。API のバージョンとレイアウトの前提を調整してください。動作しているプロジェクト構造を置き換えたり、不要な依存関係を追加したりしないでください。必要な依存関係は、手作業で go.mod を編集するのではなく、リポジトリのパッケージ管理ワークフローを通じてインストールしてください。製品の動作、端末の制約、プロジェクトの規約は、説明用のサンプルよりも優先されます。

コメント