I’ll be one of the first people to say I’d rather click pretty GUI buttons to configure things instead of using a command line such as Command Prompt, Terminal, Bash, etc. I get that it’s powerful and a lot easier to manage, but there’s still something to be said about the convenience of clicking with a mouse vs typing a bunch of stuff. Have you ever found yourself forgetting a command? What about remembering all the different flags? I know I do. I You can easily look them up, but it’s so much easier to find a checkbox.

But it does….right?

Sure, most command lines have tab + tab functionality to complete stuff. You can also usually type -help or -h for some hints as well. This is cool but not exactly what I’m talking about. I’m thinking of something similar to your IDE where you get a dropdown with options and a short helpful description of the option and parameters.

Intellisense to the rescue!

How many times have you copied a command from an online source vs. remembering it all and power typing it out? Commands like sed '/./=' myFile.txt | sed 'N; s/\n/ /', and find . -type f -name "*.gz" -exec zgrep 'GET /foo' {} \; make my eyes water. Imagine popping up terminal and hitting Ctrl + Space, and window pops up with sed or find as options in it. Then when you type find, the next set of options and would show up. Perhaps, typing - would show all the flags available. All of this might be the perfect middle ground between the command line and nice GUIs!

Cool concept, but how would you develop against it?

Easy! Let’s pretend like we just invented Docker. There would be some .json or .yml configs that the command line would read from. When someone install Docker, it would add a set of command options to this config. So something like,

{
    'docker':{
       'ps':{
        'flags':{
            `a`: {
                description: 'This does stuff'
            }
        }
       },
       'run':{
       },
       'build':{

       }
    }
}

It’s probably already out there!

If this exists, or it’s being developed, shout it out in the comments below! I’ve looked at iTerm and something other options, but nothing looks exactly like this concept.