I can understand that. It'd would help if this feedback is verified by trying out in practice. Sometimes giving an honest attempt changes our minds, sometimes it doesn't.
I am keeping this feedback in mind though I also know we can't satisfy everyone and we'll need to weigh out the feedback from a variety of people with overall design goals.
That said, there is another route we can explore depending on the reception
- Add a short flag for feature (and have approval of that act as as a proxy for approving it for all of cargo)
- Make the various crate flags position-sensitive. Clap tells us the relative position of each occurrence of a flag so we can map flags to crate names.
- e.g.
cargo add serde -F derive serde_json
would be likecargo add serde +derive serde_json
We would have a more explicit and more complete version of +
arguments and completely remove modality. It would come at the cost of increased implementation complexity and any potential user confusion due to the rarity of position-sensitive flags.