Guides
In-depth guides for building terminal applications with Silvery -- from first principles to advanced patterns.
Philosophy
- The Silvery Way -- 10 design principles for building great TUIs
- Why Silvery? -- What makes Silvery different
Building
- Layouts -- Flexbox layout for terminal UIs
- Styling -- Semantic colors and typography
- Theming -- 23 built-in palettes and custom themes
- Scrolling -- Scroll containers and virtualization
- Hooks -- useBoxRect, useInput, useApp, and more
Runtime
- Runtime Getting Started -- Five lines to a working app
- Runtime Layers -- Renderer architecture and the Term abstraction
- Runtime Migration -- Migrating to
silvery/runtime - Imports -- Import conventions and package structure
Comparisons
- Silvery vs Ink -- Detailed comparison with React's other terminal renderer
- Silvery vs BubbleTea -- Cross-language comparison with Go's TUI framework
- Silvery vs Textual -- Python alternative
- Silvery vs Blessed -- Legacy Node.js terminal library
Terminal Deep Dives
- Event Handling -- DOM-style events on components
- Input Limitations -- Terminal keyboard protocol constraints
- Kitty Protocol -- Full Kitty keyboard protocol support
- ANSI Layering -- How Silvery processes and optimizes ANSI output
- Layout Engine -- Pluggable layout engines (Flexily, Yoga)
- CSS Alignment -- W3C CSS Flexbox spec alignment
- Cursor API -- Terminal cursor position and visibility
- TextArea Design -- Multi-line text editing architecture
Testing & Debugging
- Testing -- 870+ tests and createRenderer for your apps
- Debugging -- Devtools, environment variables, and diagnostic workflows
- Troubleshooting -- Common issues and fixes