{
  "id": "wasmtime",
  "name": "Wasmtime",
  "homepage": "https://wasmtime.dev/",
  "description": "A standalone runtime for WebAssembly.",
  "executables": [
    "wasmtime"
  ],
  "dotfiles": {
    "paths": [
      "[appData]/wasmtime/config.toml"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false,
    "machine_lines": [
      {
        "file": "[appData]/wasmtime/config.toml",
        "match": {
          "key_path": [
            "cache.directory"
          ]
        },
        "scope": "backup"
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Run a WebAssembly file",
    "description": "Run a .wasm or .wat file, optionally calling one export. Wasmtime flags must precede the file; program arguments follow it. The -O/-C/-D/-W/-S tuning options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "posix",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "docs",
        "kind": "manual",
        "url": "https://docs.wasmtime.dev/cli-options.html",
        "revision": "2026-10-27",
        "evidence": "wasmtime run foo.wasm\nwasmtime foo.wat\nwasmtime --dir . foo.wasm\nwasmtime run --invoke initialize foo.wasm\nwasmtime run --invoke add add.wasm 1 2\nAll Wasmtime options must come before the WebAssembly file provided. All arguments afterwards are passed to the WebAssembly file itself.\n"
      }
    ],
    "field": [
      {
        "id": "dir",
        "label": "Directory to expose to the program",
        "type": "path",
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "option": [
          "--dir"
        ],
        "multiple": true,
        "sources": [
          "docs"
        ]
      },
      {
        "id": "invoke",
        "label": "Export to invoke instead of the main entry",
        "type": "string",
        "option": [
          "--invoke"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "module",
        "label": "WebAssembly file",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "input"
        },
        "position": 0,
        "sources": [
          "docs"
        ]
      },
      {
        "id": "args",
        "label": "Program arguments",
        "type": "string",
        "position": 1,
        "multiple": true,
        "sources": [
          "docs"
        ]
      }
    ],
    "task": [
      {
        "id": "run",
        "label": "Run a program",
        "fields": [
          "module",
          "args",
          "dir"
        ],
        "required": [
          "module"
        ]
      },
      {
        "id": "invoke",
        "label": "Call one export",
        "fields": [
          "module",
          "invoke",
          "args"
        ],
        "required": [
          "module",
          "invoke"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "module",
          "args",
          "dir",
          "invoke"
        ]
      }
    ]
  }
}
