Be considerate
Respect the hardware you're running on
Be mindful of the kind of hardware you are running on, or will be running on. What are the limits or what is already in stress? RAM (for example, Raspberry Pi), CPU?, network?, IO?
Respect the user's troubleshooting time
Offer logging with levels (debug, verbose, info, warn, error), or a good debugging story in general
No tracking or spying
Try your best not to intentionally track or spy on end users, especially if they are developers which deal with sensitive data, naturally
Offer more convention over configuration
Respect your users by offering sane and safe defaults, by convention. With that, do give ways to override with configuration
Don't break existing things
No body likes a tool that installs and breaks a few other tools afterwards. Try not to do that and be mindful of what you could break, or package your tool in a way that can break nothing (Docker container)
Try not to surprise your users
Software updates can be one nasty surprise if not done right. Let your users know about updates, if possible offer to opt-into update risk levels (e.g. stable, beta, canary)