vue-tui  by vuejs-ai

Build terminal UIs with Vue components and flexbox

Created 1 month ago
316 stars

Top 85.3% on SourcePulse

GitHubView on GitHub
Project Summary

Summary: vuejs-ai/vue-tui offers a Vue 3 framework for building rich, interactive terminal user interfaces. It enables developers to construct TUI applications using familiar web paradigms like component-based architecture, SFCs/JSX, and flexbox layout, streamlining TUI development for Vue.js ecosystems.

How It Works The framework adapts Vue 3's rendering for terminal output, using Yoga for flexbox layout. Developers can author components via Vue SFCs or JSX/TSX. A Vite-powered CLI provides Hot Module Replacement (HMR) in the terminal for instant feedback. Core functionality is exposed via composables for input, focus, and app lifecycle management.

Quick Start & Requirements Start a new project with npx tiged vuejs-ai/vue-tui-starter my-app, then cd my-app, npm install, and npm run dev. For existing projects, install via npm install @vue-tui/runtime. Development requires Node.js 22+ and pnpm.

Highlighted Details

  • Component-based development for terminal UIs with core components like <Box>, <Text>, and <Static>.
  • Flexbox layout powered by Yoga for sophisticated UI arrangements.
  • Hot Module Replacement (HMR) for rapid development cycles.
  • Comprehensive testing harness (@vue-tui/testing) for isolated rendering, input simulation, and output assertion.
  • Support for Vue SFCs and TSX syntax.
  • Extensive composables for input handling (useInput), focus management (useFocusManager), and app control (useApp).

Maintenance & Community Currently in public beta, seeking feedback to stabilize the @vue-tui/runtime API before 1.0. The CLI and dev tooling are experimental. Inspirations include Ink, with contributions from Vadim Demedes and Sindre Sorhus. No specific community channels or roadmap links are provided.

Licensing & Compatibility Released under the MIT license, this permissive license allows for broad compatibility, including commercial use and integration into closed-source applications without significant restrictions.

Limitations & Caveats The project is in public beta, with experimental CLI and dev tooling subject to change. Node.js 22+ and pnpm are prerequisites for development. Feedback is actively encouraged as the project approaches its 1.0 release.

Health Check
Last Commit

16 hours ago

Responsiveness

Inactive

Pull Requests (30d)
82
Issues (30d)
14
Star History
234 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.