# **GuiguiとGhosttyで作るターミナルGUI**

GoのGUIフレームワーク「Guigui」(Ebitengineベース)とGhosttyのターミナルエンジン「libghostty」をcgoで組み合わせ、macOS上で動作するターミナルエミュレータ「gostty」を実装した技術記事。WidgetツリーにTerminalWidgetを配置し、キー/マウス入力をlibghosttyへ中継する構成。Ebitengineのゲームループとターミナルの非同期I/Oの統合、cgoを介したC/Goバインディング、Claude Codeを活用した開発効率化が主なトピック。

## ポイント
- 構成: Guigui(Ebitengine) → TerminalWidget → cgo → libghostty のレイヤー構造
- GoからC共有ライブラリ(libghostty)をcgo経由で呼び出すバインディング実装
- Ebitengineのゲームループ(60fps)とターミナルの非同期I/Oを統合する設計上の課題
- Claude Codeを活用してcgoバインディングや低レベルC interopの実装を加速
- macOS限定で動作するシンプルなターミナルエミュレータとしてGitHubで公開

## 関連概念(未作成)
`GuiguiフレームワークによるGoのGUIアプリ開発` `libghosttyバインディング(cgo経由でGhosttyエンジン利用)` `EbitengineゲームループとI/O非同期統合パターン`