ziggy is a Zig terminal UI library for building structured text interfaces, interactive shells, and agent-style applications.
Open-source home: https://github.com/mexyusef/ziggy
The library is already usable for real experiments and internal tools, but the API is still settling.
Program(Model, Msg)runtime for state-driven terminal apps- Screen model, diff renderer, terminal parser, and console setup helpers
- Layout primitives such as
Box,Pane,Split,HStack,VStack,Spacer, andDivider - Input and data widgets including
Input,TextArea,List,Table,Checkbox,Dropdown,Slider, and more - Agent-oriented UI pieces such as command dialogs, overlays, toasts, breadcrumbs, and shell chrome helpers
src/library codeexamples/runnable demosscripts/helper launcher for examplesdocs/working notes
- Zig
0.15.2
zig build test
zig build example-shell
zig build example-dialog
zig build example-widgets
zig build example-interactive
zig build example-full
zig build example-controls
zig build example-editorpython .\scripts\run_examples.py --list
python .\scripts\run_examples.py
python .\scripts\run_examples.py interactive
python .\scripts\run_examples.py controls --build
python .\scripts\run_examples.py editor
python .\scripts\run_examples.py editor --new-windowexample-interactive and example-editor should be run inside a real terminal window rather than piped stdin.
Until tagged releases are published, the simplest setup is a local path dependency:
.dependencies = .{
.ziggy = .{
.path = "../ziggy",
},
},cirebronx: usesziggyfor its TUI modefmus-zig: shared utility foundation
MIT. See LICENSE.