OpenTUI — скилл
Скилл с документацией OpenTUI: агент собирает терминальные интерфейсы на Core, React или Solid и находит нужную страницу по теме
- 13 808 ★ репозитория
- Последний коммит
- MIT
Минимальный доступ
Почему такой уровень
- Скилл состоит из документации и правил, сам ничего не запускает; сеть нужна только установщику `npx skills`.
Установка
- Работает в
Ручная установка
npx skills add https://opentui.com --skill opentuiКоманда из README берет документацию последнего релиза. Флаг `-g` ставит скилл глобально, `npx skills update` переносит его на новый релиз.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Скилл состоит из документации и правил, сам ничего не запускает; сеть нужна только установщику `npx skills`.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл `opentui` отдает агенту документацию библиотеки для терминальных интерфейсов: рендерер, раскладку по flexbox, клавиатуру, компоненты текста, ввода, изображений и встроенного терминала, тестирование, плагины, сборку и деплой. Внутри лежат страницы `docs/**/*.mdx` и таблица маршрутов по ключевым словам: `flexbox` ведет на `docs/core-concepts/layout.mdx`, а `ssh` на `docs/reference/ssh.mdx`. Скилл подсказывает и выбор пакета. Core годится для прямых вызовов, `@opentui/react` и `@opentui/solid` для JSX, `@opentui/keymap` для сочетаний клавиш, `@opentui/ssh` для выдачи интерфейса по SSH. Все пакеты сразу ставить не нужно. Еще скилл требует проектировать под терминал: без зазоров между панелями и лишних отступов, плотной компоновкой.
Для кого. Авторам терминальных утилит, интерфейсов для CLI-агентов и SSH-сервисов на TypeScript, которые пишут код вместе с агентом.
Подходит, если
- Агент пишет терминальную утилиту с формой, списком и прокруткой на TypeScript.
- Интерфейс на React или Solid должен заработать в терминале с привычным JSX.
- Горячие клавиши приложения собираются в одну схему с цепочками нажатий и слоями по фокусу.
- Терминальное приложение раздается удаленным пользователям по SSH.
- Тесты интерфейса пишутся через тестовый рендерер со снимками кадров.
Не подходит, если
- Интерфейс нужен в браузере или на мобильном экране: OpenTUI рисует только в терминале.
- Приложение пишется на Python или Go: документация рассчитана на TypeScript, а нативный путь описан для C и Zig.
- Проект закреплен на старой версии `@opentui/core`, а скилл описывает последний релиз.
Пример запроса к агенту
Собери на OpenTUI с React терминальную панель: слева список задач, справа описание выбранной, переключение стрелками.Ограничения
Скилл описывает тот релиз или ветку, из которых он установлен. Адрес `https://opentui.com` дает последний релиз, а `npx skills add anomalyco/opentui` следует за веткой main и может опережать выпущенные пакеты. Для проекта на старом `@opentui/core` агенту придется читать заметки о релизах. Пакет `@opentui/three` работает только в Bun. Документация объемная, поэтому агент открывает страницы по маршрутам из таблицы и весь объем в контекст не загружает.
Как отключить. Удалите папку скилла `opentui` из каталога скиллов агента. Установленные в проекте пакеты `@opentui/*` останутся на месте.
Частые вопросы
Как поставить скилл OpenTUI?
Выполните `npx skills add https://opentui.com --skill opentui`. Флаг `-g` ставит скилл глобально. Эта команда берет документацию последнего релиза.
Как обновить скилл до нового релиза?
Запустите `npx skills update`: он переносит скилл, установленный с адреса opentui.com, на каждый новый релиз.
Что выбрать: Core, React или Solid?
Core подходит для прямых вызовов через `createCliRenderer()`, React для компонентов и хуков через `createRoot()`, Solid для сигналов через `render()`. Скилл просит ставить только нужные пакеты.
Как следовать за веткой main?
Поставьте скилл командой `npx skills add anomalyco/opentui` или с адреса `https://opentui.com/docs/next`. Вернуться на релизы можно основной командой с `--skill opentui`.
Можно ли отдать терминальное приложение по SSH?
Да. Маршрут `ssh` ведет на `docs/reference/ssh.mdx`: пакет `@opentui/ssh` создает сервер через `createServer()`, а аутентификацию, промежуточные обработчики и очистку сессий разбирает руководство.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСправочник по OpenTUI для агента: деревья решений, API Core, React и Solid, раскладка, клавиши, анимации и тесты
Больше 200 скиллов по стекам и практикам: React, Next.js, Rails, Rust, Python, отладка, TDD и ревью интерфейсов
Справочник по настольным приложениям на нескольких ОС с нативным ощущением: восемь принципов, четыре слоя, разбор WebView и аудит из 75 пунктов
Скилл, который вместо ASCII-схем в терминале собирает самодостаточные HTML-страницы: диаграммы, разбор диффов, ревью планов, таблицы и слайды
Скилл для агентов с конвенциями TypeScript: типы, дискриминированные объединения, функции, именование, структура, React и тесты, подгружается по темам
GitUI, терминальный интерфейс Git, выполняет операции в фоне, чтобы пользователь мог продолжать работать с интерфейсом.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| OpenTUI (эта карточка) | да | 13 808 | |
| Textual development CLI | нет | 37 666 | CLI Textual запускает терминальное приложение на Python в браузере; здесь скилл с документацией библиотеки OpenTUI на TypeScript |
| tui-test | нет | 314 | CLI Microsoft проверяет готовые терминальные сессии; здесь документация для самой разработки интерфейса |
Коротко о README
README называет OpenTUI библиотекой на Zig с интерфейсом на TypeScript, React и Solid и отмечает, что ее используют в OpenCode. Отдельно перечислены пакеты keymap, qrcode, three и ssh. Раздел про агента объясняет, как поставить скилл и когда выбирать релиз или ветку main.
Бейдж для README
Исходный SKILL.md
--- name: opentui description: Build terminal UIs with OpenTUI. Covers Core, frameworks, components, application APIs, testing, extensions, integrations, deployment, and public API lookup. --- # OpenTUI Skill Canonical reference docs are in the sibling `docs/**/*.mdx` files. Inside the OpenTUI repository, this skill root is `packages/web/src/content/`. The same files are available under `packages/web/src/content/docs/**/*.mdx` from the repository root. ## Terminal layout defaults Design for a terminal app, not a browser. Use the available columns and rows efficiently. - Do not use gaps between adjacent UI panels. - Do not add unnecessary margins or padding. - Prefer compact, information-dense layouts over website-style card spacing. ## Path invariant - `/docs` maps to `docs/getting-started.mdx`. - `/docs/components` maps to `docs/components/overview.mdx`. - Every other `/docs/<slug>` URL maps to `docs/<slug>.mdx` relative to this skill root. - From the repository root, prepend `packages/web/src/content/` to each source path. - `/docs/releases/<version>` maps to `docs/releases/<version>.md`, the release notes of that version. ## Versions The docs describe the release or branch that this skill came from. Each release notes file lists what changed in that release and links the pages it affects. When a project uses an older `@opentui/core` than the docs describe, read the notes of the newer releases before you use an API, and prefer what the project's version provides. ## Choose packages Use Core directly or choose a React or Solid binding for the UI. Recommend companion packages when their features fit the task. Do not install every package by default. - [`@opentui/core`](docs/core-concepts/renderer.mdx): use imperative renderables and events with `createCliRenderer()`. - [`@opentui/react`](docs/bindings/react.mdx): use React components, JSX, and hooks with `createRoot()`. - [`@opentui/solid`](docs/bindings/solid.mdx): use Solid components, JSX, and signals with `render()`. - [`@opentui/keymap`](docs/keymap/overview.mdx): centralize keyboard bindings and named commands across views. The package supports focus-scoped layers, configurable shortcuts, and multi-key sequences. Start with `createDefaultOpenTuiKeymap()` from `@opentui/keymap/opentui`. Use `@opentui/keymap/react` or `@opentui/keymap/solid` for providers and hooks. [Direct keyboard events](docs/core-concepts/keyboard.mdx) or component-local bindings are enough for simple local input. - [`@opentui/ssh`](docs/reference/ssh.mdx): serve a terminal UI to standard SSH clients without a local app installation. Import `createServer()` from the package root. Pass each session's renderer to Core, React, or Solid. The package has no framework subpaths. Read the SSH guide for authentication, middleware, and session cleanup.