{
  "version": "5.0.3",
  "commands": {
    "create": {
      "id": "create",
      "summary": "Create a swup plugin or theme",
      "description": "Generate a new swup plugin or theme from an official, best-practice template",
      "strict": true,
      "pluginName": "@swup/cli",
      "pluginAlias": "@swup/cli",
      "pluginType": "core",
      "aliases": [],
      "examples": [
        "<%= config.bin %> <%= command.id %> SwupExamplePlugin",
        "<%= config.bin %> <%= command.id %> SwupExampleTheme"
      ],
      "flags": {
        "type": {
          "name": "type",
          "type": "option",
          "char": "t",
          "summary": "Type",
          "description": "Choose the type of project to create: plugin or theme. Not required if name ends with \"Plugin\" or \"Theme\".",
          "multiple": false,
          "options": [
            "plugin",
            "theme"
          ],
          "default": "plugin"
        }
      },
      "args": {
        "name": {
          "name": "name",
          "description": "Name of the plugin to create",
          "required": true
        }
      }
    },
    "validate": {
      "id": "validate",
      "summary": "Validate a swup-powered site",
      "description": "Crawl your site and validate that all pages are accessible and render correctly",
      "strict": true,
      "pluginName": "@swup/cli",
      "pluginAlias": "@swup/cli",
      "pluginType": "core",
      "aliases": [],
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --url https://mysite.com/about",
        "<%= config.bin %> <%= command.id %> --crawl --url https://mysite.com",
        "<%= config.bin %> <%= command.id %> --tests containers,transition-duration",
        "<%= config.bin %> <%= command.id %> --asynchronous"
      ],
      "flags": {
        "url": {
          "name": "url",
          "type": "option",
          "char": "u",
          "summary": "URL",
          "description": "Base URL to validate. Will validate this single URL only, unless --crawl is specified.",
          "required": false,
          "multiple": false,
          "exclusive": [
            "sitemap"
          ]
        },
        "crawl": {
          "name": "crawl",
          "type": "boolean",
          "char": "c",
          "summary": "Crawl site",
          "description": "Crawl the site for all public URLs and validate all found pages. Requires the --url flag as a base URL.",
          "required": false,
          "allowNo": false
        },
        "limit": {
          "name": "limit",
          "type": "option",
          "char": "l",
          "summary": "Limit",
          "description": "Limit the number of pages to validate when crawling or reading from a sitemap.",
          "required": false,
          "multiple": false
        },
        "sitemap": {
          "name": "sitemap",
          "type": "option",
          "char": "s",
          "summary": "Sitemap",
          "description": "If no URL is passed, the local sitemap file will be scanned for public URLs. Accepts a local filepath or URL.",
          "required": false,
          "multiple": false,
          "exclusive": [
            "url"
          ]
        },
        "tests": {
          "name": "tests",
          "type": "option",
          "char": "t",
          "summary": "Tests",
          "description": "Specify which tests to run when validating. Defaults to all.",
          "required": false,
          "multiple": false,
          "options": [
            "all",
            "containers",
            "transition-duration",
            "transition-styles"
          ],
          "default": "all"
        },
        "parallel": {
          "name": "parallel",
          "type": "boolean",
          "char": "p",
          "summary": "Parallel",
          "description": "Run all tests asynchronously. A lot faster, but might cause issues.",
          "required": false,
          "allowNo": false
        },
        "containers": {
          "name": "containers",
          "type": "option",
          "summary": "Containers",
          "description": "Selectors of containers to validate, separated by comma.",
          "required": false,
          "multiple": false,
          "default": "#swup"
        },
        "animation": {
          "name": "animation",
          "type": "option",
          "summary": "Animation selector",
          "description": "Selector of elements that should be animated.",
          "required": false,
          "multiple": false,
          "default": "[class*=\"transition-\"]"
        },
        "styles": {
          "name": "styles",
          "type": "option",
          "summary": "Expected styles",
          "description": "CSS properties expected to change during animations, separated by comma.",
          "required": false,
          "multiple": false,
          "default": "opacity,transform"
        }
      },
      "args": {}
    },
    "package:build": {
      "id": "package:build",
      "summary": "Build package",
      "description": "Build package code for distribution using microbundle",
      "strict": true,
      "pluginName": "@swup/cli",
      "pluginAlias": "@swup/cli",
      "pluginType": "core",
      "aliases": [],
      "examples": [
        "<%= config.bin %> <%= command.id %>"
      ],
      "flags": {
        "check": {
          "name": "check",
          "type": "boolean",
          "summary": "Check package info",
          "description": "Check for required package.json fields before bundling. Disable using --no-check.",
          "required": false,
          "allowNo": true
        }
      },
      "args": {}
    },
    "package:check": {
      "id": "package:check",
      "summary": "Check package info",
      "description": "Ensure a bundle package.json is valid",
      "strict": true,
      "pluginName": "@swup/cli",
      "pluginAlias": "@swup/cli",
      "pluginType": "core",
      "aliases": [],
      "examples": [
        "<%= config.bin %> <%= command.id %>"
      ],
      "flags": {},
      "args": {}
    },
    "package:dev": {
      "id": "package:dev",
      "summary": "Develop package",
      "description": "Build package code for development using microbundle and watch for changes",
      "strict": true,
      "pluginName": "@swup/cli",
      "pluginAlias": "@swup/cli",
      "pluginType": "core",
      "aliases": [],
      "examples": [
        "<%= config.bin %> <%= command.id %>"
      ],
      "flags": {
        "check": {
          "name": "check",
          "type": "boolean",
          "summary": "Check package info",
          "description": "Check for required package.json fields before bundling. Disable using --no-check.",
          "required": false,
          "allowNo": true
        }
      },
      "args": {}
    },
    "package:format": {
      "id": "package:format",
      "summary": "Format package",
      "description": "Fix code formatting issues using prettier",
      "strict": true,
      "pluginName": "@swup/cli",
      "pluginAlias": "@swup/cli",
      "pluginType": "core",
      "aliases": [],
      "examples": [
        "<%= config.bin %> <%= command.id %>"
      ],
      "flags": {},
      "args": {}
    },
    "package:lint": {
      "id": "package:lint",
      "summary": "Lint package",
      "description": "Check code for formatting issues using prettier",
      "strict": true,
      "pluginName": "@swup/cli",
      "pluginAlias": "@swup/cli",
      "pluginType": "core",
      "aliases": [],
      "examples": [
        "<%= config.bin %> <%= command.id %>"
      ],
      "flags": {},
      "args": {}
    }
  }
}