{
  "id": "coursier",
  "name": "Coursier",
  "homepage": "https://get-coursier.io/",
  "description": "A Scala dependency and application manager",
  "executables": [
    "cs",
    "coursier"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/coursier/credentials.properties",
      "[appData]/Coursier/credentials.properties"
    ],
    "secret": [],
    "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
    },
    "subcommand": [
      {
        "path": [
          "install"
        ],
        "label": "Install applications",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://get-coursier.io/docs/cli-install",
            "revision": "2026-10-27",
            "evidence": "$ cs install scalafmt\n$ cs install scalafmt:2.4.2\n$ cs install scala:2.12.15 scalac:2.12.15\n"
          }
        ],
        "field": [
          {
            "id": "apps",
            "label": "Applications",
            "description": "Names, optionally with :version.",
            "type": "string",
            "position": 0,
            "multiple": true,
            "min": 1,
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "install",
            "label": "Install",
            "fields": [
              "apps"
            ],
            "required": [
              "apps"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "apps"
            ]
          }
        ]
      },
      {
        "path": [
          "uninstall"
        ],
        "label": "Uninstall applications",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://get-coursier.io/docs/cli-install",
            "revision": "2026-10-27",
            "evidence": "$ cs uninstall scala scalac\n$ cs uninstall --all\n"
          }
        ],
        "field": [
          {
            "id": "apps",
            "label": "Applications",
            "type": "string",
            "position": 0,
            "multiple": true,
            "min": 0,
            "sources": [
              "docs"
            ]
          },
          {
            "id": "all",
            "label": "Uninstall everything",
            "type": "boolean",
            "option": [
              "--all"
            ],
            "effect": "delete",
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "some",
            "label": "Uninstall some",
            "fields": [
              "apps"
            ],
            "required": [
              "apps"
            ]
          },
          {
            "id": "everything",
            "label": "Uninstall all",
            "fields": [
              "all"
            ],
            "required": [
              "all"
            ],
            "set": {
              "all": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "apps",
              "all"
            ]
          }
        ]
      },
      {
        "path": [
          "search"
        ],
        "label": "Search applications",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://get-coursier.io/docs/cli-install",
            "revision": "2026-10-27",
            "evidence": "$ cs search fmt\n"
          }
        ],
        "field": [
          {
            "id": "query",
            "label": "Search text",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "search",
            "label": "Search",
            "fields": [
              "query"
            ],
            "required": [
              "query"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "query"
            ]
          }
        ]
      },
      {
        "path": [
          "fetch"
        ],
        "label": "Fetch dependency JARs",
        "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\n$ cs fetch --classpath io.circe::circe-generic:0.12.3\n$ cs fetch --sources com.lihaoyi:ammonite_2.12.8:1.6.0\n$ cs fetch --javadoc com.lihaoyi:ammonite_2.12.8:1.6.0\n$ cs fetch --dependency-file file_1 --dependency-file file_2\n"
          }
        ],
        "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"
            ]
          },
          {
            "id": "classpath",
            "label": "Print as classpath",
            "type": "boolean",
            "option": [
              "--classpath"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "sources",
            "label": "Fetch source JARs",
            "type": "boolean",
            "option": [
              "--sources"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "javadoc",
            "label": "Fetch javadoc JARs",
            "type": "boolean",
            "option": [
              "--javadoc"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "dependency_file",
            "label": "Dependency files",
            "type": "path",
            "option": [
              "--dependency-file"
            ],
            "multiple": true,
            "path": {
              "kind": "file",
              "role": "input",
              "must_exist": true
            },
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "classpath",
            "label": "Print a classpath",
            "fields": [
              "deps",
              "classpath"
            ],
            "required": [
              "deps"
            ],
            "set": {
              "classpath": [
                true
              ]
            }
          },
          {
            "id": "sources",
            "label": "Fetch sources",
            "fields": [
              "deps",
              "sources"
            ],
            "required": [
              "deps"
            ],
            "set": {
              "sources": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "deps",
              "classpath",
              "sources",
              "javadoc",
              "dependency_file"
            ]
          }
        ]
      }
    ]
  }
}
