Giter8 skeleton for scala libraries with an opinionated structure.
-
GitHub Actions for automated builds and tests.
-
liancheng/scalafix-organize-imports for imports organization
-
MUnit used as test framework
-
Metals support for VSCode as Scala IDE
-
scala-compiler-options to setup compiler options
-
scalameta/scalafmt for formatting
-
Scala Steward GitHub Actions to keep your project up to date
Apply the template with SBT:
sbt new janjaali/scala-lib.g8
To run scripted test (provided by Giter8Plugin) execute:
sbt g8Test
To test the template locally create a new directory (not in this project folder) and run:
mkdir testDir
cd testDir
sbt new file://../scala-lib.g8/