{
  "id": "arara",
  "name": "arara",
  "homepage": "https://islandoftex.gitlab.io/arara/",
  "description": "arara is a TeX automation tool based on rules and directives.",
  "icon": "https://islandoftex.gitlab.io/arara/favicon.svg",
  "executables": [
    "arara"
  ],
  "dotfiles": {
    "paths": [
      "~/.araraconfig.yaml",
      "~/araraconfig.yaml",
      "~/.arararc.yaml",
      "~/arararc.yaml"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Run arara",
    "description": "Process TeX files according to their arara directives. Preamble and header options beyond the basics are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": true,
      "short_bundles": true
    },
    "source": [
      {
        "id": "manual",
        "kind": "manual",
        "url": "https://islandoftex.gitlab.io/arara/",
        "evidence": "-l, --log                           Generate a log output\n-v, --verbose / -s, --silent        Print the command output\n-n, --dry-run                       Go through all the motions of running a\n-H, --header                        Extract directives only in the file header\n-t, --timeout INT                   Set the execution timeout (in milliseconds)\n-L, --language TEXT                 Set the application language\n-m, --max-loops INT                 Set the maximum number of loops (> 0)\n-d, --working-directory DIRECTORY\n"
      }
    ],
    "field": [
      {
        "id": "files",
        "label": "Files",
        "type": "path",
        "position": 0,
        "multiple": true,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "manual"
        ]
      },
      {
        "id": "verbose",
        "label": "Print command output",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "log",
        "label": "Write log",
        "type": "boolean",
        "option": [
          "--log",
          "-l"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "dry_run",
        "label": "Dry run",
        "description": "Go through the motions without running any command.",
        "type": "boolean",
        "option": [
          "--dry-run",
          "-n"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "header",
        "label": "Header directives only",
        "type": "boolean",
        "option": [
          "--header",
          "-H"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "timeout",
        "label": "Timeout (ms)",
        "type": "integer",
        "option": [
          "--timeout",
          "-t"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "max_loops",
        "label": "Maximum loops",
        "type": "integer",
        "option": [
          "--max-loops",
          "-m"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "working_directory",
        "label": "Working directory",
        "type": "path",
        "option": [
          "--working-directory",
          "-d"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "manual"
        ]
      }
    ],
    "task": [
      {
        "id": "run",
        "label": "Run on files",
        "fields": [
          "files",
          "verbose",
          "log",
          "working_directory"
        ],
        "required": [
          "files"
        ]
      },
      {
        "id": "dry-run",
        "label": "Dry run",
        "set": {
          "dry_run": [
            true
          ]
        },
        "fields": [
          "files",
          "dry_run",
          "verbose"
        ],
        "required": [
          "files"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "files",
          "verbose",
          "log",
          "dry_run"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "header",
          "timeout",
          "max_loops",
          "working_directory"
        ]
      }
    ]
  }
}
