opción
HogarHogar Skill Otros opentui

Habilidad completa de OpenTUI para crear interfaces de usuario de terminal. Abarca la API imperativa principal, el reconciliador de React y el reconciliador de Solid. Se puede utilizar para cualquier tarea de desarrollo de TUI, incluyendo componentes, diseño, gestión del teclado, animaciones y pruebas.

...Expandir todo
53
Tiempo actualizado 4 de agosto de 2026

OpenTUI Competencia en plataformas

Habilidad consolidada para crear interfaces de usuario de terminales con OpenTUI. Utiliza los árboles de decisión que aparecen a continuación para encontrar el marco y los componentes adecuados y, a continuación, consulta las referencias detalladas.

Normas fundamentales

Sigue estas reglas en todo el código de OpenTUI:

  1. Utiliza create-tui para los nuevos proyectos. Consulta las REFERENCE.md guías de inicio rápido del marco de trabajo.
  2. create-tui Las opciones deben ir antes que los argumentos. bunx create-tui -t react my-app funciona, bunx create-tui my-app -t react NO funciona.
  3. Nunca llames directamente a process.exit(). Utiliza renderer.destroy() (véase core/gotchas.md).
  4. El estilo del texto requiere etiquetas anidadas en React/Solid. Utiliza elementos modificadores, no props (véase components/text-display.md).

Cómo utilizar esta habilidad

Estructura de los archivos de referencia

Las referencias al marco siguen un patrón de 5 archivos. Los conceptos transversales se tratan en guías de un solo archivo.

Cada marco de trabajo en ./references// contiene:

Los conceptos transversales en ./references// tienen REFERENCE.md como punto de partida.

Orden de lectura

  1. Empieza por REFERENCE.md el marco que hayas elegido
  2. A continuación, lee los archivos adicionales relevantes para tu tarea:
    • Creación de componentes -> api.md + components/.md
    • Configuración del proyecto -> configuration.md
    • Diseño/posicionamiento -> layout/REFERENCE.md
    • Manejo del teclado y las entradas -> keyboard/REFERENCE.md
    • Animaciones -> animation/REFERENCE.md
    • Solución de problemas -> gotchas.md + testing/REFERENCE.md

Rutas de ejemplo

./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

Notas sobre el tiempo de ejecución

OpenTUI Se ejecuta en Bun y utiliza Zig para las compilaciones nativas. Consulta ./references/core/gotchas.md los requisitos de ejecución y las instrucciones de compilación.

Árboles de decisión rápidos

«¿Qué marco de trabajo debería utilizar?»

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)

«Necesito mostrar contenido»

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)

«Necesito que el usuario introduzca datos»

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

«Necesito diseño/posicionamiento»

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

«Necesito animaciones»

Animations?
├─ Timeline-based animations -> animation/REFERENCE.md
├─ Easing functions -> animation/REFERENCE.md
├─ Property transitions -> animation/REFERENCE.md
└─ Looping animations -> animation/REFERENCE.md

«Necesito gestionar la entrada de datos».

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)

«Necesito probar mi interfaz de usuario textual (TUI)»

Testing?
├─ Snapshot testing -> testing/REFERENCE.md
├─ Interaction testing -> testing/REFERENCE.md
├─ Test renderer setup -> testing/REFERENCE.md
└─ Debugging tests -> testing/REFERENCE.md

«Necesito depurar o solucionar problemas»

Troubleshooting?
├─ Runtime errors, crashes -> /gotchas.md
├─ Layout issues -> layout/REFERENCE.md + layout/patterns.md
├─ Input/focus issues -> keyboard/REFERENCE.md
└─ Repro + regression tests -> testing/REFERENCE.md

Índice de resolución de problemas

  • Limpieza del terminal, fallos -> core/gotchas.md
  • El estilo del texto no se aplica -> components/text-display.md
  • Foco de entrada/atajos -> keyboard/REFERENCE.md
  • Desalineación del diseño -> layout/REFERENCE.md
  • Instantáneas inestables -> testing/REFERENCE.md

Para conocer las diferencias en la nomenclatura de los componentes y los modificadores de texto, consulta components/REFERENCE.md.

Índice de productos

Marcos de trabajo

Conceptos transversales

Categorías de componentes

Recursos

Repositorio : https://github.com/anomalyco/opentui Documentación básica : https://github.com/anomalyco/ opentui /tree/main/packages/core/docs Ejemplos : https://github.com/anomalyco/ opentui /tree/main/packages/core/src/examples Lista de recursos destacados : https://github.com/msmps/awesome- opentui

Más de este repositorio mismo repositorio

Más de este repositorio

Úsalo al preparar, etiquetar y publicar una versión de una aplicación de escritorio de Cline Code (apps/examples/desktop-app). Guía la redacción del registro de cambios, los incrementos de versión en package.json y tauri.conf.json, las etiquetas desktop-vX.Y.Z y el flujo de trabajo de GitHub «desktop-publish», que compila, firma, certifica y actualiza el canal de actualizaciones automáticas.publish-desktopcline/cline2026-07-2165,Prepara, valida y publica versiones independientes de @cline/ui en npm. Úsalo al aumentar la versión del paquete UI, publicar la última versión o la siguiente mediante ui-publish.yml, comprobar si la versión de UI está lista para su publicación o completar la configuración inicial única de «trusted-publishing» de npm.1kpublish-uicline/cline2026-07-1865,1kpublish-clicline/cline2026-06-0465Úsalo al preparar, etiquetar y publicar una versión de npm de apps/cli. Ofrece orientación sobre la redacción del registro de cambios, los incrementos de versión en apps/cli/package.json, las etiquetas cli-vX.Y.Z, la publicación local en npm y el flujo de trabajo de GitHub «publish-cli».,Conocimientos exhaustivos sobre el SDK de Cline para crear agentes de IA. Abarca el tiempo de ejecución del agente, las sesiones de ClineCore, las herramientas personalizadas, los complementos, los eventos, los proveedores de LLM, la programación, los equipos de múltiples agentes y el despliegue en producción. Úsalo para cualquier tarea relacionada con @cline/sdk o sus subpaquetes.1kcline-sdkcline/cline2026-05-1465.1kcreate-pull-requestcline/cline2026-02-2465Crea una solicitud de incorporación de cambios (pull request) en GitHub siguiendo las convenciones del proyecto. Úsala cuando el usuario solicite crear una PR, enviar cambios para su revisión o abrir una solicitud de incorporación de cambios. Se encarga del análisis de confirmaciones, la gestión de ramas, el uso de plantillas de PR y la creación de PR mediante la herramienta gh CLI..1k
Ver en GitHub

OpenTUI Platform Skill

Consolidated skill for building terminal user interfaces with OpenTUI. Use decision trees below to find the right framework and components, then load detailed references.

Critical Rules

Follow these rules in all OpenTUI code:

  1. Use create-tui for new projects. See framework REFERENCE.md quick starts.
  2. create-tui options must come before arguments. bunx create-tui -t react my-app works, bunx create-tui my-app -t react does NOT.
  3. Never call process.exit() directly. Use renderer.destroy() (see core/gotchas.md).
  4. Text styling requires nested tags in React/Solid. Use modifier elements, not props (see components/text-display.md).

How to Use This Skill

Reference File Structure

Framework references follow a 5-file pattern. Cross-cutting concepts are single-file guides.

Each framework in ./references/<framework>/ contains:

Cross-cutting concepts in ./references/<concept>/ have REFERENCE.md as the entry point.

Reading Order

  1. Start with REFERENCE.md for your chosen framework
  2. Then read additional files relevant to your task:
    • Building components -> api.md + components/<category>.md
    • Setting up project -> configuration.md
    • Layout/positioning -> layout/REFERENCE.md
    • Keyboard/input handling -> keyboard/REFERENCE.md
    • Animations -> animation/REFERENCE.md
    • Troubleshooting -> gotchas.md + testing/REFERENCE.md

Example Paths

./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

Runtime Notes

OpenTUI runs on Bun and uses Zig for native builds. Read ./references/core/gotchas.md for runtime requirements and build guidance.

Quick Decision Trees

"Which framework should I use?"

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)

"I need to display content"

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)

"I need user input"

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

"I need layout/positioning"

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

"I need animations"

Animations?
├─ Timeline-based animations -> animation/REFERENCE.md
├─ Easing functions -> animation/REFERENCE.md
├─ Property transitions -> animation/REFERENCE.md
└─ Looping animations -> animation/REFERENCE.md

"I need to handle input"

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)

"I need to test my TUI"

Testing?
├─ Snapshot testing -> testing/REFERENCE.md
├─ Interaction testing -> testing/REFERENCE.md
├─ Test renderer setup -> testing/REFERENCE.md
└─ Debugging tests -> testing/REFERENCE.md

"I need to debug/troubleshoot"

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

Troubleshooting Index

  • Terminal cleanup, crashes -> core/gotchas.md
  • Text styling not applying -> components/text-display.md
  • Input focus/shortcuts -> keyboard/REFERENCE.md
  • Layout misalignment -> layout/REFERENCE.md
  • Flaky snapshots -> testing/REFERENCE.md

For component naming differences and text modifiers, see components/REFERENCE.md.

Product Index

Frameworks

Cross-Cutting Concepts

Component Categories

Resources

Repository: https://github.com/anomalyco/opentui Core Docs: https://github.com/anomalyco/opentui/tree/main/packages/core/docs Examples: https://github.com/anomalyco/opentui/tree/main/packages/core/src/examples Awesome List: https://github.com/msmps/awesome-opentui

More from this repositorysame repository

More from this repository

publish-desktopcline/cline

Use when preparing, tagging, and publishing a Cline Code desktop app (apps/examples/desktop-app) release. Guides changelog drafting, version bumps in package.json + tauri.conf.json, desktop-vX.Y.Z tags, and the desktop-publish GitHub workflow that builds, signs, notarizes, and updates the auto-update feed.

2026-07-2165.1k
publish-uicline/cline

Prepare, validate, and publish standalone @cline/ui npm releases. Use when bumping the UI package version, publishing latest or next through ui-publish.yml, checking UI release readiness, or completing the one-time npm trusted-publishing bootstrap.

2026-07-1865.1k
publish-clicline/cline

Use when preparing, tagging, and publishing an apps/cli npm release. Guides changelog drafting, apps/cli/package.json version bumps, cli-vX.Y.Z tags, local npm publishing, and the publish-cli GitHub workflow.

2026-06-0465.1k
cline-sdkcline/cline

Comprehensive Cline SDK skill for building AI agents. Covers the Agent runtime, ClineCore sessions, custom tools, plugins, events, LLM providers, scheduling, multi-agent teams, and production deployment. Use for any task involving @cline/sdk or its sub-packages.

2026-05-1465.1k
create-pull-requestcline/cline

Create a GitHub pull request following project conventions. Use when the user asks to create a PR, submit changes for review, or open a pull request. Handles commit analysis, branch management, PR template usage, and PR creation using the gh CLI tool.

2026-02-2465.1k

Instalar opentui

Descarga y descomprime los archivos de las habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

git clone https://github.com/cline/cline/tree/main/.agents/skills/opentui # Copy the skill folder to .claude/skills/ or .codex/skills/

Copiar Copiar
Configuración rápida: Copia la carpeta de la habilidad en .claude/skills/. Claude la detectará automáticamente y utilizará la habilidad.
Repositorio cline/cline

Habilidades relacionadas

multica-creating-agents
Tiempo actualizado 12 de agosto de 2026
tilemaps
Tiempo actualizado 4 de agosto de 2026
v4-new-features
Tiempo actualizado 4 de agosto de 2026
pixijs-application
Tiempo actualizado 4 de agosto de 2026
OR