knowledge/scala/ currently detects the language, sbt, ScalaTest, scalafmt, and WartRemover. That misses the second-most-common build tool and most of the test/lint layer, so a Mill or scala-cli project reports Scala-the-language but no package manager, and a MUnit-based project reports no test tool.
Build / package manager
Test
Lint
sbt detection
knowledge/scala/currently detects the language, sbt, ScalaTest, scalafmt, and WartRemover. That misses the second-most-common build tool and most of the test/lint layer, so a Mill or scala-cli project reports Scala-the-language but no package manager, and a MUnit-based project reports no test tool.Build / package manager
category = "package_manager"; detectbuild.mill,build.sc,.mill-version;run = "./mill __.compile".project.scalaor a*.scalacontaining//> using;run = "scala-cli compile .".Test
"munit"substring inbuild.sbt/build.mill/build.sc."specs2"substring."utest"substring.Lint
.scalafix.conf."scapegoat"inbuild.sbt/project/plugins.sbt.sbt detection
knowledge/scala/sbt.tomldetect.filescurrently matches only the literalbuild.sbt. Adding"*.sbt"and"project/build.properties"would catch projects that name the root file differently or define the build purely underproject/.