Guides

February 8, 2024 · View on GitHub

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 old scala 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.