I hope wireguard improves it’s tooling. It feels a bit crude for me.
WireGuard has been very pro-active at adopting useful abstractions, personally I've used https://github.com/WireGuard/wgctrl-go to build https://github.com/jamescun/wg-api a JSONRPC server for WireGuard, so expect tooling to improve over time.
If you want to do something like make a point-to-point VPN, then wg-quick is that layer on top. If you want to build a mesh network from endpoints authenticated with a third-party identity provider, you want something like Tailscale. Wireguard is just a low-level building block that handles the crypto in those use cases; making something high-level is left as an exercise to the reader.
https://wiki.archlinux.org/index.php/WireGuard#Using_systemd...