i think it depends on the desktop manager (gnome, kde, cinnamon, xfce, etc) a little
possibly it can be wrapped up in ".desktop" files, i'm not sure how you abstract the "open in my favourite web browser" but certainly for example editors have an environment variable... i think maybe there is some XDG open command you can use that will just use the preferred browser on whatever URL you feed it
these will live in ~/.config/share/applications/
here's mine (i have steam installed, and a few others
https://cdn.satellite.earth/bc0ca8d96b670d436c9a84ed0e47eaca0f927a52385a6c5798b82416850f0a3b.png
and an example of one of the steam launcher .desktop files:
https://cdn.satellite.earth/6fd322feb66db38ebeda6198942fd3c069193b0bac8009979cd4ad7174c1744b.png