Guides
This section covers some aspects of Scala CLI that apply across various commands. We have divided the available guides into categories, so that it's easier to find a relevant topic.
For concrete recipes that show you how to use Scala CLI in particular situations, refer to the cookbooks section.
Introductory guides
These few guides are a good starting point when learning how to use Scala CLI.
- Configuration - learn how to configure various options, and what configuration styles are best for each use case
- Dependencies - learn how to define dependencies within a Scala CLI project.
- Updating dependencies - learn about how to keep your dependencies up-to-date automatically with Scala CLI.
using
directives - Scala CLI’s syntax that lets you store configuration information directly in source files- IDE support - how to import and use Scala CLI-based projects in your favorite IDE.
- Scala Toolkit - how to use the Scala Toolkit dependency batch (and other dependency batches) in a Scala CLI project.
- Migrating from the old
scala
runner - an in-depth look at all the differences between Scala CLI and the oldscala
script.
Scripting guides
Guides on how to get started with Scala scripting with Scala CLI.
- Scripting guide - covers how Scala CLI allows for powerful scripting with Scala.
- Shebang - explains how to use the
shebang
sub-command in a script's shebang header.
Advanced guides
Less introductory guides on specific topics.
- Scala.js and Scala Native - learn how Scala CLI supports these non-JVM platforms
- Piping - covers how Scala CLI allows to work with piped sources.
- Snippets - learn how to use command line snippets with Scala CLI.
- Verbosity - learn how to control logs verbosity in Scala CLI.
- Java properties - learn how to pass Java properties to Scala CLI.
- Internals - learn about how Scala CLI works under the hood.
- Custom Toolkit - learn how to create custom toolkits
⚡️ --power
mode guides
- SBT and Mill export - learn how to convert your Scala CLI project into an SBT or Mill project (when you need a more powerful build tool).
- proxies - learn how to configure Scala CLI to work with proxies.
- Markdown - learn how to work with
.md
sources. - Python/ScalaPy - learn how to use Python libraries in Scala CLI projects.
- offline mode - learn how to use Scala CLI in offline mode.
- repositories - learn how to configure Scala CLI to work with custom repositories.