The dev also "knows" that 'star' is available as an abbreviation. And in a realistic set of options for a real tool like git, there might be combinatorially many possible abbreviations which he now has to "know" and think about every possible intersection or ambiguity.
Of course I personally would go with option two, where its documented that the abbreviations exist but are subject to change and you shouldn't rely on them.