Mill supports three main ways of defining {language} projects:


* xref:#_declarative_configuration[]: simple projects that require basic setting
of dependencies and versions

* xref:#_single_file_scripts[]: small programs with both code and build configuration
  contained within a single file

* xref:#_programmable_configuration[]: builds requiring custom logic, e.g.
  code generation or resource processing

This page walks through a series of Mill builds of increasing
complexity to show you the key features and usage of the Mill build tool.
The other pages of this section of the docs go into more depth into individual Mill features:
xref:{language-small}lib/testing.adoc[testing],
xref:{language-small}lib/publishing.adoc[publishing], and so on. Every example
can be downloaded to try it yourself.

The API reference for Mill's {language} toolchain can be found at
{mill-doc-url}/api/latest/mill/{language-small}lib.html[mill.{language-small}lib]
