favourite cli tools 2022

  • a big thank you to the people writing cli tools that install easily, run quickly, and don’t break because i upgraded node or ruby.
  • these are some of my current favourites:
    • json stuff
      • jq op json tool
      • jless is helpful when looking at a big chunk of json that you want to grok the shape of – it’s interactive, has nice “copy this as a jq path” and search features
      • gron is a great way to point at a very specific part of a json doc, or to pipe to ripgrep
      • curl --json – set your headers and data all in one. Daniel Stenberg is a real inspiration, i really like the “2nd best developer in Sweden 2016” bit on his website
    • gnu stuff
      • sed, date, etc are all a lot more useful than the old bsd ones that ship on mac.
      • stow helps me install dotfiles and that’s all
    • git
      • git switch and git restore entirely replacing my use of git checkout good riddance
      • git merge (--ff-only by default) i used to be a rebase guy, now i merge mostly, and i like it more because it preserves history and it’s one conflict to deal with instead of one for every commit. it’s cool how fossil doesn’t have rebase at all. i still rebase on some projects where i care about creating a nicer pull request to review that doesn’t include every bump in the road.
      • gh makes the onerous process of forking a github repo and making a PR very easy, and even stuff like making and merging a PR better. it’s got built in support for aliasing which is nicer than trying to remember all the flags i need to skip the whole interactive mode when doing common tasks.
        • gh poi is an extension for gh that deletes local branches that are safe to go (i.e. there were deleted through the github website)
    • misc
      • hivemind runs processes defined in a procfile
      • glow renders markdown right in your terminal nicely
      • llm is a great cli interface for running prompts against llms, it very friendly to configure (setting api keys, model defaults) and despite being based on python it was straightforward to install via homebrew. i really appreciate it’s -c flag that lets you continue conversations in a chat gpt type of way (added Aug 2, 2023)
    • remakes
  • giving a read over CLIG helped me appreciate the nice user friendly design of these.
  • some cli tools i’d like to learn in the future are
    • [[git-branchless]] or some sort of “trunk based” vcs
    • awk: i grit my teeth and write regexes into sed on the regs, but every time i come across an awk snippet it looks like a better way of life
© 2024 peter schilling