.github
(as a repo name in your user/org) can be used to provide default files for other repos. Some details on the contents of .github are in this discussion, and the general docs are over here.
With starter workflows, all the work is already done in your .github
repo, and you just need to enable and configure (if needed) the actions before they can be run (see the docs).
With reusable workflows, you will still have to specify that you're pointing to an upstream workflow (with uses
). This could be done in a template, and would still reduce config drift, but might be an annoyance.
An alternate solution might be to write your own CLI tool that generates the appropriate files, or if you use the gh
cli tool, to use the --template
flag (you could even wrap it in a shell function, like gh_init() { gh repo create "$1" --template="my_user_name/my_template_repo"; };
).