I was just thinking of building a CLI tool that I can say “start me a X lang project”, with my preferred dir layout, files and default dependencies. Basically a “react-create-app” or “bundle init” for any language.
Is Framed a solution for that? From what I saw there’s no default file contents and ability to run commands?
An alternative is "uPlaybook": https://github.com/linsomniac/uplaybook (disclaimer, I'm the author). It is a YAML-based simple scripting that is focused on simple CLI-based automation, in particular file templating and secrets decryption.
uPlaybook is a small Ansible+CookieCutter combination. In the uPlaybook you can do simple shell-like operations, create files based on jinja2 templates, decrypt secrets, and do some looping/conditionals.
You can define parameters that the user needs to supply (for your "react-create-app" that might be app name, features you might optionally want), which uPlaybook turns into CLI arguments, or it can prompt the user to fill them out.