← Все проекты
Проект / Go

mitchellh/go-libghostty: go-libghostty — Go-биндинги для эмуляции терминала

Позволяет работать с виртуальными терминалами прямо из Go-приложений, обрабатывая VT-последовательности и форматируя вывод.

Это Go-биндинги к библиотеке libghostty-vt, которая реализует эмуляцию терминала с поддержкой VT-последовательности. Проект позволяет создавать виртуальные терминалы, обрабатывать форматирование (жирный, цветной текст), форматировать вывод в plain text и...

★ 29 Go Форки 1 Issue 0 Оценка 6/10 Карточка проверена

Для кого это

Для Go-разработчиков, создающих CLI-утилиты, SSH-клиенты, веб-терминалы или инструменты для тестирования терминального вывода.

Проблема / задача

Разработчикам на Go сложно эмулировать терминальное поведение, обрабатывать escape-последовательности и форматировать вывод — приходится писать сложный парсинг или использовать тяжёлые библиотеки.

Как это работает

Проект предоставляет Go-обёртку вокруг библиотеки libghostty-vt на C++. Через cgo создаётся виртуальный терминал, в который можно передавать VT-данные, а затем получать отформатированный текст. Библиотека умеет статически линковаться, что упрощает кросс-компиляцию и распространение.

Что видно по README

Это Go-биндинги к библиотеке libghostty-vt, которая реализует эмуляцию терминала с поддержкой VT-последовательности. Проект позволяет создавать виртуальные терминалы, обрабатывать форматирование (жирный, цветной текст), форматировать вывод в plain text и настраивать обработчики событий (звонок, изменение заголовка).

Ключевые возможности

Создание виртуальных терминалов с заданным размеромОбработка VT-последовательностей и escape-кодовФорматирование содержимого терминала в plain textОбработчики событий: звонок (bell), изменение заголовка, запись в PTYСтатическая линковка по умолчанию для простой кросс-компиляции

Технологии

Gocgolibghostty-vt (C++)

Темы и ключи

ghosttylibghostty

Интересный факт

Проект создан Mitchell Hashimoto — известным разработчиком Vagrant, Packer и других инфраструктурных инструментов. Библиотека использует Zig и CMake для автоматической сборки зависимостей при разработке.

С чего начать

  • Установите libghostty-vt системно или через PKG_CONFIG_PATH
  • Создайте терминал, передайте VT-данные и отформатируйте вывод

Оценка GitRadar

Удобство
6/10
Свежесть
8/10
Перспектива
7/10
Монетизация
4/10
Общая оценка
6/10

Вердикт GitRadar

Стоит пробовать, если вам нужна эмуляция терминала в Go-проекте и вы готовы к нестабильному API. Проект сыроват, но основан на стабильной C++-библиотеке и имеет потенциал.

Наблюдения по обновлениям

Проект новый (14 звёзд, 1 форк), автор явно предупреждает о нестабильном API. Активность в issues нулевая, что может говорить либо о сырости, либо об отсутствии пользователей.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/mitchellh/go-libghostty
Лицензия
MIT
Создан на GitHub
10 апреля 2026 г.
Последнее обновление репо
10 апреля 2026 г.
Последняя проверка GitRadar
10 апреля 2026 г.
Изученные файлы
README.md, go.mod, examples/modes/main.go, examples/build-info/main.go, examples/formatter/main.go, examples/effects/main.go

FAQ

Что это такое?

Go-библиотека для работы с виртуальными терминалами через биндинги к libghostty-vt.

Для кого подходит?

Для Go-разработчиков, которым нужно эмулировать терминал, тестировать CLI-вывод или создавать веб-терминалы.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с mitchellh/go-libghostty?

Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.