Viklund Random thoughts


tfs: Azure DevOps Server in the terminal

On-premises Azure DevOps Server, the product formerly known as TFS, is painful to use in a browser. Every page is slow to load, and the small things I do all day take far too many clicks: checking what’s waiting for my review, moving a work item to Active, creating a branch for it, finding out why a build failed. So I built tfs, a terminal client for it.

Running tfs on its own opens a home screen of what’s waiting for you: pull requests to review, release approvals, and how your own pull requests, builds and work items are doing. The rest is a command away:

tfs wi tree                          # the backlog from Epic to Task, reorderable
tfs wi branch 1234                   # feature/1234-<slug> from the latest default branch
tfs pr create --submit               # push, create the PR, link the work item
tfs build log 1234                   # logs of the failed tasks
tfs release approve 142 --stage Prod

In a terminal the views are interactive, built with Bubble Tea. When piped they print plain tables, or JSON with --json, so the same commands work in scripts. It’s written in Go and supports Azure DevOps Server 2019 and later.

brew install ville6000/tap/tfs