Building TUIs with Dart has never been easier

1 minute read

Ever since Norbert announced Nocterm, I wanted to use it for myself. I played a bit at first, but only recently with the help of LLMs and amazing documentation I was able to build something usable.

disk_analyzer_cli

I first started with simple disk_analyzer utility. It scans the disk and shows big folders and files.

Main window Treemap

I guess I need to drop _cli now as it’s a TUI.

dart pub global activate disk_analyzer_cli
# or
brew tap orestesgaolin/tap
brew install disk_analyzer_cli

git_chain

I often chain my PRs and have a few scripts to synchronize them all. However, when I worked with my colleagues in the same chain, I didn’t want them to have to go through that same process. So I spinned up nocterm again and built a git chain synchronization tool. GitHub is working on a proper UI for that called GitHub Stacked PRs.

Before sync During sync
dart pub global activate git_chain
# or
brew tap orestesgaolin/tap
brew install git_chain

git_branches

Another little tool called git_branches resulted from me having to delete over 100 stale branches. We merge branches to main with squashing so they just linger in my local git workspace. I didn’t want to remove them blindly, so simple pick and choose TUI was the best solution.

Main screen Delete screen

Next up… merge conflict resolution tool maybe?

dart pub global activate git_branches
# or
brew tap orestesgaolin/tap
brew install git_branches

Nocterm

If you haven’t tried yet, give nocterm a try.