pass-cli
Hello I just downloaded pass-cli on the beta channel using the curl command provided at https://protonpass.github.io/pass-cli/get-started/installation/
To be honest I don't have any particular NEED for accessing the cli tool, but figured I would install it because who knows, maybe i'd find some use for it.
Instantly I was met with an issue that frankly I find unacceptable from a company the size of proton... You release a brand new cli tool, and don't include a manpage... I get that the documentation is available online, and pass-cli help/ --help provide a tiny bit of assistance, but come on. I feel like the creation of a manpage has to be the easiest thing possible when it comes to developing any cli tool, and if you can't do that we're supposed to somehow trust you with the most sensitive/ valuable information on the face of this earth?
at first I was going to complain about the fact you don't provide command completion. Because typically upon installing a new cli tool the very first thing is "command" <space> <tab> followed by "command" <space> "-" <tab> So I can get an idea of what sub commands/ options are available to me. Not all tools provide completion though, and I reluctantly accept that fact when faced with it. However after that test failed, and I went to open the man page just to be greeted by "No manual entry for pass-cli" I was genuinely turned off.
This means that every time I want to do something I'd have --help multiple times until I figure out what my final command needs to be, and even still that's not always enough e.g.:
1. pass-cli --help
2. pass ssh-agent --help
3. pass ssh-agent load --help
to finally get:
Load SSH keys from Proton Pass into the system SSH agent
Usage: pass-cli ssh-agent load [OPTIONS]
Options:
--share-id <SHARE_ID> Share ID of the vault to load keys from
--vault-name <VAULT_NAME> Name of the vault to load keys from
-h, --help Print help
So I try:
pass-cli ssh-agent load --vault-name Notes --help
Which gives me the same help prompt as above, so I just try:
pass-cli ssh-agent load --vault-name Notes
And I am met with:
Error: Failed to load SSH keys from vaults
Caused by:
0: Failed to load SSH keys from vaults
1: Error finding vault
2: Could not find vault Notes
No I do not have any ssh keys in that vault, but what if I had multiple. What do I do? Theres no tab completion to give me a hint at the next input, no man page to load up to definitively answer that question. Luckily I still had https://protonpass.github.io/pass-cli/get-started/installation/ open in my browser so I didn't have to twiddle around for too long just to find out you can only import all ssh keys within a vault in one go instead of individual ones, but that shouldn't be the case. And if your tool requires that the user reference a document webpage in order to use it, you absolutely should have a way for the user to easily pull up said webpage whenever they need it i.e. linking it in the man page that doesn't exist.
EDIT:
As if that wasn't enough I decided to remove the tool until until it has gone through it's teething process a bit, and shocker (sarcasm. I'm not at all shocked at this point) theres no uninstall instructions. I'm afraid to even "rm -rf ~/.local/bin/pass-cli" at this point even though I believe (hope) that is the only thing the curl command installed on my system because I wouldn't be surprised if doing so would leave behind some orphan files. Whereas leaving it installed until an update adds an uninstall command or more documentation is created explaining how to properly uninstall the tool. Come on proton. At this point I've been a Proton Unlimited subscriber for over 2 years meaning I personally have contributed over $300 of my hard earned money to the company. I expect better from you.