mcpField
O
opentui

opentui

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

opentui について

opentuiは、OpenTUIでターミナルUIを構築するためのリファレンススキルです。開発者がCore、React、Solidから方式を選び、コンポーネントや入力、レイアウト、テストの資料を参照できます。

主な機能

  1. 01フレームワーク選択ガイド
  2. 02Core、React、Solidのリファレンス
  3. 03コンポーネントとレイアウトの資料
  4. 04キーボードとアニメーションのガイド
  5. 05テストとトラブルシューティング資料

活用シーン

  1. 01新しいターミナルUIの方式選択
  2. 02TUI実装中のコンポーネント資料参照
  3. 03キーボード入力、レイアウト、アニメーションの実装
  4. 04OpenTUIプロジェクトのテストとデバッグ

インストール

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

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

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

同梱ファイル

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

references/animation/
REFERENCE.md
references/components/
REFERENCE.md
code-diff.md
containers.md
inputs.md
text-display.md
references/core/
REFERENCE.md
api.md
configuration.md
gotchas.md
patterns.md
references/keyboard/
REFERENCE.md
references/layout/
REFERENCE.md
patterns.md
references/react/
REFERENCE.md
api.md
configuration.md
gotchas.md
patterns.md
references/solid/
REFERENCE.md
api.md
configuration.md
gotchas.md
patterns.md
references/testing/
REFERENCE.md

詳細

OpenTUI プラットフォームスキル

OpenTUI を使ってターミナルユーザーインターフェースを構築するための統合スキルです。以下の判断ツリーで適切なフレームワークとコンポーネントを見つけ、詳細なリファレンスを参照してください。

重要なルール

OpenTUI のコードでは、常に次のルールに従ってください。

  1. 新しいプロジェクトには create-tui を使用してください。 フレームワークの REFERENCE.md にあるクイックスタートを参照してください。
  2. create-tui のオプションは引数より前に指定してください。 bunx create-tui -t react my-app は動作しますが、bunx create-tui my-app -t react は動作しません。
  3. process.exit() を直接呼び出さないでください。 renderer.destroy() を使用してください(core/gotchas.md を参照)。
  4. React/Solid でテキストをスタイル設定するには、タグを入れ子にする必要があります。 props ではなく修飾要素を使用してください(components/text-display.md を参照)。

このスキルの使い方

リファレンスファイルの構成

フレームワークリファレンスは、5 ファイルのパターンに従います。複数領域にまたがる概念は、単一ファイルのガイドです。

./references/<framework>/ にある各フレームワークには、次のファイルが含まれます。

ファイル目的参照するタイミング
REFERENCE.md概要、使用する場面、クイックスタート必ず最初に読む
api.mdランタイム API、コンポーネント、フックコードを書くとき
configuration.mdセットアップ、tsconfig、バンドルプロジェクトを設定するとき
patterns.md一般的なパターン、ベストプラクティス実装の参考
gotchas.md落とし穴、制限事項、デバッグトラブルシューティング

./references/<concept>/ にある複数領域にまたがる概念では、REFERENCE.md がエントリーポイントです。

読む順序
  1. 選択したフレームワークの REFERENCE.md から読み始めます
  2. 次に、タスクに関連するファイルを読みます。
    • コンポーネントの構築 -> api.md + components/<category>.md
    • プロジェクトのセットアップ -> configuration.md
    • レイアウト/配置 -> layout/REFERENCE.md
    • キーボード/入力処理 -> keyboard/REFERENCE.md
    • アニメーション -> animation/REFERENCE.md
    • トラブルシューティング -> gotchas.md + testing/REFERENCE.md
パスの例
./references/react/REFERENCE.md           # Start here for React
./references/react/api.md              # React components and hooks
./references/solid/configuration.md    # Solid project setup
./references/components/inputs.md      # Input, Textarea, Select docs
./references/core/gotchas.md           # Core debugging tips
ランタイムに関する注意事項

OpenTUI は Bun 上で動作し、ネイティブビルドに Zig を使用します。ランタイム要件とビルドのガイダンスについては、./references/core/gotchas.md を参照してください。

クイック判断ツリー

「どのフレームワークを使えばよいですか?」
Which framework?
├─ I want full control, maximum performance, no framework overhead
│  └─ core/ (imperative API)
├─ I know React, want familiar component patterns
│  └─ react/ (React reconciler)
├─ I want fine-grained reactivity, optimal re-renders
│  └─ solid/ (Solid reconciler)
└─ I'm building a library/framework on top of OpenTUI
   └─ core/ (imperative API)
「コンテンツを表示したい」
Display content?
├─ Plain or styled text -> components/text-display.md
├─ Container with borders/background -> components/containers.md
├─ Scrollable content area -> components/containers.md (scrollbox)
├─ ASCII art banner/title -> components/text-display.md (ascii-font)
├─ Data table with borders/wrapping -> components/code-diff.md (TextTable)
├─ Code with syntax highlighting -> components/code-diff.md
├─ Diff viewer (unified/split) -> components/code-diff.md
├─ Line numbers with diagnostics -> components/code-diff.md
└─ Markdown content (streaming) -> components/code-diff.md (markdown)
「ユーザー入力を受け付けたい」
User input?
├─ Single-line text field -> components/inputs.md (input)
├─ Multi-line text editor -> components/inputs.md (textarea)
├─ Select from a list (vertical) -> components/inputs.md (select)
├─ Tab-based selection (horizontal) -> components/inputs.md (tab-select)
└─ Custom keyboard shortcuts -> keyboard/REFERENCE.md
「レイアウト/配置を行いたい」
Layout?
├─ Flexbox-style layouts (row, column, wrap) -> layout/REFERENCE.md
├─ Absolute positioning -> layout/patterns.md
├─ Responsive to terminal size -> layout/patterns.md
├─ Centering content -> layout/patterns.md
└─ Complex nested layouts -> layout/patterns.md
「アニメーションを使いたい」
Animations?
├─ Timeline-based animations -> animation/REFERENCE.md
├─ Easing functions -> animation/REFERENCE.md
├─ Property transitions -> animation/REFERENCE.md
└─ Looping animations -> animation/REFERENCE.md
「入力を処理したい」
Input handling?
├─ Keyboard events (keypress, release) -> keyboard/REFERENCE.md
├─ Focus management -> keyboard/REFERENCE.md
├─ Paste events -> keyboard/REFERENCE.md
├─ Mouse events -> components/containers.md
├─ Text selection & copy-on-select -> keyboard/REFERENCE.md (selection)
└─ Clipboard (OSC 52) -> keyboard/REFERENCE.md (clipboard)
「TUI をテストしたい」
Testing?
├─ Snapshot testing -> testing/REFERENCE.md
├─ Interaction testing -> testing/REFERENCE.md
├─ Test renderer setup -> testing/REFERENCE.md
└─ Debugging tests -> testing/REFERENCE.md
「デバッグ/トラブルシューティングを行いたい」
Troubleshooting?
├─ Runtime errors, crashes -> <framework>/gotchas.md
├─ Layout issues -> layout/REFERENCE.md + layout/patterns.md
├─ Input/focus issues -> keyboard/REFERENCE.md
└─ Repro + regression tests -> testing/REFERENCE.md
トラブルシューティング索引
  • ターミナルのクリーンアップ、クラッシュ -> core/gotchas.md
  • テキストのスタイルが適用されない -> components/text-display.md
  • 入力フォーカス/ショートカット -> keyboard/REFERENCE.md
  • レイアウトのずれ -> layout/REFERENCE.md
  • 不安定なスナップショット -> testing/REFERENCE.md

コンポーネントの命名の違いとテキスト修飾子については、components/REFERENCE.md を参照してください。

製品索引

フレームワーク
フレームワークエントリーファイル説明
Core./references/core/REFERENCE.md命令型 API、すべてのプリミティブ
React./references/react/REFERENCE.md宣言型 TUI 用の React リコンサイラー
Solid./references/solid/REFERENCE.md宣言型 TUI 用の SolidJS リコンサイラー
複数領域にまたがる概念
概念エントリーファイル説明
レイアウト./references/layout/REFERENCE.mdYoga/Flexbox レイアウトシステム
コンポーネント./references/components/REFERENCE.mdカテゴリー別のコンポーネントリファレンス
キーボード./references/keyboard/REFERENCE.mdキーボード入力処理
アニメーション./references/animation/REFERENCE.mdタイムラインベースのアニメーション
テスト./references/testing/REFERENCE.mdテストレンダラーとスナップショット
コンポーネントのカテゴリ
カテゴリエントリーファイルコンポーネント
テキストと表示./references/components/text-display.mdtext、ascii-font、styled text
コンテナ./references/components/containers.mdbox、scrollbox、borders
入力./references/components/inputs.mdinput、textarea、select、tab-select
コードと差分./references/components/code-diff.mdcode、line-number、diff、markdown、text-table

リソース

リポジトリ: https://github.com/anomalyco/opentui コアドキュメント: https://github.com/anomalyco/opentui/tree/main/packages/core/docs サンプル: https://github.com/anomalyco/opentui/tree/main/packages/core/src/examples Awesome List: https://github.com/msmps/awesome-opentui

コメント