{
  "id": "wasmer",
  "name": "Wasmer",
  "homepage": "https://wasmer.io/",
  "executables": [
    "wasmer"
  ],
  "dotfiles": {
    "paths": [
      "~/.wasmer/"
    ],
    "exclude": [
      "~/.wasmer/cache/"
    ],
    "secret": [
      "~/.wasmer/wasmer.toml"
    ]
  },
  "commands": {
    "format": 1,
    "label": "Wasmer",
    "description": "Run WebAssembly modules and packages.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "run"
        ],
        "label": "Run a Wasm module or package",
        "description": "Run a .wasm/.wat file, URL or registry package. Environment variables, networking, journals and compiler backend options are left out.",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/wasmerio/wasmer/blob/main/lib/cli/src/commands/run/mod.rs",
            "revision": "main 2026-10-27",
            "evidence": "--stack-size  Set the default stack size (default is 1048576)\n--entrypoint  The entrypoint module for webc packages.\n--invoke  The function to invoke.\n<INPUT>  The file, URL, or package to run.\n[ARGS]...  Command-line arguments passed to the package\n--volume [HOST_DIR:]GUEST_DIR  Map a host directory to a different location for the Wasm module\n--cwd  Set the module's initial CWD to this path\n--forward-host-env  Forward all host env variables to guest\n--offline  Resolve only from local sources, never the registry\n--no-tty  Disables the TTY bridge"
          }
        ],
        "field": [
          {
            "id": "input",
            "label": "File, URL or package",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "src"
            ]
          },
          {
            "id": "volume",
            "label": "Mount directory",
            "description": "Map a host directory into the module as [HOST_DIR:]GUEST_DIR.",
            "type": "string",
            "option": [
              "--volume"
            ],
            "multiple": true,
            "sources": [
              "src"
            ]
          },
          {
            "id": "cwd",
            "label": "Initial working directory",
            "type": "string",
            "option": [
              "--cwd"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "invoke",
            "label": "Function to invoke",
            "type": "string",
            "option": [
              "--invoke"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "entrypoint",
            "label": "Entrypoint (webc packages)",
            "type": "string",
            "option": [
              "--entrypoint"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "forward_host_env",
            "label": "Forward host environment",
            "type": "boolean",
            "option": [
              "--forward-host-env"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "offline",
            "label": "Offline (local sources only)",
            "type": "boolean",
            "option": [
              "--offline"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "no_tty",
            "label": "Disable TTY bridge",
            "type": "boolean",
            "option": [
              "--no-tty"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "stack_size",
            "label": "Stack size (bytes)",
            "type": "integer",
            "option": [
              "--stack-size"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "args",
            "label": "Program arguments",
            "description": "Passed to the program after the module.",
            "type": "string",
            "position": 1,
            "multiple": true,
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "run",
            "label": "Run a module",
            "fields": [
              "input",
              "args"
            ],
            "required": [
              "input"
            ]
          },
          {
            "id": "run_mounted",
            "label": "Run with a mounted directory",
            "fields": [
              "input",
              "volume",
              "args"
            ],
            "required": [
              "input",
              "volume"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "input",
              "args",
              "volume",
              "invoke"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "cwd",
              "entrypoint",
              "forward_host_env",
              "offline",
              "no_tty",
              "stack_size"
            ]
          }
        ]
      }
    ]
  }
}
