I have developed a bot using the Microsoft bot framework, to be used in a Teams app. It's all working and now I need to bring on board other team members to carry on adding new features etc. These new developers will probably be working at the same time on different features to the same bot.
We develop on our local machines using Visual Studio and running SQL for our core product (which the bot will consume as a service). The bot project runs a dev tunnel which is set up as the end point of the Azure bot in the Azure portal. The Azure bot has an OAuth connection set up that uses our own solution which is running locally on the developers machine, and accessed via another tunnel (we use NGROK for this).
As the OAuth end point is set up in the Azure bot, as is the messaging endpoint, what's the best practice for allowing multiple developers to develop the bot at the same time?
My first thought was to have an Azure bot set up for each developer with specific URLs for messaging end point and OAuth connection but this seems a little clunky, requiring the developers to manually alter the appsettings.json and manifest.json files each time they pull from git (not to mention remember to reset the files before pushing). Another option is to have developer specific files that aren't checked into Git. There must be a better way though?