Show HN: Giggles – A batteries-included React framework for TUIs
Source: Hacker News
Overview
I built a framework that handles focus and input routing automatically for you—something born out of the gaps left by Ink and inspired by Charmbracelet’s Bubble Tea.
Features
-
Hierarchical focus and input routing
Define focus regions withuseFocusScopeand compose them freely—e.g., a text input inside a list inside a panel just works. Each component owns its keys; unhandled keypresses bubble up to the appropriate parent automatically. No global handler likeuseInput, no coordination code required. -
UI components (15 total)
IncludesSelect,TextInput,Autocomplete,Markdown,Modal,Viewport,CodeBlock(with diff support),VirtualList,CommandPalette, and more. All come with sensible defaults and render‑prop APIs for full customization. -
Terminal process control
Spawn processes and stream output into your TUI with hooks such asuseSpawnanduseShellOut. Hand off to external programs likevimorless, and reclaim control cleanly when they exit. -
Screen navigation & keybinding registry
Built‑in support for navigation, a?help menu, and theming. -
React 19 compatible
Getting Started
npx create-giggles-app
Documentation & Demos
Live interactive demos and documentation are available at:
Discussion
Comments can be found on Hacker News.