How can I create administration panel roles programmatically

You could use the config-sync plugin. But that would still require you to configure everything through the GUI locally. After you’ve set it up though, you can just export everything and import it on other envs to programatically create/update/delete the admin roles.