There's a whole graveyard out there of "next-gen" terminal projects, and none of those still alive seems to be gaining dominance. I don't think writing down a spec would help this, but it would be great if whatever emerged victorious had one.
I'm a super confused soul, and currently I use all of them:
- Emacs (for clojure / lisps / big projects).
- NeoVim (for when I want to work in the shell, smaller scripts/playground, ssh).
- VScode (js / ts / frontend / figma / etc).
I've made both my vim and emacs keybindings / features almost identical, so there is limited context switching there.
I feel very slow in VSCode, I don't even have one of my most common task optimised in VSCode yet: grepping something and quickly moving to that buffer.
And this isn't coming from some FOSS ideology. I don't personally care about any of that, but the best tools are sometimes FOSS. I've got a Mac and can deal with Linux as needed.
If you need reporting on the scripts your developers are running on their local machines, that probably means they have too much access to live environments. Guardrails and reporting should be in your CI/CD process and your source control.
Shells like fish or shell plug-ins already handle autocomplete nicely, so that feature isn’t that useful.
If you need env/dotfile management you probably need to spend time making a proper development environment rather than shimmying in a tool to make doing the wrong thing easier.
SSH key management is so trivially accomplished by numerous methods like configuration management or built-in solutions offered by cloud providers. Plus, most development teams almost certainly give out too much SSH access as it stands.
If you need to SSH regularly that means your application isn’t shipping logs and your local development tooling isn’t good enough.
I may be becoming a dinosaur, but it's not that I'm not willing to try new things. On the contrary, after many years of being rigid about having one true development environment, I've moved away from Emacs to VS Code, and work from more heterogeneous environments instead of being 100% Mac. So these platform-specific thick client apps no longer feel like the way to go.