I created @rnx-kit/metro-service from code in @react-native-community/cli to give us immediate access to calling Metro programmatically.
Check with @react-native-community/cli devs -- grabbou specifically -- about factoring out the code that talks to metro.