As a nuget package the same as Fody
Optionally replace/add cs files to the build pipeline in a similar wat to GFV
https://github.com/Particular/GitFlowVersion/blob/master/GitFlowVersionTask/UpdateAssemblyInfo.cs#L25 https://github.com/Particular/GitFlowVersion/blob/master/GitFlowVersionTask/NugetAssets/GitFlowVersionTask.targets#L26
So at build time all the cs can be loaded into a roslyn model and passed to the addins for manipulation
Nuget packages with a naming convention the same as fody
Each addin gets access to roslyn model for the current project and can choose to manipulate it
Possible write new cs file to build temp in the same way that Costura does??
I've created a proof of concept for syntax rewriting.
https://github.com/distantcam/RoslynSandbox
It works pretty well, and there's no IL code writing anywhere in sight.