{
  "version": "2.0.0",
  "options": {
    "cwd": "${workspaceFolder}"
  },
  "tasks": [

    {
      "label": "venv: create",
      "type": "shell",
      "command": "python3 -m venv .venv",
      "problemMatcher": []
    },

    {
      "label": "deps: install",
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": [
        "-m",
        "pip",
        "install",
        "-U",
        "pip",
        "&&",
        "${command:python.interpreterPath}",
        "-m",
        "pip",
        "install",
        "-e",
        ".'[dev]'"
      ],
      "problemMatcher": [],
      "dependsOn": "venv: create"
    },

    {
      "label": "Run KernBench CLI",
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": [
        "-m",
        "kernbench.cli.main",
        "run",
        "--topology",
        "topology.yaml",
        "--bench",
        "qkv_gemm"
      ],
      "options": { "cwd": "${workspaceFolder}" },
      "problemMatcher": [],
      "presentation": {
        "reveal": "silent",
        "panel": "shared",
        "clear": true
      }
    },

    {
      "label": "Run KernBench Probe",
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": [
        "-m",
        "kernbench.cli.main",
        "probe",
        "--topology",
        "topology.yaml"
      ],
      "options": { "cwd": "${workspaceFolder}" },
      "problemMatcher": [],
      "presentation": {
        "reveal": "silent",
        "panel": "shared",
        "clear": true
      }
    },
    {
      "label": "Pytest: Run All (terminal)",
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": [
        "-m",
        "pytest",
        "-q",
        "-s"
      ],
      "problemMatcher": [],
      "group": "test"
    },

    {
      "label": "lint",
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": [
        "-m",
        "ruff",
        "check",
        "."
      ],
      "problemMatcher": []
    },

    {
      "label": "format",
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": [
        "-m",
        "ruff",
        "format",
        "."
      ],
      "problemMatcher": []
    },

    {
      "label": "which python",
      "type": "shell",
      "command": "${command:python.interpreterPath}",
      "args": [
        "-c",
        "import sys;print(sys.executable)"
      ],
      "problemMatcher": []
    }

  ]
}
