Nocterm: Build Terminal UIs the Flutter Way
- Jean-Christophe Miler
- Open source , Dart , Terminal
- April 2, 2026
Table of Contents
If you’ve ever wanted to build beautiful terminal applications but found traditional approaches cumbersome, Nocterm might be exactly what you need. This Flutter-inspired TUI (Terminal User Interface) framework brings modern UI development patterns to the command line.
What is Nocterm?
Nocterm is a powerful, Flutter-inspired Terminal User Interface framework for building beautiful command-line applications in Dart. It allows developers to create rich, interactive terminal applications using familiar Flutter patterns like StatefulComponent, setState(), Column, Row, and more.
Key Features
- Declarative UI: Build terminal interfaces using the same component-based design you know from Flutter
- 45+ Built-in Components: Row, Column, ListView, TextField, and many more
- 6 Themes: Nord, Dracula, Gruvbox, and others out of the box
- Hot Reload: See your changes instantly without restarting
- Testing: Built-in testing utilities to test your TUI components
- Animations: Support for animations and mouse interaction
- Differential Rendering: Efficient updates for optimal performance
Getting Started
Getting started with Nocterm is incredibly simple. Just add it to your Dart project:
dependencies:
nocterm: ^0.6.0
Then create your first component:
class Counter extends StatefulComponent {
int count = 0;
Component build(BuildContext ctx) {
return Column(
children: [
Text('Count: $count'),
Button(
onPressed: () => setState(() => count++),
child: Text('+'),
),
],
);
}
}
What Can You Build?
Nocterm is versatile enough to build various applications:
- Dashboards: System monitors, server dashboards, DevOps tools
- Chat Apps: IRC clients, messaging tools
- Productivity Apps: Todo apps, note takers, project managers
- Dev Tools: Code generators, API testers, database CLIs
- Smart Home: Home automation dashboards
- Games: Roguelikes, text adventures, puzzle games
Comparison with Other TUI Frameworks
| Feature | Nocterm | Bubble Tea | Ratatui | Textual | Ink |
|---|---|---|---|---|---|
| Language | Dart | Go | Rust | Python | Node.js |
| Hot Reload | ✓ | ✗ | ✗ | ~ | ~ |
| Declarative | ✓ | ✓ | ✗ | ✓ | ✓ |
| Flutter-like API | ✓ | ✗ | ✗ | ✗ | ~ |
| Testing | ✓ | ~ | ~ | ✓ | ~ |
| Animations | ✓ | ✓ | ~ | ✓ | ~ |
| Learning Curve | Low* | Medium | High | Medium | Low** |
*Zero learning curve for Flutter/Dart developers **Low if you know React
Community and Ecosystem
Nocterm has a growing ecosystem:
- nocterm_bloc: Bloc state management for Nocterm
- nocterm_lints: IDE assists — wrap with, swap, move, convert to stateful/stateless
Built projects include:
- vide_cli - Multi-agent coding IDE
- nocterm_3d - Experimental 3D renderer
- cow - Local LLM chat client
- snake - Classic Snake game
- minesweeper - Minesweeper game
Conclusion
If you’re a Flutter developer looking to build terminal applications, Nocterm offers a seamless transition with almost zero learning curve. With 302 GitHub stars, active development (330+ commits), and a growing community, it’s quickly becoming the go-to choice for building modern TUI applications in Dart.
