There are lots of ways to delight your users. Do the right thing. Do what they expect you to do. Figure out what they want even when they don't know or spell it wrong. You're probably familiar with the way search engines will take your search string, fix a misspelling, then run the search and make sure that's what you mean. And they do that for more than simple transpositions like teh -> the or nad -> and.
Other places you might see it is in git. If you've ever tried to run
git status and typed
git stats instead you've seen it tell you that you meant
status. Arc goes one step further. If you run
arc diff --no-lint arc will respond with
(Assuming '--no-lint' is the British spelling of '--nolint'.) and then do what you meant. Git can do the same thing, but by default it just tells you the options. Facebook gives you extra passwords
If you've ever wondered how they do that, one common way is to check for valid words, then, for invalid words use something called the levenshtein distance to find the best alternative. Once you have alternatives you can present them to your user and maybe ask them if they want to try one. We do the first part in the `infra` cli.
Or, you can go the sl route (
brew install sl on OSX or
sudo apt-get install sl on linux) and just have something that handles a common typo. And don't suggest lots of aliases. That's just no fun