Does anyone have a recommendation for in-repo scaf...
# general
f
Does anyone have a recommendation for in-repo scaffolding? I want users to be able to scaffold out a new project in the monorepo easily. In the node world, I use hygen for this. I took a look at the docs and I don't see anything first-class built into pants. I saw some other folks in this Slack talking about cookiecutter, which seems promising.
h
In Toolchain I rolled a homemade thing, and then we didn't really use it. So I guess don't do that 🙂
😂 1
f
Seems like
cookiecutter
might be kinda dead based on this: https://github.com/cookiecutter/cookiecutter/issues/1810
Kinda scary to use that fork, though, since it's so new.
c
I’ve been playing with the idea of having first class support for hof templates in Pants.. (CUE based configuration language)
👀 1
f
First impression:
🤪 1
lol
Their docs seem better than
cookiecutter
, though, so far!
I'm actually looking at
kickstart
now, seems easier to work with than everything I've looked at so far: https://github.com/Keats/kickstart
I really like that they have a binary you can
brew install
(or download from GH releases) and that it's all configured with toml, which feels very in-line with
pants
.
hof
seemed scarier because it's configured with
golang
c
it’s implemented in Go, but it’s actually configured with CUE… (which has strong support for importing go stuff.. hence the connection)
but I get the scary bit, it’s a completely new syntax to get used to
f
Gotcha. I only looked at the docs for about 5 minutes before looking elsewhere
The nice part about Kickstarter is that it uses Tera, which is very jinja-like
That might be more approachable to the average pants user. Again, I didn't look into CUE much
c
it’s a bit like when comparing traditional programming languages with functional ones.. very different and if you’ve never worked with functional before it’s going to feel rather awkward.. while the tradeoffs are similar (CUE can validate your configuration according to a schema and is very good at that) so you get some sort of safety built in.. 🙂 using something jinja-ish is likely to give better productivity/easier to work with I guess 😛
f
Tradeoffs, for sure!
👍 1