We've done a CLI tool for parameterisation (Go templated YAML files for global, env and app/module) - also runs a set of modules in right order based on another YAML file. Works nicely, using Pulumi Automation API.
We also run Terraform (via Terragrunt) under same CLI, and do K8s manifest templating (Helm-like but without Helm).
This is a pattern I've seen in various places before using Pulumi, ranging from wrapper shell scripts to Ansible to custom CLIs.