title: Humane guidance for sbt DSL
body: <p>I have yet to need to do something beyond entirely trivial with sbt, and not find myself wasting a whole lot of time. The <a href="http://www.scala-sbt.org/documentation.html" rel="noreferrer">official documentation</a> is story-like and cyclic, entirely not helpful for wrangling the DSL. The DSL, at large, is left undocumented other than its scaladoc. E.g. examine <a href="http://www.scala-sbt.org/0.13/tutorial/Basic-Def.html" rel="noreferrer">http://www.scala-sbt.org/0.13/tutorial/Basic-Def.html</a> as a case in point.</p>
  
  <p>Can someone recommend a humane tutorial or reference covering the topics of the last link, or alternatively, better yet, provide clear constructive descriptions for the following:</p>
  
  <ol>
  <li><p>Keys</p></li>
  <li><p>Settings</p></li>
  <li><p>Tasks</p></li>
  <li><p>Scopes</p></li>
  <li><p>Key operators and methods of the DSL relevant to the above entities/classes</p></li>
  <li><p>Key out-of-the-box objects that can be interacted with in the DSL        </p></li>
  <li><p>How to define and call functions as opposed to ordinary scala code,
  and are .scala build definitions really deprecated?</p></li>
  <li><p>How to split build definitions over several files rather than having one huge long pile of code in build.sbt (or, how to structure a .sbt file that you can still read a month later).</p></li>
  <li><p>Multi project <code>.sbt</code> v.s. bare project <code>.sbt</code> - how do you tell the difference?</p></li>
  <li><p>Is there any ScalaIDE support for sbt files?</p></li>
  </ol>
  
  <p><em>Please focus only on sbt 0.13.x, as everything else is getting old...</em></p>