{
  "id": "ramalama",
  "name": "RamaLama",
  "homepage": "https://ramalama.ai/",
  "description": "A tool for managing and serving AI models using containers.",
  "executables": [
    "ramalama"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/ramalama/ramalama.conf.d/",
      "[configHome]/ramalama/shortnames.conf"
    ],
    "secret": [
      "[configHome]/ramalama/ramalama.conf"
    ],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Run or serve an AI model",
    "description": "Chat with a model or serve it over HTTP in a container. Image, device, RAG, speculative-decoding and TLS options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "run"
        ],
        "label": "Run a model",
        "description": "Chat with a model interactively.",
        "source": [
          {
            "id": "man",
            "kind": "manual",
            "url": "https://github.com/containers/ramalama/blob/main/docs/ramalama-run.1.md",
            "revision": "main 2026-10-27",
            "evidence": "ramalama run [options] model [arg ...]\n--backend=auto | vulkan | rocm | cuda | sycl | openvino | cann | musa\n--ctx-size, -c   size of the prompt context\n--max-tokens=integer   Maximum number of tokens to generate. Set to 0 for unlimited output (default: 0).\n--name, -n   Name of the container to run the Model in.\n--temp=\"0.8\"   Temperature of the response from the AI Model.\n--threads, -t   Maximum number of cpu threads to use.\n"
          }
        ],
        "field": [
          {
            "id": "model",
            "label": "Model",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "man"
            ]
          },
          {
            "id": "backend",
            "label": "GPU backend",
            "type": "enum",
            "option": [
              "--backend"
            ],
            "choices": [
              {
                "value": "auto",
                "label": "Auto"
              },
              {
                "value": "vulkan",
                "label": "Vulkan"
              },
              {
                "value": "rocm",
                "label": "ROCm"
              },
              {
                "value": "cuda",
                "label": "CUDA"
              },
              {
                "value": "sycl",
                "label": "SYCL"
              },
              {
                "value": "openvino",
                "label": "OpenVINO"
              },
              {
                "value": "cann",
                "label": "CANN"
              },
              {
                "value": "musa",
                "label": "MUSA"
              }
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "name",
            "label": "Container name",
            "type": "string",
            "option": [
              "--name",
              "-n"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "ctx_size",
            "label": "Context size",
            "type": "integer",
            "option": [
              "--ctx-size",
              "-c"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "temp",
            "label": "Temperature",
            "type": "number",
            "option": [
              "--temp"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "threads",
            "label": "CPU threads",
            "type": "integer",
            "option": [
              "--threads",
              "-t"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "max_tokens",
            "label": "Max tokens",
            "type": "integer",
            "option": [
              "--max-tokens"
            ],
            "sources": [
              "man"
            ]
          }
        ],
        "task": [
          {
            "id": "run",
            "label": "Run a model",
            "fields": [
              "model",
              "backend",
              "max_tokens"
            ],
            "required": [
              "model"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "model",
              "backend",
              "max_tokens"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "name",
              "ctx_size",
              "temp",
              "threads"
            ]
          }
        ]
      },
      {
        "path": [
          "serve"
        ],
        "label": "Serve a model",
        "description": "Serve a model on a local port.",
        "source": [
          {
            "id": "man",
            "kind": "manual",
            "url": "https://github.com/containers/ramalama/blob/main/docs/ramalama-serve.1.md",
            "revision": "main 2026-10-27",
            "evidence": "ramalama serve [options] [model ...]\n--backend=auto | vulkan | rocm | cuda | sycl | openvino | cann | musa\n--ctx-size, -c\n--detach, -d\n--name, -n\n--port, -p\n--temp=\"0.8\"\n--threads, -t\nramalama serve -d -p 8080 --name mymodel ollama://smollm:135m\n"
          }
        ],
        "field": [
          {
            "id": "model",
            "label": "Model",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "man"
            ]
          },
          {
            "id": "backend",
            "label": "GPU backend",
            "type": "enum",
            "option": [
              "--backend"
            ],
            "choices": [
              {
                "value": "auto",
                "label": "Auto"
              },
              {
                "value": "vulkan",
                "label": "Vulkan"
              },
              {
                "value": "rocm",
                "label": "ROCm"
              },
              {
                "value": "cuda",
                "label": "CUDA"
              },
              {
                "value": "sycl",
                "label": "SYCL"
              },
              {
                "value": "openvino",
                "label": "OpenVINO"
              },
              {
                "value": "cann",
                "label": "CANN"
              },
              {
                "value": "musa",
                "label": "MUSA"
              }
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "name",
            "label": "Container name",
            "type": "string",
            "option": [
              "--name",
              "-n"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "ctx_size",
            "label": "Context size",
            "type": "integer",
            "option": [
              "--ctx-size",
              "-c"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "temp",
            "label": "Temperature",
            "type": "number",
            "option": [
              "--temp"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "threads",
            "label": "CPU threads",
            "type": "integer",
            "option": [
              "--threads",
              "-t"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "port",
            "label": "Port",
            "type": "integer",
            "option": [
              "--port",
              "-p"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "detach",
            "label": "Run in background",
            "type": "boolean",
            "option": [
              "--detach",
              "-d"
            ],
            "sources": [
              "man"
            ]
          }
        ],
        "task": [
          {
            "id": "serve",
            "label": "Serve a model",
            "fields": [
              "model",
              "backend",
              "port",
              "detach"
            ],
            "required": [
              "model"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "model",
              "backend",
              "port",
              "detach"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "name",
              "ctx_size",
              "temp",
              "threads"
            ]
          }
        ]
      }
    ]
  }
}
