{
  "id": "urlwatch",
  "name": "urlwatch",
  "homepage": "https://thp.io/2008/urlwatch/",
  "description": "Watch webpages and notify when they change.",
  "executables": [
    "urlwatch"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/urlwatch/urls.yaml",
      "[configHome]/urlwatch/urlwatch.yaml",
      "[configHome]/urlwatch/hooks.py"
    ],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Run urlwatch jobs",
    "description": "Runs the configured jobs, or lists and edits them. Job management with key=value specs, reporters and hooks are not included.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "manual",
        "kind": "manual",
        "url": "https://manpages.debian.org/unstable/urlwatch/urlwatch.1.en.html",
        "revision": "2.29",
        "evidence": "urlwatch [options] [JOB ...]\nJOB\nindexes or tags of job(s) to run. If --tags is set, each JOB is a tag, if\n-v, --verbose\nshow debug output\n--tags\nuse tags instead of indexes to select jobs to run\n--urls FILE\nread job list (URLs) from FILE\n--config FILE\nread configuration from FILE\n--cache FILE\nuse FILE as cache database\n--list\nlist jobs\n--edit\nedit URL/job list\n--edit-config\nedit configuration file\n--gc-cache RETAIN_LIMIT\nremove old cache entries, keeping the latest RETAIN_LIMIT (default:\n"
      }
    ],
    "field": [
      {
        "id": "jobs",
        "label": "Jobs (indexes or tags)",
        "description": "Leave empty to run every job.",
        "type": "string",
        "position": 0,
        "multiple": true,
        "sources": [
          "manual"
        ]
      },
      {
        "id": "tags",
        "label": "Treat jobs as tags",
        "type": "boolean",
        "option": [
          "--tags"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "urls",
        "label": "Job list file",
        "type": "path",
        "option": [
          "--urls"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "manual"
        ]
      },
      {
        "id": "config",
        "label": "Config file",
        "type": "path",
        "option": [
          "--config"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "manual"
        ]
      },
      {
        "id": "cache",
        "label": "Cache database",
        "type": "path",
        "option": [
          "--cache"
        ],
        "path": {
          "kind": "file",
          "role": "output"
        },
        "sources": [
          "manual"
        ]
      },
      {
        "id": "list",
        "label": "List jobs",
        "type": "boolean",
        "option": [
          "--list"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "edit",
        "label": "Edit job list",
        "type": "boolean",
        "option": [
          "--edit"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "edit_config",
        "label": "Edit configuration",
        "type": "boolean",
        "option": [
          "--edit-config"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "gc_cache",
        "label": "Clean cache, keep latest N",
        "type": "integer",
        "option": [
          "--gc-cache"
        ],
        "effect": "delete",
        "sources": [
          "manual"
        ]
      },
      {
        "id": "verbose",
        "label": "Debug output",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "manual"
        ]
      }
    ],
    "task": [
      {
        "id": "run",
        "label": "Run jobs",
        "fields": [
          "jobs",
          "tags",
          "urls",
          "verbose"
        ],
        "required": []
      },
      {
        "id": "list",
        "label": "List jobs",
        "set": {
          "list": [
            true
          ]
        },
        "lock": [
          "list"
        ],
        "fields": [
          "list",
          "urls"
        ],
        "required": []
      },
      {
        "id": "edit",
        "label": "Edit job list",
        "set": {
          "edit": [
            true
          ]
        },
        "lock": [
          "edit"
        ],
        "fields": [
          "edit"
        ],
        "required": []
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "jobs",
          "tags",
          "list",
          "edit",
          "edit_config"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "urls",
          "config",
          "cache",
          "gc_cache",
          "verbose"
        ]
      }
    ]
  }
}
