VOOZH about

URL: https://dev.to/orestesgaolin/building-tuis-with-dart-has-never-been-easier-1ib2

⇱ Building TUIs with Dart has never been easier - DEV Community


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
πŸ‘ Image
πŸ‘ Image

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
πŸ‘ Image
πŸ‘ Image
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
πŸ‘ Image
πŸ‘ Image

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.