/rɪˈvjuː/ — Re + Vue — A Vue-style TUI framework for Rust
Quick Start · Examples · Documentation · Contributing
Why Revue?
Build terminal UIs like you build web apps — with CSS and reactive state.
- CSS Styling — Write styles in familiar CSS syntax with variables, selectors, and animations
- Reactive State — Vue-inspired
Signal/Computed/Effectsystem for automatic UI updates - 80+ Widgets — Rich component library: inputs, tables, charts, markdown, images, and more
- Hot Reload — See CSS changes instantly without restarting your app
- Developer Tools — Widget inspector, snapshot testing, and performance profiler built-in
- Single Binary — Pure Rust, no runtime dependencies, blazing fast
Quick Start
use *;
/* styles.css */
}
}
}
Widgets
| Category | Components |
|---|---|
| Layout | vstack hstack grid scroll tabs accordion splitter |
| Input | input textarea select checkbox radio switch slider |
| Display | text markdown table tree list progress badge image presentation |
| Feedback | modal toast notification tooltip popover |
| Charts | barchart line_chart sparkline heatmap gauge |
Examples
Comparison
| Revue | Ratatui | Cursive | Textual | |
|---|---|---|---|---|
| Language | Rust | Rust | Rust | Python |
| Styling | CSS | Code | Theme | CSS |
| Reactivity | Signal | Manual | Event | Reactive |
| Hot Reload | ✅ | ❌ | ❌ | ✅ |
| Devtools | ✅ | ❌ | ❌ | ✅ |
Documentation
- API Reference — Full API documentation
- Styling Guide — CSS properties and theming
- Features — Widget catalog and capabilities
- Architecture — System design
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
&&
License
MIT License — see LICENSE for details.
Built with Rust