{
  "id": "molecule",
  "name": "Molecule",
  "homepage": "https://ansible.readthedocs.io/projects/molecule/",
  "description": "Molecule is an Ansible testing framework designed for developing and testing Ansible collections, playbooks, and roles.",
  "icon": "https://ansible.readthedocs.io/projects/molecule/_static/images/logo.png",
  "executables": [
    "molecule"
  ],
  "dotfiles": {
    "paths": [
      "~/.config/molecule/config.yml"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "molecule",
    "description": "Test Ansible roles. Use the subcommand tabs for test and converge; other steps and init are left out.",
    "quality": "ai-draft",
    "base": "fig:molecule",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/molecule.ts",
        "license": "MIT"
      }
    ],
    "subcommand": [
      {
        "path": [
          "test"
        ],
        "label": "Run the full test sequence",
        "description": "Run dependency through verify for a scenario.",
        "parser": {
          "end_of_options": "--",
          "interleave": "permute",
          "long_equals": true,
          "short_attached": true,
          "short_bundles": false
        },
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/molecule.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "scenario",
            "label": "Scenario name",
            "type": "string",
            "option": [
              "--scenario-name",
              "-s"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "driver",
            "label": "Driver",
            "type": "string",
            "option": [
              "--driver-name",
              "-d"
            ],
            "suggestions": [
              {
                "value": "delegated",
                "label": "delegated"
              },
              {
                "value": "docker",
                "label": "docker"
              },
              {
                "value": "podman",
                "label": "podman"
              },
              {
                "value": "vagrant",
                "label": "vagrant"
              },
              {
                "value": "azure",
                "label": "azure"
              },
              {
                "value": "hetzner",
                "label": "hetzner"
              }
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "all",
            "label": "Test all scenarios",
            "type": "boolean",
            "option": [
              "--all"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "destroy",
            "label": "Destroy strategy",
            "type": "string",
            "option": [
              "--destroy"
            ],
            "suggestions": [
              {
                "value": "always",
                "label": "always"
              },
              {
                "value": "never",
                "label": "never"
              }
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "parallel",
            "label": "Parallel mode",
            "type": "boolean",
            "option": [
              "--parallel"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "test",
            "label": "Test a scenario",
            "fields": [
              "scenario",
              "driver",
              "destroy"
            ],
            "required": []
          },
          {
            "id": "all",
            "label": "Test all scenarios",
            "fields": [
              "all",
              "parallel"
            ],
            "required": [
              "all"
            ],
            "set": {
              "all": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "scenario",
              "driver",
              "all"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "destroy",
              "parallel"
            ]
          }
        ]
      },
      {
        "path": [
          "converge"
        ],
        "label": "Converge instances",
        "description": "Configure instances (dependency, create, prepare, converge).",
        "parser": {
          "end_of_options": "--",
          "interleave": "permute",
          "long_equals": true,
          "short_attached": true,
          "short_bundles": false
        },
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/molecule.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "scenario",
            "label": "Scenario name",
            "type": "string",
            "option": [
              "--scenario-name",
              "-s"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "converge",
            "label": "Converge",
            "fields": [
              "scenario"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "scenario"
            ]
          }
        ]
      }
    ]
  }
}
