This repository was archived by the owner on May 13, 2020. It is now read-only.

Description
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)
- rework the https://github.com/ponylang/library-project-starter to be compatible with this setup
Any thoughts on this?