{
  "id": "mill",
  "name": "Mill",
  "homepage": "https://mill-build.org/",
  "description": "A build tool for Scala, Java and Kotlin",
  "executables": [
    "mill"
  ],
  "dotfiles": {
    "paths": [
      "~/.mill/ammonite/predef.sc",
      "~/.mill/ammonite/predefScript.sc"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": "~/.mill/ammonite/predef.sc",
        "match": {
          "prefix": [
            "val repositoryPassword"
          ]
        }
      },
      {
        "file": "~/.mill/ammonite/predefScript.sc",
        "match": {
          "prefix": [
            "val repositoryPassword"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Mill",
    "description": "Run one or more Mill tasks. Daemon, BSP, lock and debug flags are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "doc",
        "kind": "manual",
        "url": "https://mill-build.org/mill/cli/flags.html",
        "evidence": "-j --jobs <str>        The number of parallel threads. It can be an integer e.g. `5` meaning 5\n-k --keep-going        Continue build, even after build failures.\n--no-daemon            Run without a long-lived background daemon.\n--offline              Try to work offline. This tells modules that support it to work offline\n-w --watch             Watch and re-run the given tasks when their inputs change.\n-i --interactive       Alias for now `--no-daemon`.\n"
      }
    ],
    "field": [
      {
        "id": "tasks",
        "label": "Tasks",
        "description": "For example compile, test, or foo.test.",
        "type": "string",
        "position": 0,
        "multiple": true,
        "suggestions": [
          {
            "value": "compile",
            "label": "compile"
          },
          {
            "value": "__.compile",
            "label": "All modules: compile"
          },
          {
            "value": "__.test",
            "label": "All modules: test"
          },
          {
            "value": "resolve _",
            "label": "List top-level tasks"
          }
        ],
        "sources": [
          "doc"
        ]
      },
      {
        "id": "jobs",
        "label": "Parallel threads",
        "description": "An integer, or a core multiple such as 0.5C.",
        "type": "string",
        "option": [
          "--jobs",
          "-j"
        ],
        "sources": [
          "doc"
        ]
      },
      {
        "id": "keep_going",
        "label": "Keep going after failures",
        "type": "boolean",
        "option": [
          "--keep-going",
          "-k"
        ],
        "sources": [
          "doc"
        ]
      },
      {
        "id": "watch",
        "label": "Watch and re-run",
        "type": "boolean",
        "option": [
          "--watch",
          "-w"
        ],
        "sources": [
          "doc"
        ]
      },
      {
        "id": "no_daemon",
        "label": "Run without daemon",
        "type": "boolean",
        "option": [
          "--no-daemon"
        ],
        "sources": [
          "doc"
        ]
      },
      {
        "id": "offline",
        "label": "Work offline",
        "type": "boolean",
        "option": [
          "--offline"
        ],
        "sources": [
          "doc"
        ]
      }
    ],
    "task": [
      {
        "id": "run",
        "label": "Run tasks",
        "fields": [
          "tasks",
          "jobs",
          "keep_going"
        ],
        "required": [
          "tasks"
        ]
      },
      {
        "id": "watch",
        "label": "Watch and re-run",
        "fields": [
          "tasks",
          "watch"
        ],
        "required": [
          "tasks",
          "watch"
        ],
        "set": {
          "watch": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "tasks",
          "jobs",
          "keep_going",
          "watch"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "no_daemon",
          "offline"
        ]
      }
    ]
  }
}
