Sorry, I didn&#x27;t see your question before. I don&#x27;t know if you&#x27;ll see my answer now, but here is what I dislike about SBT:<p>- It&#x27;s unclear whether SBT wants you to write build.sbt or build.scala project files. It&#x27;s recommended you use build.sbt by default, but I&#x27;ve seen plenty of &quot;simple&quot; projects, sometimes examples but often templates generated by tools, which default to build.scala. And now I&#x27;ve read build.scala is deprecated...<p>- The syntax of build.sbt is confusing. Is it Scala? Is it a DSL? Knowing Scala is certainly not enough to understand SBT (even for build.scala files!), but if I remember correctly one of its selling points was that it was &quot;just Scala&quot;.<p>- Let&#x27;s get not started about build files for build files...<p>- The structure of the file is confusing. I never know when defining a key is going to work or not. There seem to be tons of ways of doing something, which is fine in a general-purpose language but undesirable in a configuration format!<p>- The many third-party plugins are confusing to configure and are often poorly documented, which reminds me of Maven&#x27;s discouraging &quot;plugin hell&quot;... I don&#x27;t think I&#x27;ve ever seen a plugin for Maven which was adequately documented, which means you end up copying someone else&#x27;s configuration without fully understanding it. I fear SBT is the same.<p>- Neither IntelliJ nor Scala IDE are entirely happy compiling SBT&#x27;s project files. Thankfully the support has gotten better, but it&#x27;s not 100% there yet. This used to be <i>maddening</i> in the recent past; a &quot;compiled&quot; project file which your IDE fails to properly understand is unusable!