I can vouch for general.el[1]. It's easy to use and it integrates with use-package clauses, which-key and evil states. You can look at my config[2] for examples.
1. https://github.com/noctuid/general.el
2. https://github.com/gekoke/dotfiles/blob/main/modules/program...