oyvindberg / bleep

A bleeping fast scala build tool!
MIT License
145 stars 21 forks source link

[idea] interactive build creation / template builds #414

Open KristianAN opened 1 month ago

KristianAN commented 1 month ago

creating new builds with vite has this nice feature where you select from common frameworks. test frameworks and if you want a TypeScript project. I think this would be a really cool feature to have.

These templates would have to build on some common Scala use-cases.

Some common template ideas:

Web

Frontend

Scala-native

Fullstack

This kind of thing would be an adoption booster as it would get people into coding much faster. We could reuse sbt g8 templates and import the sbt builds, but I don't think this would provide a good experience. Rather we could set up some common interface for adding a template. The issue with keeping the templates in bleep is that the maintenance burden is on bleep maintainers. I think identifying the most commonly used project structures and adding those would be important.

Personally I think the benefits would outweigh the costs on this one if adoption is a long term goal.

oyvindberg commented 1 month ago

this would be a very good feature. some things are in place for this already with bleep build new, where you can specify wanted platforms and scala versions, and it'll generate a (cross) build for you. it wouldn't take too much to support adding a bunch of dependencies on demand, and some very simple code fragments

sideeffffect commented 1 month ago

There's already this for templates (maybe even interactive). https://www.foundweekends.org/giter8/

Bleep could have a built-in repository of blessed templates for common setups (while also allowing for arbitrary ones).

KristianAN commented 1 month ago

using g8 we could fork already established sbt templates and rewrite them to bleep and give them our "blessing", similar to the sbt-plugins.

sideeffffect commented 1 month ago

Or just create g8 templates designed for Bleep from the start...

KristianAN commented 1 month ago

Or just create g8 templates designed for Bleep from the start...

Sure, if that is less work :)