{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build (R8)",
      "command": "dotnet",
      "type": "shell",
      "args": [
        "build",
        "-p:RhinoTarget=R8",
        "-clp:NoSummary",
        "${workspaceFolder}/rhino/plugin/RhMcp.csproj"
      ],
      "problemMatcher": "$msCompile",
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "build (R9)",
      "command": "dotnet",
      "type": "shell",
      "args": [
        "build",
        "-p:RhinoTarget=R9",
        "-clp:NoSummary",
        "${workspaceFolder}/rhino/plugin/RhMcp.csproj"
      ],
      "problemMatcher": "$msCompile",
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "build router",
      "command": "dotnet",
      "type": "shell",
      "args": [
        "build",
        "-clp:NoSummary",
        "${workspaceFolder}/rhino/router/Router.csproj"
      ],
      "problemMatcher": "$msCompile",
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "build release (R8)",
      "command": "dotnet",
      "type": "shell",
      "args": [
        "build",
        "-c:Release",
        "-p:RhinoTarget=R8",
        "-clp:NoSummary",
        "${workspaceFolder}/rhino/plugin/RhMcp.csproj"
      ],
      "problemMatcher": "$msCompile",
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "build release (R9)",
      "command": "dotnet",
      "type": "shell",
      "args": [
        "build",
        "-c:Release",
        "-p:RhinoTarget=R9",
        "-clp:NoSummary",
        "${workspaceFolder}/rhino/plugin/RhMcp.csproj"
      ],
      "problemMatcher": "$msCompile",
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "pack yak (R8)",
      "type": "shell",
      "dependsOn": "build release (R8)",
      "args": ["build"],
      "windows": {
        "command": "C:/Program Files/Rhino 8/System/Yak.exe",
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R8-win/Release"
        }
      },
      "osx": {
        "command": "/Applications/Rhino 8.app/Contents/Resources/bin/yak",
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R8-osx/Release"
        }
      },
      "linux": {
        "command": "echo",
        "args": ["Yak build on Linux is unsupported."]
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "pack yak (R9)",
      "type": "shell",
      "dependsOn": "build release (R9)",
      "args": ["build"],
      "windows": {
        "command": "C:/Program Files/Rhino 8/System/Yak.exe",
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R9-win/Release"
        }
      },
      "osx": {
        "command": "/Applications/Rhino 8.app/Contents/Resources/bin/yak",
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R9-osx/Release"
        }
      },
      "linux": {
        "command": "echo",
        "args": ["Yak build on Linux is unsupported."]
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "install yak (Rhino 8)",
      "type": "shell",
      "dependsOn": "pack yak (R8)",
      "windows": {
        "command": "Get-ChildItem *.yak | ForEach-Object { & 'C:/Program Files/Rhino 8/System/Yak.exe' install $_.Name }",
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R8-win/Release"
        }
      },
      "osx": {
        "command": "/Applications/Rhino 8.app/Contents/Resources/bin/yak",
        "args": ["install", "*.yak"],
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R8-osx/Release"
        }
      },
      "linux": {
        "command": "echo",
        "args": ["Yak install on Linux is unsupported."]
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "install yak (WIP)",
      "type": "shell",
      "dependsOn": "pack yak (R9)",
      "windows": {
        "command": "Get-ChildItem *.yak | ForEach-Object { & 'C:/Program Files/Rhino 9 WIP/System/Yak.exe' install $_.Name }",
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R9-win/Release"
        }
      },
      "osx": {
        "command": "/Applications/RhinoBETA.app/Contents/Resources/bin/yak",
        "args": ["install", "*.yak"],
        "options": {
          "cwd": "${workspaceFolder}/rhino/plugin/bin/R9-osx/Release"
        }
      },
      "linux": {
        "command": "echo",
        "args": ["Yak install on Linux is unsupported."]
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "install yak (Rhino 8 + WIP)",
      "dependsOn": ["install yak (Rhino 8)", "install yak (WIP)"],
      "dependsOrder": "sequence",
      "problemMatcher": [],
      "group": "build"
    },
    {
      "label": "uninstall yak (Rhino 8)",
      "type": "shell",
      "args": ["uninstall", "Rhino-MCP-Platform"],
      "windows": {
        "command": "C:/Program Files/Rhino 8/System/Yak.exe"
      },
      "osx": {
        "command": "/Applications/Rhino 8.app/Contents/Resources/bin/yak"
      },
      "linux": {
        "command": "echo",
        "args": ["Yak uninstall on Linux is unsupported."]
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "uninstall yak (WIP)",
      "type": "shell",
      "args": ["uninstall", "Rhino-MCP-Platform"],
      "windows": {
        "command": "C:/Program Files/Rhino 9 WIP/System/Yak.exe"
      },
      "osx": {
        "command": "/Applications/RhinoBETA.app/Contents/Resources/bin/yak"
      },
      "linux": {
        "command": "echo",
        "args": ["Yak uninstall on Linux is unsupported."]
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "uninstall yak (Rhino 8 + WIP)",
      "dependsOn": ["uninstall yak (Rhino 8)", "uninstall yak (WIP)"],
      "problemMatcher": [],
      "group": "build"
    },
    {
      "label": "register router with claude",
      "type": "shell",
      "osx": {
        "command": "claude mcp remove rhino-mcp-router-dev 2>/dev/null; claude mcp add rhino-mcp-router-dev '${workspaceFolder}/rhino/router/bin/R9/Debug/net8.0/rhino-mcp-router' -- --default-version WIP"
      },
      "linux": {
        "command": "claude mcp remove rhino-mcp-router-dev 2>/dev/null; claude mcp add rhino-mcp-router-dev '${workspaceFolder}/rhino/router/bin/R9/Debug/net8.0/rhino-mcp-router' -- --default-version WIP"
      },
      "windows": {
        "command": "claude mcp remove rhino-mcp-router-dev 2>$null; claude mcp add rhino-mcp-router-dev \"${workspaceFolder}/rhino/router/bin/R9/Debug/net8.0/rhino-mcp-router.exe\" -- --default-version WIP"
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      }
    },
    {
      "label": "pack mcpb",
      "type": "shell",
      "command": "node",
      "args": ["build.mjs"],
      "options": {
        "cwd": "${workspaceFolder}/connector"
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "build and install mcpb",
      "type": "shell",
      "dependsOn": "pack mcpb",
      "dependsOrder": "sequence",
      "osx": {
        "command": "open",
        "args": ["connector.mcpb"]
      },
      "linux": {
        "command": "xdg-open",
        "args": ["connector.mcpb"]
      },
      "windows": {
        "command": "cmd",
        "args": ["/c", "start", "", "connector.mcpb"]
      },
      "options": {
        "cwd": "${workspaceFolder}/connector"
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    },
    {
      "label": "open claude tab",
      "type": "shell",
      "command": "echo",
      "args": ["${command:claude-vscode.newConversation}"],
      "problemMatcher": [],
      "presentation": {
        "reveal": "silent",
        "echo": false,
        "panel": "dedicated"
      }
    },
    {
      "label": "router: build + register + open claude",
      "dependsOrder": "sequence",
      "dependsOn": [
        "build router",
        "register router with claude",
        "open claude tab"
      ],
      "problemMatcher": []
    },
    {
      "label": "docs: serve",
      "type": "shell",
      "command": "hugo",
      "args": ["server", "--buildDrafts", "--disableFastRender"],
      "options": {
        "cwd": "${workspaceFolder}/docs"
      },
      "isBackground": true,
      "problemMatcher": {
        "owner": "hugo",
        "pattern": {
          "regexp": "^.*$",
          "file": 1,
          "location": 2,
          "message": 3
        },
        "background": {
          "activeOnStart": true,
          "beginsPattern": "^Start building sites",
          "endsPattern": "^Web Server is available at"
        }
      },
      "presentation": {
        "reveal": "always",
        "panel": "dedicated"
      },
      "group": "build"
    },
    {
      "label": "docs: build",
      "type": "shell",
      "command": "hugo",
      "args": ["--minify"],
      "options": {
        "cwd": "${workspaceFolder}/docs"
      },
      "problemMatcher": [],
      "presentation": {
        "reveal": "always",
        "clear": true
      },
      "group": "build"
    }
  ]
}
