id = "coursier" name = "Coursier" homepage = "https://get-coursier.io/" description = "A Scala dependency and application manager" executables = ["cs", "coursier"] [dotfiles] # Coursier's official credentials documentation names the default property file # on Unix and the platform-specific macOS path. These files contain plaintext # repository credentials, so they are secret-bearing paths. # https://get-coursier.io/docs/other-credentials paths = [ "[configHome]/coursier/credentials.properties", "[appData]/Coursier/credentials.properties", ] secret = [] [[dotfiles.secret_paths]] file = [ "[configHome]/coursier/credentials.properties", "[appData]/Coursier/credentials.properties", ] match = { prefix = ["central.password", "mirror.password"] } [commands] format = 1 label = "Manage Scala apps and dependencies" description = "Install or remove Scala applications, search for them, and fetch dependency JARs with Coursier. Resolution, repository and cache options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["install"] label = "Install applications" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://get-coursier.io/docs/cli-install" revision = "2026-10-27" evidence = """ $ cs install scalafmt $ cs install scalafmt:2.4.2 $ cs install scala:2.12.15 scalac:2.12.15 """ [[commands.subcommand.field]] id = "apps" label = "Applications" description = "Names, optionally with :version." type = "string" position = 0 multiple = true min = 1 sources = ["docs"] [[commands.subcommand.task]] id = "install" label = "Install" fields = ["apps"] required = ["apps"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["apps"] [[commands.subcommand]] path = ["uninstall"] label = "Uninstall applications" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://get-coursier.io/docs/cli-install" revision = "2026-10-27" evidence = """ $ cs uninstall scala scalac $ cs uninstall --all """ [[commands.subcommand.field]] id = "apps" label = "Applications" type = "string" position = 0 multiple = true min = 0 sources = ["docs"] [[commands.subcommand.field]] id = "all" label = "Uninstall everything" type = "boolean" option = ["--all"] effect = "delete" sources = ["docs"] [[commands.subcommand.task]] id = "some" label = "Uninstall some" fields = ["apps"] required = ["apps"] [[commands.subcommand.task]] id = "everything" label = "Uninstall all" fields = ["all"] required = ["all"] set = { all = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["apps", "all"] [[commands.subcommand]] path = ["search"] label = "Search applications" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://get-coursier.io/docs/cli-install" revision = "2026-10-27" evidence = """ $ cs search fmt """ [[commands.subcommand.field]] id = "query" label = "Search text" type = "string" position = 0 min = 1 sources = ["docs"] [[commands.subcommand.task]] id = "search" label = "Search" fields = ["query"] required = ["query"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["query"] [[commands.subcommand]] path = ["fetch"] label = "Fetch dependency JARs" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://get-coursier.io/docs/cli-fetch" revision = "2026-10-27" evidence = """ $ cs fetch io.circe::circe-generic:0.12.3 $ cs fetch --classpath io.circe::circe-generic:0.12.3 $ cs fetch --sources com.lihaoyi:ammonite_2.12.8:1.6.0 $ cs fetch --javadoc com.lihaoyi:ammonite_2.12.8:1.6.0 $ cs fetch --dependency-file file_1 --dependency-file file_2 """ [[commands.subcommand.field]] id = "deps" label = "Dependencies" description = "org:name:version, or org::name:version for Scala libraries." type = "string" position = 0 multiple = true min = 0 sources = ["docs"] [[commands.subcommand.field]] id = "classpath" label = "Print as classpath" type = "boolean" option = ["--classpath"] sources = ["docs"] [[commands.subcommand.field]] id = "sources" label = "Fetch source JARs" type = "boolean" option = ["--sources"] sources = ["docs"] [[commands.subcommand.field]] id = "javadoc" label = "Fetch javadoc JARs" type = "boolean" option = ["--javadoc"] sources = ["docs"] [[commands.subcommand.field]] id = "dependency_file" label = "Dependency files" type = "path" option = ["--dependency-file"] multiple = true path = { kind = "file", role = "input", must_exist = true } sources = ["docs"] [[commands.subcommand.task]] id = "classpath" label = "Print a classpath" fields = ["deps", "classpath"] required = ["deps"] set = { classpath = [true] } [[commands.subcommand.task]] id = "sources" label = "Fetch sources" fields = ["deps", "sources"] required = ["deps"] set = { sources = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["deps", "classpath", "sources", "javadoc", "dependency_file"]