We currently have some kind of template for setting up a new project: https://github.com/ponylang/library-project-starter but setting this up is a tiny bit cumbersome as one has to replace all variables defined therein somehow manually or with a custom sed script or the like.
My suggestion is somehow inspired by giter8 and sbt which exist in the scala world. With these tools it is possible to define a template as a github repository containing variable placeholders (and default values for some or all of these). And then just call sbt new <github-org>/<repo> to populate a directory with all the boilerplate for some kind of setup. There can be any kind of templates for different setups and different tastes. Creating them is actually super-easy.
It would be very awesome to have something similar for ponylang. This entails the following moving parts:
a very simple templating engine (just replacing variables in files from a given set of values in a Map)
a new stable subcommand (new would be my suggestion) that uses the template repository to template-replace all files into a given location
this should ask for values for every found variable in the template first before actually replacing them, or ask for input for them on hitting them in the process
maybe this should honour a special file containing default values (e.g. .stable-new-defaults.ini)
We currently have some kind of template for setting up a new project: https://github.com/ponylang/library-project-starter but setting this up is a tiny bit cumbersome as one has to replace all variables defined therein somehow manually or with a custom sed script or the like.
My suggestion is somehow inspired by giter8 and sbt which exist in the scala world. With these tools it is possible to define a template as a github repository containing variable placeholders (and default values for some or all of these). And then just call
sbt new <github-org>/<repo>
to populate a directory with all the boilerplate for some kind of setup. There can be any kind of templates for different setups and different tastes. Creating them is actually super-easy.It would be very awesome to have something similar for ponylang. This entails the following moving parts:
Map
)new
would be my suggestion) that uses the template repository to template-replace all files into a given location.stable-new-defaults.ini
)Any thoughts on this?