Introduction
Ansiq is a Rust TUI framework for terminal applications that need to stay alive, handle streaming output, and manage viewport behavior.
If your application needs more than “draw a few widgets and return”, Ansiq is aimed at problems like these:
- long-running sessions
- continuous incoming data
- focus and input routing
- localized updates instead of whole-screen rebuilds
- viewport and scrollback management
Ansiq is not just a widget kit. It is designed as a terminal runtime with a retained UI tree and a signal-first reactive model.
What Ansiq is good at
Ansiq is currently a strong fit for:
- AI or agent workbenches
- realtime monitoring dashboards
- explorers and browsers
- terminal apps with clear panes, selection, detail views, and input surfaces
- software that needs one runtime to coordinate async work, focus, layout, and incremental rendering
What Ansiq is not
Ansiq is not:
- a browser-style DOM framework
- a widget package that ignores runtime concerns
- a finished 1.0 framework
The current state is better described as: a maturing terminal runtime core, with widgets, examples, and docs being brought into alignment around it.
How to read these docs
This documentation is organized by learning path, not by repository layout.
If you are new to Ansiq
Read in this order:
If you want to see complete applications first
Start with Examples Overview.
If you want to understand the internals
Go directly to Internals Overview and Runtime Boundary.
The concepts you will see repeatedly
You will keep seeing these terms:
- runtime-first
- retained tree
- signal-first reactivity
- subtree replacement
- framebuffer diff
Everything else in the docs builds on them.
One boundary to keep in mind
One of the most important Ansiq rules is:
The reactive system decides what became dirty. The UI runtime decides how the terminal should be updated.
That separation is one of the main reasons the architecture remains understandable.
Next
Continue with Quick Start.
That page gets you running through the most stable small example instead of throwing you into the most complex showcase first.