Why it matters

sbt is Scala's Maven. Understanding shapes daily developer experience.

Advertisement

The architecture

build.sbt: project settings as Scala DSL.

plugins.sbt: build plugins.

sbt structurebuild.sbtsettings + depsTaskscompile, test, runPluginsextend functionalityIncremental compilation via Zinc; fast rebuilds on changes
sbt components.
Advertisement

How it works end to end

Cross-building: same code for multiple Scala versions.

Multi-project builds: monorepo support.

Repl: sbt console for interactive REPL.

Alternatives: Mill (simpler), Bazel (large-scale).