“I recognise the need to FI from MAIN to each DEV/CR branch on a regular basis, is there a way to automate this to run on check-in or every night perhanps? I've looked into this and keep reading about CI - but I can't find any practical demonstrations of how this might be achieved.”
Even if it was an easy thing to do (and I don't think it would be) I don't think it is practical to automate the forward integrations from MAIN to the DEVELOPMENT branches. One of the significant costs of adding branches to a branch plan is the cost, in time and labor, to resolve merge conflicts. Often there may be no merge conflicts on the FI from MAIN to DEVELOPMENT, for example there have been no changes in MAIN since the prior FI. But when there are merge conflicts, how would you automate the resolution of these conflicts. I think it would be risky to think of this process as something that could be automated.