{
  "id": "kn",
  "name": "kn",
  "homepage": "https://github.com/knative/client",
  "description": "Command-line interface for managing Knative Serving and Eventing resources",
  "executables": [
    "kn"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/kn/config.yaml",
      "%APPDATA%/kn/config.yaml"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Knative client",
    "description": "Create a Knative service from a container image. Other kn commands, traffic splitting, secrets and sidecars are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://github.com/knative/client/blob/main/docs/cmd/kn_service_create.md",
        "revision": "main 2026-10",
        "evidence": "kn service create NAME --image IMAGE\n--image string                      Image to run.\n-n, --namespace string                  Specify the namespace to operate in.\n-p, --port string                       The port where application listens on, in the format 'NAME:PORT', where 'NAME' is optional.\n-e, --env stringArray                   Environment variable to set. NAME=value; you may provide this flag any number of times to set multiple environment variables.\n--scale string                      Set the Minimum and Maximum number of replicas.\n--request strings                   The resource requirement requests for this Service. For example, 'cpu=100m,memory=256Mi'.\n--limit strings                     The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'.\n-l, --label stringArray                 Labels to set for both Service and Revision. name=value; you may provide this flag any number of times to set multiple labels.\n--cluster-local                     Specify that the service be private.\n--force                             Create service forcefully, replaces existing service if any.\n--no-wait                           Do not wait for 'service create' operation to be completed.\n"
      }
    ],
    "subcommand": [
      {
        "path": [
          "service",
          "create"
        ],
        "label": "Create a service",
        "source": [
          {
            "id": "help",
            "kind": "manual",
            "url": "https://github.com/knative/client/blob/main/docs/cmd/kn_service_create.md",
            "revision": "main 2026-10",
            "evidence": "kn service create NAME --image IMAGE\n--image string                      Image to run.\n-n, --namespace string                  Specify the namespace to operate in.\n-p, --port string                       The port where application listens on, in the format 'NAME:PORT', where 'NAME' is optional.\n-e, --env stringArray                   Environment variable to set. NAME=value; you may provide this flag any number of times to set multiple environment variables.\n--scale string                      Set the Minimum and Maximum number of replicas.\n--request strings                   The resource requirement requests for this Service. For example, 'cpu=100m,memory=256Mi'.\n--limit strings                     The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'.\n-l, --label stringArray                 Labels to set for both Service and Revision. name=value; you may provide this flag any number of times to set multiple labels.\n--cluster-local                     Specify that the service be private.\n--force                             Create service forcefully, replaces existing service if any.\n--no-wait                           Do not wait for 'service create' operation to be completed.\n"
          }
        ],
        "field": [
          {
            "id": "name",
            "label": "Service name",
            "type": "string",
            "position": 0,
            "sources": [
              "help"
            ]
          },
          {
            "id": "image",
            "label": "Container image",
            "type": "string",
            "option": [
              "--image"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "namespace",
            "label": "Namespace",
            "type": "string",
            "option": [
              "--namespace",
              "-n"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "port",
            "label": "Port",
            "description": "NAME:PORT or just PORT, for example 8080.",
            "type": "string",
            "option": [
              "--port",
              "-p"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "env",
            "label": "Environment variables",
            "description": "NAME=value.",
            "type": "string",
            "option": [
              "--env",
              "-e"
            ],
            "multiple": true,
            "sources": [
              "help"
            ]
          },
          {
            "id": "scale",
            "label": "Replica range",
            "description": "A single value or min/max.",
            "type": "string",
            "option": [
              "--scale"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "request",
            "label": "Resource requests",
            "description": "For example cpu=100m,memory=256Mi.",
            "type": "string",
            "option": [
              "--request"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "limit",
            "label": "Resource limits",
            "description": "For example cpu=100m,memory=256Mi.",
            "type": "string",
            "option": [
              "--limit"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "label",
            "label": "Labels",
            "description": "name=value.",
            "type": "string",
            "option": [
              "--label",
              "-l"
            ],
            "multiple": true,
            "sources": [
              "help"
            ]
          },
          {
            "id": "cluster_local",
            "label": "Private service",
            "type": "boolean",
            "option": [
              "--cluster-local"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "no_wait",
            "label": "Do not wait for readiness",
            "type": "boolean",
            "option": [
              "--no-wait"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "force",
            "label": "Replace existing service",
            "type": "boolean",
            "option": [
              "--force"
            ],
            "effect": "overwrite",
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "create",
            "label": "Create a service",
            "fields": [
              "name",
              "image",
              "namespace",
              "port"
            ],
            "required": [
              "name",
              "image"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "name",
              "image",
              "namespace",
              "port",
              "env"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "scale",
              "request",
              "limit",
              "label",
              "cluster_local",
              "no_wait",
              "force"
            ]
          }
        ]
      }
    ]
  }
}
