What about a single API for builds, implemented in multiple general purpose languages.
End users get to pick a familiar language to them.
Similar to how Pulumi is available in multiple languages.
Then code both builds and meta build concerns as you would code anything else.