{
  "name": "mcp",
  "description": "MCP (Model Context Protocol) Server Template",
  "parameters": [
    {
      "name": "projectName",
      "type": "string",
      "prompt": "Project name",
      "validate": "^[a-zA-Z0-9-_]+$",
      "default": "my-mcp-server",
      "required": true,
      "errorMessage": "Project name must contain only letters, numbers, hyphens, and underscores",
      "filter": "lowercase"
    },
    {
      "name": "description",
      "type": "string",
      "prompt": "Project description",
      "default": "A new MCP server"
    },
    {
      "name": "authModel",
      "type": "choice",
      "prompt": "Authentication model",
      "choices": [
        {
          "value": "passthrough",
          "label": "Pass-through to Auth Server",
          "short": "passthrough"
        },
        {
          "value": "standalone",
          "label": "Standalone OAuth Server",
          "short": "standalone"
        }
      ],
      "default": "passthrough"
    },
    {
      "name": "includeTests",
      "type": "confirm",
      "prompt": "Include test files?",
      "default": true
    },
    {
      "name": "features",
      "type": "checkbox",
      "prompt": "Select features to include",
      "choices": [
        {
          "value": "logging",
          "label": "Structured logging"
        },
        {
          "value": "metrics",
          "label": "Metrics collection"
        },
        {
          "value": "docker",
          "label": "Docker configuration"
        }
      ],
      "defaultChecked": ["logging"]
    },
    {
      "name": "port",
      "type": "number",
      "prompt": "Server port",
      "default": 3000,
      "min": 1000,
      "max": 65535
    }
  ],
  "replacements": {
    "{{projectName}}": "projectName",
    "{{PROJECT_NAME}}": {
      "param": "projectName",
      "transform": "uppercase"
    },
    "{{description}}": "description",
    "{{authModel}}": "authModel",
    "{{port}}": "port"
  },
  "conditionalDeletes": [
    {
      "condition": "authModel === 'passthrough'",
      "files": [
        "src/oauth/**/*",
        "src/auth/oauth-server.ts"
      ]
    },
    {
      "condition": "!includeTests",
      "files": [
        "tests/**/*",
        "jest.config.js"
      ]
    }
  ]
}