{
  "name": "kilo-code",
  "displayName": "Kilo Code: AI Coding Agent, Copilot, and Autocomplete",
  "description": "Open Source AI coding agent that generates code from natural language, automates tasks, and runs terminal commands. Features inline autocomplete, browser automation, automated refactoring, and custom modes for planning, coding, and debugging. Supports 500+ AI models including Claude (Anthropic), Gemini, Grok, GPT, Codex and GLM.",
  "version": "7.3.49",
  "icon": "assets/icons/logo-outline-black.png",
  "galleryBanner": {
    "color": "#FFFFFF",
    "theme": "light"
  },
  "publisher": "kilocode",
  "repository": {
    "type": "git",
    "url": "https://github.com/Kilo-Org/kilocode.git",
    "directory": "packages/kilo-vscode"
  },
  "engines": {
    "vscode": "^1.105.1"
  },
  "license": "MIT",
  "author": {
    "name": "Kilo Code"
  },
  "categories": [
    "AI",
    "Chat",
    "Programming Languages",
    "Education",
    "Snippets",
    "Testing"
  ],
  "keywords": [
    "kilo",
    "Kilo Code",
    "kilocode",
    "ai",
    "agent",
    "agentic",
    "coding",
    "coding agent",
    "coding assistant",
    "autocomplete",
    "code completion",
    "pair programming",
    "chat",
    "terminal",
    "chatgpt",
    "claude",
    "sonnet",
    "anthropic",
    "openai",
    "zoo code",
    "opencode",
    "open code"
  ],
  "activationEvents": [
    "onStartupFinished",
    "onUri"
  ],
  "main": "./dist/extension.js",
  "contributes": {
    "taskDefinitions": [
      {
        "type": "kilo-worktree-setup",
        "properties": {
          "script": {
            "type": "string",
            "description": "The setup script command to execute"
          }
        }
      }
    ],
    "icons": {
      "kilo-logo": {
        "description": "Kilo Code logo",
        "default": {
          "fontPath": "assets/icons/kilo-icon-font.woff2",
          "fontCharacter": "\\F101"
        }
      }
    },
    "viewsContainers": {
      "activitybar": [
        {
          "id": "kilo-code-ActivityBar",
          "title": "Kilo Code",
          "icon": "assets/icons/kilo-light.png",
          "darkIcon": "assets/icons/kilo-dark.png"
        }
      ]
    },
    "views": {
      "kilo-code-ActivityBar": [
        {
          "type": "webview",
          "id": "kilo-code.SidebarProvider",
          "name": "Kilo Code"
        }
      ]
    },
    "commands": [
      {
        "command": "kilo-code.new.plusButtonClicked",
        "title": "New Task",
        "category": "Kilo Code",
        "icon": "$(add)"
      },
      {
        "command": "kilo-code.new.agentManagerOpen",
        "title": "Agent Manager",
        "category": "Kilo Code",
        "icon": "$(organization)"
      },
      {
        "command": "kilo-code.new.kiloClawOpen",
        "title": "KiloClaw",
        "category": "Kilo Code",
        "icon": "$(comment-discussion)"
      },
      {
        "command": "kilo-code.new.marketplaceButtonClicked",
        "title": "Marketplace",
        "category": "Kilo Code",
        "icon": "$(extensions)"
      },
      {
        "command": "kilo-code.new.historyButtonClicked",
        "title": "History",
        "category": "Kilo Code",
        "icon": "$(history)"
      },
      {
        "command": "kilo-code.new.profileButtonClicked",
        "title": "Profile",
        "category": "Kilo Code",
        "icon": "$(account)"
      },
      {
        "command": "kilo-code.new.settingsButtonClicked",
        "title": "Settings",
        "category": "Kilo Code",
        "icon": "$(settings-gear)"
      },
      {
        "command": "kilo-code.new.sidebarTitle.plusButtonClicked",
        "title": "New Task",
        "icon": "$(add)"
      },
      {
        "command": "kilo-code.new.sidebarTitle.agentManagerOpen",
        "title": "Agent Manager",
        "icon": "$(organization)"
      },
      {
        "command": "kilo-code.new.sidebarTitle.kiloClawOpen",
        "title": "KiloClaw",
        "icon": "$(comment-discussion)"
      },
      {
        "command": "kilo-code.new.sidebarTitle.marketplaceButtonClicked",
        "title": "Marketplace",
        "icon": "$(extensions)"
      },
      {
        "command": "kilo-code.new.sidebarTitle.historyButtonClicked",
        "title": "History",
        "icon": "$(history)"
      },
      {
        "command": "kilo-code.new.sidebarTitle.profileButtonClicked",
        "title": "Profile",
        "icon": "$(account)"
      },
      {
        "command": "kilo-code.new.sidebarTitle.settingsButtonClicked",
        "title": "Settings",
        "icon": "$(settings-gear)"
      },
      {
        "command": "kilo-code.new.openInTab",
        "title": "Open in Tab",
        "category": "Kilo Code",
        "icon": {
          "light": "assets/icons/kilo-light.svg",
          "dark": "assets/icons/kilo-dark.svg"
        }
      },
      {
        "command": "kilo-code.new.showChanges",
        "title": "Show Changes",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.openMigrationWizard",
        "title": "Migrate Settings from Legacy Version",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.autocomplete.generateSuggestions",
        "title": "Generate Suggested Edits",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.autocomplete.cancelSuggestions",
        "title": "Cancel Suggested Edits",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.autocomplete.nextEdit.acceptOrJump",
        "title": "Next Edit: Accept or Jump to Suggested Edit",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.autocomplete.nextEdit.dismiss",
        "title": "Next Edit: Dismiss Pending Suggestion",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.previousSession",
        "title": "Agent Manager: Previous Session",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.nextSession",
        "title": "Agent Manager: Next Session",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.previousTab",
        "title": "Agent Manager: Previous Tab",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.nextTab",
        "title": "Agent Manager: Next Tab",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.search",
        "title": "Agent Manager: Search Worktrees and Sessions",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.showTerminal",
        "title": "Agent Manager: Focus Terminal",
        "category": "Kilo Code",
        "icon": "$(terminal)"
      },
      {
        "command": "kilo-code.new.agentManager.runScript",
        "title": "Agent Manager: Run Script",
        "category": "Kilo Code",
        "icon": "$(play)"
      },
      {
        "command": "kilo-code.new.agentManager.toggleDiff",
        "title": "Agent Manager: Toggle Diff Panel",
        "category": "Kilo Code",
        "icon": "$(diff)"
      },
      {
        "command": "kilo-code.new.agentManager.showShortcuts",
        "title": "Agent Manager: Show Keyboard Shortcuts",
        "category": "Kilo Code",
        "icon": "$(keyboard)"
      },
      {
        "command": "kilo-code.new.agentManager.newTab",
        "title": "Agent Manager: New Tab",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.newTerminal",
        "title": "Agent Manager: New Terminal Tab (Experimental)",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.closeTab",
        "title": "Agent Manager: Close Tab",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.newWorktree",
        "title": "Agent Manager: New Worktree",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.openWorktree",
        "title": "Agent Manager: Open Worktree",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.openPR",
        "title": "Agent Manager: Open Pull Request",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.closeWorktree",
        "title": "Agent Manager: Close Worktree",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.advancedWorktree",
        "title": "Agent Manager: Advanced New Worktree",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo1",
        "title": "Agent Manager: Jump to Item 1",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo2",
        "title": "Agent Manager: Jump to Item 2",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo3",
        "title": "Agent Manager: Jump to Item 3",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo4",
        "title": "Agent Manager: Jump to Item 4",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo5",
        "title": "Agent Manager: Jump to Item 5",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo6",
        "title": "Agent Manager: Jump to Item 6",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo7",
        "title": "Agent Manager: Jump to Item 7",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo8",
        "title": "Agent Manager: Jump to Item 8",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo9",
        "title": "Agent Manager: Jump to Item 9",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.generateCommitMessage",
        "title": "Generate Commit Message",
        "category": "Kilo Code",
        "icon": {
          "light": "assets/icons/kilo-light.svg",
          "dark": "assets/icons/kilo-dark.svg"
        }
      },
      {
        "command": "kilo-code.new.explainCode",
        "title": "Explain Code",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.fixCode",
        "title": "Fix Code",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.improveCode",
        "title": "Improve Code",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.addToContext",
        "title": "Add to Context",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.terminalAddToContext",
        "title": "Add Terminal Content to Context",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.terminalFixCommand",
        "title": "Fix This Command",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.terminalExplainCommand",
        "title": "Explain This Command",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.focusChatInput",
        "title": "Focus Chat Input",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.cycleAgentMode",
        "title": "Cycle Agent Mode",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.cyclePreviousAgentMode",
        "title": "Cycle Previous Agent Mode",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.toggleAutoApprove",
        "title": "Toggle Auto-Approve",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.generateTerminalCommand",
        "title": "Generate Terminal Command",
        "category": "Kilo Code"
      },
      {
        "command": "kilo-code.new.takeHeapSnapshot",
        "title": "Take Heap Snapshot",
        "category": "Kilo Code"
      }
    ],
    "submenus": [
      {
        "id": "kilo-code.new.editorContextMenu",
        "label": "Kilo Code"
      },
      {
        "id": "kilo-code.new.terminalContextMenu",
        "label": "Kilo Code"
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "kilo-code.new.sidebarTitle.plusButtonClicked",
          "when": "false"
        },
        {
          "command": "kilo-code.new.sidebarTitle.historyButtonClicked",
          "when": "false"
        },
        {
          "command": "kilo-code.new.sidebarTitle.agentManagerOpen",
          "when": "false"
        },
        {
          "command": "kilo-code.new.sidebarTitle.kiloClawOpen",
          "when": "false"
        },
        {
          "command": "kilo-code.new.sidebarTitle.marketplaceButtonClicked",
          "when": "false"
        },
        {
          "command": "kilo-code.new.sidebarTitle.profileButtonClicked",
          "when": "false"
        },
        {
          "command": "kilo-code.new.sidebarTitle.settingsButtonClicked",
          "when": "false"
        }
      ],
      "view/title": [
        {
          "command": "kilo-code.new.sidebarTitle.plusButtonClicked",
          "group": "navigation@0",
          "when": "view == kilo-code.SidebarProvider"
        },
        {
          "command": "kilo-code.new.sidebarTitle.historyButtonClicked",
          "group": "navigation@1",
          "when": "view == kilo-code.SidebarProvider"
        },
        {
          "command": "kilo-code.new.sidebarTitle.agentManagerOpen",
          "group": "navigation@2",
          "when": "view == kilo-code.SidebarProvider"
        },
        {
          "command": "kilo-code.new.sidebarTitle.kiloClawOpen",
          "group": "navigation@3",
          "when": "view == kilo-code.SidebarProvider"
        },
        {
          "command": "kilo-code.new.sidebarTitle.marketplaceButtonClicked",
          "group": "navigation@4",
          "when": "view == kilo-code.SidebarProvider"
        },
        {
          "command": "kilo-code.new.sidebarTitle.profileButtonClicked",
          "group": "navigation@5",
          "when": "view == kilo-code.SidebarProvider"
        },
        {
          "command": "kilo-code.new.sidebarTitle.settingsButtonClicked",
          "group": "navigation@6",
          "when": "view == kilo-code.SidebarProvider"
        }
      ],
      "scm/title": [
        {
          "command": "kilo-code.new.generateCommitMessage",
          "group": "navigation",
          "when": "scmProvider == git"
        }
      ],
      "scm/input": [
        {
          "command": "kilo-code.new.generateCommitMessage",
          "group": "navigation",
          "when": "scmProvider == git"
        }
      ],
      "editor/title": [
        {
          "command": "kilo-code.new.openInTab",
          "group": "navigation",
          "when": "true"
        },
        {
          "command": "kilo-code.new.plusButtonClicked",
          "group": "navigation@0",
          "when": "activeWebviewPanelId == kilo-code.new.TabPanel"
        },
        {
          "command": "kilo-code.new.historyButtonClicked",
          "group": "navigation@1",
          "when": "activeWebviewPanelId == kilo-code.new.TabPanel"
        },
        {
          "command": "kilo-code.new.profileButtonClicked",
          "group": "navigation@2",
          "when": "activeWebviewPanelId == kilo-code.new.TabPanel"
        },
        {
          "command": "kilo-code.new.settingsButtonClicked",
          "group": "navigation@3",
          "when": "activeWebviewPanelId == kilo-code.new.TabPanel"
        }
      ],
      "editor/context": [
        {
          "submenu": "kilo-code.new.editorContextMenu",
          "group": "1_kilocode"
        }
      ],
      "kilo-code.new.editorContextMenu": [
        {
          "command": "kilo-code.new.explainCode",
          "group": "1_actions@1"
        },
        {
          "command": "kilo-code.new.fixCode",
          "group": "1_actions@2"
        },
        {
          "command": "kilo-code.new.improveCode",
          "group": "1_actions@3"
        },
        {
          "command": "kilo-code.new.addToContext",
          "group": "1_actions@4"
        }
      ],
      "terminal/context": [
        {
          "submenu": "kilo-code.new.terminalContextMenu",
          "group": "2_kilocode"
        }
      ],
      "kilo-code.new.terminalContextMenu": [
        {
          "command": "kilo-code.new.terminalAddToContext",
          "group": "1_actions@1"
        },
        {
          "command": "kilo-code.new.terminalFixCommand",
          "group": "1_actions@2"
        },
        {
          "command": "kilo-code.new.terminalExplainCommand",
          "group": "1_actions@3"
        }
      ]
    },
    "keybindings": [
      {
        "command": "kilo-code.new.focusChatInput",
        "key": "ctrl+shift+a",
        "mac": "cmd+shift+a"
      },
      {
        "command": "kilo-code.new.toggleAutoApprove",
        "key": "ctrl+alt+a",
        "mac": "cmd+alt+a"
      },
      {
        "command": "kilo-code.new.generateTerminalCommand",
        "key": "ctrl+shift+g",
        "mac": "cmd+shift+g"
      },
      {
        "command": "kilo-code.new.agentManagerOpen",
        "key": "ctrl+shift+m",
        "mac": "cmd+shift+m"
      },
      {
        "command": "kilo-code.new.addToContext",
        "key": "ctrl+k ctrl+a",
        "mac": "cmd+k cmd+a",
        "when": "editorTextFocus && editorHasSelection"
      },
      {
        "command": "kilo-code.new.agentManager.previousSession",
        "key": "ctrl+alt+up",
        "mac": "cmd+alt+up",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.nextSession",
        "key": "ctrl+alt+down",
        "mac": "cmd+alt+down",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.previousTab",
        "key": "ctrl+alt+left",
        "mac": "cmd+alt+left",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.nextTab",
        "key": "ctrl+alt+right",
        "mac": "cmd+alt+right",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.search",
        "key": "ctrl+f",
        "mac": "cmd+f",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' && !terminalFocus"
      },
      {
        "command": "kilo-code.new.agentManager.showTerminal",
        "key": "ctrl+/",
        "mac": "cmd+/",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.runScript",
        "key": "ctrl+e",
        "mac": "cmd+e",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' && (isMac || !terminalFocus)"
      },
      {
        "command": "kilo-code.new.agentManager.toggleDiff",
        "key": "ctrl+d",
        "mac": "cmd+d",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.showShortcuts",
        "key": "ctrl+shift+/",
        "mac": "cmd+shift+/",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.newTab",
        "key": "ctrl+t",
        "mac": "cmd+t",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.newTerminal",
        "key": "ctrl+shift+t",
        "mac": "cmd+shift+t",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.closeTab",
        "key": "ctrl+w",
        "mac": "cmd+w",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.newWorktree",
        "key": "ctrl+n",
        "mac": "cmd+n",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.openWorktree",
        "key": "ctrl+shift+o",
        "mac": "cmd+shift+o",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.openPR",
        "key": "ctrl+shift+r",
        "mac": "cmd+shift+r",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.closeWorktree",
        "key": "ctrl+shift+w",
        "mac": "cmd+shift+w",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.advancedWorktree",
        "key": "ctrl+shift+n",
        "mac": "cmd+shift+n",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo1",
        "key": "ctrl+1",
        "mac": "cmd+1",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo2",
        "key": "ctrl+2",
        "mac": "cmd+2",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo3",
        "key": "ctrl+3",
        "mac": "cmd+3",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo4",
        "key": "ctrl+4",
        "mac": "cmd+4",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo5",
        "key": "ctrl+5",
        "mac": "cmd+5",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo6",
        "key": "ctrl+6",
        "mac": "cmd+6",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo7",
        "key": "ctrl+7",
        "mac": "cmd+7",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo8",
        "key": "ctrl+8",
        "mac": "cmd+8",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.agentManager.jumpTo9",
        "key": "ctrl+9",
        "mac": "cmd+9",
        "when": "activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel'"
      },
      {
        "command": "kilo-code.new.cycleAgentMode",
        "key": "ctrl+.",
        "mac": "cmd+.",
        "when": "sideBarFocus && kilo-code.new.sidebarVisible || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'"
      },
      {
        "command": "kilo-code.new.cyclePreviousAgentMode",
        "key": "ctrl+shift+.",
        "mac": "cmd+shift+.",
        "when": "sideBarFocus && kilo-code.new.sidebarVisible || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'"
      },
      {
        "command": "kilo-code.new.autocomplete.cancelSuggestions",
        "key": "escape",
        "when": "editorTextFocus && !editorTabMovesFocus && !inSnippetMode && kilo-code.new.autocomplete.hasSuggestions"
      },
      {
        "command": "kilo-code.new.autocomplete.generateSuggestions",
        "key": "ctrl+l",
        "mac": "cmd+l",
        "when": "editorTextFocus && !editorTabMovesFocus && !inSnippetMode && kilocode.autocomplete.enableSmartInlineTaskKeybinding && !github.copilot.completions.enabled"
      },
      {
        "command": "kilo-code.new.autocomplete.showIncompatibilityExtensionPopup",
        "key": "ctrl+l",
        "mac": "cmd+l",
        "when": "editorTextFocus && !editorTabMovesFocus && !inSnippetMode && kilocode.autocomplete.enableSmartInlineTaskKeybinding && github.copilot.completions.enabled"
      },
      {
        "command": "kilo-code.new.autocomplete.nextEdit.acceptOrJump",
        "key": "tab",
        "when": "editorTextFocus && !editorTabMovesFocus && !inSnippetMode && !suggestWidgetVisible && kilo-code.nextEdit.hasPendingSuggestion"
      },
      {
        "command": "kilo-code.new.autocomplete.nextEdit.dismiss",
        "key": "escape",
        "when": "editorTextFocus && !editorTabMovesFocus && !inSnippetMode && kilo-code.nextEdit.hasPendingSuggestion"
      }
    ],
    "configuration": {
      "title": "Kilo Code",
      "properties": {
        "kilo-code.new.language": {
          "type": "string",
          "default": "",
          "description": "Override the UI language for Kilo Code (e.g. en, de, ja). Empty means use VS Code's display language.",
          "enum": [
            "",
            "en",
            "zh",
            "zht",
            "ko",
            "de",
            "es",
            "fr",
            "da",
            "ja",
            "pl",
            "ru",
            "ar",
            "no",
            "br",
            "th",
            "bs",
            "tr",
            "nl",
            "uk",
            "it"
          ],
          "enumDescriptions": [
            "Auto (VS Code language)",
            "English",
            "简体中文",
            "繁體中文",
            "한국어",
            "Deutsch",
            "Español",
            "Français",
            "Dansk",
            "日本語",
            "Polski",
            "Русский",
            "العربية",
            "Norsk",
            "Português (Brasil)",
            "ภาษาไทย",
            "Bosanski",
            "Türkçe",
            "Nederlands",
            "Українська",
            "Italiano"
          ]
        },
        "kilo-code.new.model.providerID": {
          "type": "string",
          "default": "kilo",
          "description": "Default model provider ID for new sessions"
        },
        "kilo-code.new.model.modelID": {
          "type": "string",
          "default": "kilo-auto/free",
          "description": "Default model ID for new sessions"
        },
        "kilo-code.new.autocomplete.model": {
          "type": "string",
          "enum": [
            "mistralai/codestral-2508",
            "inception/mercury-edit-2",
            "inception/mercury-next-edit",
            "codestral-2508",
            "mercury-edit-2",
            "mercury-next-edit"
          ],
          "enumDescriptions": [
            "Codestral via Kilo Gateway",
            "Mercury Edit 2 (FIM) via Kilo Gateway",
            "Mercury Edit 2 (Next Edit), multi-line edit predictions with jump-to-edit UX, via Kilo Gateway",
            "Codestral via your connected Mistral provider API key",
            "Mercury Edit 2 (FIM) via your connected Inception provider API key",
            "Mercury Edit 2 (Next Edit), multi-line edit predictions with jump-to-edit UX, via your connected Inception provider API key"
          ],
          "description": "Model to use for inline autocomplete suggestions. If unset, the recommended default is used."
        },
        "kilo-code.new.autocomplete.provider": {
          "type": "string",
          "enum": [
            "kilo",
            "mistral",
            "inception"
          ],
          "enumDescriptions": [
            "Use autocomplete models through Kilo Gateway",
            "Use autocomplete models through your connected Mistral provider API key",
            "Use autocomplete models through your connected Inception provider API key"
          ],
          "description": "Provider to use for inline autocomplete suggestions. If unset, Kilo Gateway is used."
        },
        "kilo-code.new.autocomplete.enableAutoTrigger": {
          "type": "boolean",
          "default": true,
          "description": "Enable automatic inline completion suggestions"
        },
        "kilo-code.new.autocomplete.enableSmartInlineTaskKeybinding": {
          "type": "boolean",
          "default": false,
          "description": "Enable smart inline task keybinding"
        },
        "kilo-code.new.autocomplete.enableChatAutocomplete": {
          "type": "boolean",
          "default": false,
          "description": "Enable chat textarea autocomplete"
        },
        "kilo-code.new.claudeCodeCompat": {
          "type": "boolean",
          "default": false,
          "description": "Load CLAUDE.md instructions and skills from your Claude Code configuration directory into Kilo sessions. Enable this if you want Kilo to use your Claude Code instructions and skills."
        },
        "kilo-code.new.extraCaCerts": {
          "type": "string",
          "default": "",
          "description": "Absolute path to a PEM file containing extra CA certificates to trust when the Kilo backend makes HTTPS requests (sets NODE_EXTRA_CA_CERTS on the CLI process). Use this if you're behind a corporate proxy that performs SSL inspection. Leave empty to rely on the OS trust store."
        },
        "kilo-code.new.autoApprove.enabled": {
          "type": "boolean",
          "default": false,
          "description": "Start Kilo Code with the main auto-approve toggle enabled. When enabled, permission prompts are approved automatically."
        },
        "kilo-code.new.fontSize": {
          "type": "number",
          "default": 13,
          "minimum": 10,
          "maximum": 24,
          "description": "Font size in pixels for the Kilo Code webview UI."
        },
        "kilo-code.new.browserAutomation.enabled": {
          "type": "boolean",
          "default": false,
          "description": "Enable browser automation powered by Playwright. When enabled, the AI agent can interact with web pages in a visible Chrome window."
        },
        "kilo-code.new.browserAutomation.useSystemChrome": {
          "type": "boolean",
          "default": true,
          "description": "Use your system's installed Chrome browser instead of downloading a separate Chromium instance."
        },
        "kilo-code.new.browserAutomation.headless": {
          "type": "boolean",
          "default": false,
          "description": "Run browser automation in headless mode (no visible window). When disabled, you can watch the agent interact with the browser."
        },
        "kilo-code.new.attention.enabled": {
          "type": "boolean",
          "default": false,
          "description": "Play sounds when sessions complete, error, or need input"
        },
        "kilo-code.new.attention.sound": {
          "type": "string",
          "default": "default",
          "enum": [
            "default",
            "system",
            "alert-01",
            "alert-02",
            "alert-03",
            "alert-04",
            "alert-05",
            "alert-06",
            "alert-07",
            "alert-08",
            "alert-09",
            "alert-10",
            "bip-bop-01",
            "bip-bop-02",
            "bip-bop-03",
            "bip-bop-04",
            "bip-bop-05",
            "bip-bop-06",
            "bip-bop-07",
            "bip-bop-08",
            "bip-bop-09",
            "bip-bop-10",
            "staplebops-01",
            "staplebops-02",
            "staplebops-03",
            "staplebops-04",
            "staplebops-05",
            "staplebops-06",
            "staplebops-07",
            "nope-01",
            "nope-02",
            "nope-03",
            "nope-04",
            "nope-05",
            "nope-06",
            "nope-07",
            "nope-08",
            "nope-09",
            "nope-10",
            "nope-11",
            "nope-12",
            "yup-01",
            "yup-02",
            "yup-03",
            "yup-04",
            "yup-05",
            "yup-06"
          ],
          "description": "Use different sounds for completion, input, and errors, or choose one sound for every event"
        },
        "kilo-code.new.showTaskTimeline": {
          "type": "boolean",
          "default": true,
          "description": "Show the task timeline graph in the chat header"
        },
        "kilo-code.new.agentWorkStyle": {
          "type": "string",
          "scope": "application",
          "default": "unset",
          "enum": [
            "unset",
            "human-in-the-loop",
            "autonomous",
            "skipped"
          ],
          "enumDescriptions": [
            "Show work style onboarding so you can choose again",
            "Human in the Loop: review agent actions as they happen",
            "High autonomy: let Kilo take most actions with fewer interruptions",
            "Onboarding was skipped without changing work style settings"
          ],
          "description": "Preferred agent work style. Set to Unset to show the onboarding flow again."
        },
        "kilo-code.new.diff.renderMarkdown": {
          "type": "boolean",
          "default": false,
          "description": "Render Markdown files in Kilo diff viewers by default. Toggle this from a Markdown file header in the diff viewer."
        }
      }
    }
  },
  "scripts": {
    "prepare:cli-binary": "bun script/local-bin.ts",
    "compile": "bun run prepare:cli-binary -- --force && bun run rebuild-sdk && bun run typecheck && bun run lint && node esbuild.js",
    "watch": "bun run rebuild-sdk && bun run --parallel watch:esbuild watch:tsc",
    "watch:esbuild": "bun run prepare:cli-binary && node esbuild.js --watch",
    "watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
    "watch:cli": "bun script/watch-cli.ts",
    "package": "bun run prepare:cli-binary && bun run rebuild-sdk && bun run typecheck && bun run lint && node esbuild.js --production",
    "compile-tests": "tsc -p . --outDir out",
    "watch-tests": "tsc -p . -w --outDir out",
    "pretest": "bun run compile-tests && bun run compile && bun run lint",
    "check-types": "tsc --noEmit",
    "check-types:webview": "bun script/typecheck.ts --project webview-ui/tsconfig.json",
    "typecheck": "bun run check-types:extension && bun run check-types:webview",
    "check-types:extension": "bun script/typecheck.ts",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "knip": "knip",
    "check-kilocode-change": "! grep -rIn 'kilocode_change' . ../kilo-ui/ --exclude='package.json' --exclude='*.md' --exclude-dir='node_modules' --exclude-dir='dist' | grep -v '`kilocode_change`'",
    "lint": "eslint src webview-ui",
    "test": "vscode-test",
    "test:unit": "bun test tests/unit/",
    "rebuild-sdk": "bun run --cwd ../sdk/js build",
    "storybook": "storybook dev -p 6007",
    "build-storybook": "storybook build -o storybook-static",
    "test:a11y": "playwright test tests/accessibility.spec.ts",
    "test:visual": "playwright test",
    "test:visual:update": "playwright test --update-snapshots",
    "snapshot:build": "bun script/dev-snapshot.ts build",
    "snapshot:install": "bun script/dev-snapshot.ts install",
    "extension": "bun script/launch.ts"
  },
  "devDependencies": {
    "@axe-core/playwright": "4.11.3",
    "@playwright/test": "1.57.0",
    "@storybook/addon-a11y": "10.2.10",
    "@storybook/addon-docs": "10.2.10",
    "@types/diff": "^6.0.0",
    "@types/mocha": "^10.0.10",
    "@types/node": "22.x",
    "@types/qrcode": "^1.5.6",
    "@types/vscode": "^1.105.1",
    "@vscode/test-cli": "^0.0.12",
    "@vscode/test-electron": "^2.5.2",
    "@vscode/vsce": "^3.7.1",
    "esbuild": "^0.27.2",
    "esbuild-plugin-solid": "^0.6.0",
    "eslint": "^9.39.2",
    "eslint-config-prettier": "^10.1.8",
    "knip": "5.85.0",
    "prettier": "3.6.2",
    "qrcode": "^1.5.4",
    "storybook": "10.2.10",
    "storybook-solidjs-vite": "10.0.9",
    "ts-morph": "27.0.2",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.54.0",
    "vite": "7.3.2",
    "vite-plugin-solid": "2.11.10"
  },
  "dependencies": {
    "@anthropic-ai/sdk": "^0.39.0",
    "fuzzysort": "3.1.0",
    "@kilocode/kilo-gateway": "workspace:*",
    "@kilocode/kilo-i18n": "workspace:*",
    "@kilocode/kilo-indexing": "workspace:*",
    "@kilocode/kilo-ui": "workspace:*",
    "@kilocode/plugin": "workspace:*",
    "@kilocode/sdk": "workspace:*",
    "@opencode-ai/ui": "workspace:*",
    "@pierre/diffs": "catalog:",
    "@thisbeyond/solid-dnd": "0.7.5",
    "@xterm/addon-clipboard": "0.2.0",
    "@xterm/addon-fit": "0.11.0",
    "@xterm/addon-unicode-graphemes": "0.4.0",
    "@xterm/addon-web-links": "0.12.0",
    "@xterm/xterm": "6.0.0",
    "diff": "8.0.4",
    "fastest-levenshtein": "^1.0.16",
    "friendly-words": "1.3.1",
    "ignore": "^7.0.3",
    "js-tiktoken": "^1.0.18",
    "lru-cache": "^11.0.2",
    "marked": "catalog:",
    "openai": "^4.85.4",
    "quick-lru": "^7.0.0",
    "simple-git": "3.36.0",
    "solid-js": "^1.9.11",
    "uri-js": "^4.4.1",
    "virtua": "catalog:",
    "web-tree-sitter": "^0.24.7",
    "yaml": "2.8.3",
    "zod": "^3.24.2"
  },
  "peerDependencies": {}
}
