Comment by rk06

1 day ago

a new user should not expected to know whether to use "--info", "--help", or "-info" or "/info"

A power user can just pass the right params. Besides, it is not that hard to support "--yolo" parameter for that use case

Would you enjoy writing `rm --yolo file` instead of `rm file` every time?

  • In this case, "file" is the arg, not --yolo. `rm` without any args returns `` rm: missing operand Try 'rm --help' for more information. ```

    `oxfmt` should have done the same and `oxfmt .`, with the desired dir ".", should have been the required usage.

    • I expect invoking a command-line tool without any arguments to perform the most common action. Displaying the help should only be a fallback if there is no most common action. For example, `git init` modifies the current directory instead of asking you, because that’s what you want to do most of the time.

  • No, but we're not talking about `oxfmt file` here, but `oxfmt` with no argument.

    I don't expect `rm` with no argument to trash everything in my CWD. Which it doesn't, see sibling's comment.

  • Not taking a position but the design of rm strengthens the position that recursive by default without flags isn’t ok. rm makes you confirm when you want changes to recurse dirs.

I know feels aren't the objective truth but I feel like most people would default to running "new-cli-tool --help" first thing as a learned (defensive) habit. After all quite a bit of stuff that runs in a terminal emulator does something when ran without arguments or flags.

  • I feel most people should refer to manual before running arbitary command. but that's because "crontab -r" has taught me this the hard way.

    new devs should not learn these things the hard way