Repolode
phoenix-tui

phoenix-tui/phoenix

Framework de Go para interfaces de terminal basado en Elm Architecture, con diseño compatible con Unicode, renderizado en línea o a pantalla completa y una biblioteca de componentes.

Estrellas
45
Forks
1
Issues abiertos
0
Último commit
hace 2 meses

¿Qué es?

Phoenix es un framework de Go para crear interfaces de usuario de terminal. Se divide en 10 módulos independientes que se pueden importar juntos o por separado, y sigue Elm Architecture (Model, Update, View). Cada biblioteca se organiza en capas de estilo DDD: dominio, aplicación, infraestructura y API.

El ancho del texto se calcula con clústeres de grafemas y las reglas de East Asian Width, para que los emoji y los caracteres CJK mantengan la alineación del diseño. El renderizado puede ser en línea, con comparación de diferencias por línea, o a pantalla completa en modo alt-screen. Una API de control de TTY permite ejecutar programas externos, como editores o shells, desde una TUI y restaurar después la interfaz.

La biblioteca de componentes incluye campos de texto, listas, tablas, modales, barras de progreso con indicadores de actividad, formularios y menús de selección. También ofrece un sistema de estilos similar a CSS con temas predefinidos, diseño flexbox y grid, gestión de eventos del mouse y un portapapeles multiplataforma que funciona por SSH mediante OSC 52. La guía de migración explica cómo pasar de Bubbletea, Lipgloss y Bubbles.

Funciones clave

  • 01Gestión de estado con Elm Architecture y modelos genéricos con seguridad de tipos
  • 02Cálculo del ancho de Unicode y emoji basado en UAX #11
  • 03Renderizado en línea con comparación de diferencias por línea o modo alt-screen a pantalla completa
  • 04Control de TTY para ejecutar procesos externos, como editores y shells
  • 05Biblioteca de componentes con campos de texto, tablas, modales, formularios y barras de progreso
  • 06Terminal simulada y utilidades de prueba para probar TUI

Casos de uso

  • Crear herramientas interactivas de línea de comandos en Go que necesiten formularios, listas o menús
  • Escribir aplicaciones similares a shells o editores que deleguen la ejecución en programas externos
  • Crear TUI que deban mostrar texto CJK o emoji con la alineación correcta
  • Migrar un proyecto existente de Bubbletea/Lipgloss a una base de código estructurada según DDD

Inicio rápido

  1. 1

    Instala el módulo umbrella

    go get github.com/phoenix-tui/phoenix@latest
  2. 2

    Crea un main.go con el ejemplo Quick Start del README y ejecútalo

Antes de usarlo

  • Requiere Go 1.25 o posterior.
  • Es un proyecto en una fase inicial, con solo 45 estrellas, por lo que su comunidad es pequeña y su trayectoria, limitada.

Temas

Preguntas frecuentes

¿Qué es phoenix?
Framework de Go para interfaces de terminal basado en Elm Architecture, con diseño compatible con Unicode, renderizado en línea o a pantalla completa y una biblioteca de componentes. Phoenix es un framework de Go para crear interfaces de usuario de terminal. Se divide en 10 módulos independientes que se pueden importar juntos o por separado, y sigue Elm Architecture (Model, Update, View). Cada biblioteca se organiza en capas de estilo DDD: dominio, aplicación, infraestructura y API.
¿phoenix es gratuito? ¿Qué licencia tiene?
phoenix es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿phoenix sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de phoenix fue el 25 ago 2026.
¿Para qué puedo usar phoenix?
Crear herramientas interactivas de línea de comandos en Go que necesiten formularios, listas o menús Escribir aplicaciones similares a shells o editores que deleguen la ejecución en programas externos Crear TUI que deban mostrar texto CJK o emoji con la alineación correcta Migrar un proyecto existente de Bubbletea/Lipgloss a una base de código estructurada según DDD
¿Cómo se instala phoenix?
Instala el módulo umbrella: go get github.com/phoenix-tui/phoenix@latest Crea un main.go con el ejemplo Quick Start del README y ejecútalo
¿Dónde consigo phoenix?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/phoenix-tui/phoenix

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados