I mostly switched to librem 14, arch linux (i3wm, gnome from time to time), still using a mac for work (mostly presentations, video conferencing). Development tends to get more and more difficult on the mac for me (the security check for running shell programs is sometimes annoying. Currently hunting down a node compile error ... works perfectly under arch).
For my mac: I tried Amethyst, as others mentioned Yabai seems better. Yet, I switched to just to hammerspoon scripts, for tiling/desktop management etc.: http://www.hammerspoon.org/ It fits my needs and is adjustable.
For shell: iterm2 is ok, yet I'm currently in love with kitty. https://github.com/kovidgoyal/kitty
Brew alternatives: macports, nix (https://nixos.org) I love the idea, yet still haven't gotten around to use it much.
shell: fish editor: nvim / neovide