|
|
|
@@ -23,7 +23,7 @@ The rebuild has a working foundation:
|
|
|
|
|
- **Settings**: 14-tab settings (Providers, AgentBehaviour, AutoApprove, Browser, Autocomplete, Display, Notifications, Context, Terminal, Prompts, Experimental, Language, AboutKiloCode — all functional; Workflows subtab is a placeholder) in [`Settings.tsx`](../webview-ui/src/components/Settings.tsx)
|
|
|
|
|
- **Message protocol**: 41 message types (22 ExtensionMessage + 19 WebviewMessage) in [`messages.ts`](../webview-ui/src/types/messages.ts)
|
|
|
|
|
- **Build pipeline**: dual esbuild (extension + webview), CLI binary provisioning in [`esbuild.js`](../esbuild.js) and [`prepare-cli-binary.mjs`](../scripts/prepare-cli-binary.mjs)
|
|
|
|
|
- **View title bar button**: ✅ Done — [#181](https://github.com/Kilo-Org/kilocode/issues/181)
|
|
|
|
|
- **View title bar button**: ✅ Done —
|
|
|
|
|
- **Browser automation**: Playwright MCP integration with settings toggle, lifecycle service, and CLI MCP hub registration in [`BrowserAutomationService`](../src/services/browser-automation/browser-automation-service.ts)
|
|
|
|
|
- **kilo-ui integration**: Webview uses `@kilocode/kilo-ui` shared component library — ThemeProvider, MarkedProvider, DataProvider, Button, IconButton, Tooltip, Popover, Switch, Select, Toast, KiloMessage
|
|
|
|
|
- **Task header**: Session title, cost display, context token usage with percentage, compact button in [`TaskHeader.tsx`](../webview-ui/src/components/chat/TaskHeader.tsx)
|
|
|
|
@@ -47,7 +47,7 @@ The rebuild has a working foundation:
|
|
|
|
|
|
|
|
|
|
| Feature | Status | Details | Backend | Priority |
|
|
|
|
|
| -------------------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | -------- |
|
|
|
|
|
| Auto-Approval Controls | ✅ Done | `AutoApproveTab` in Settings implements per-tool allow/ask/deny dropdowns for all 16 tools with a "Set All" bulk control. Changes written to backend config via `updateConfig({ permission: {...} })`. [#171](https://github.com/Kilo-Org/kilocode/issues/171) | CLI owns permissions; webview needs config UI | P1 |
|
|
|
|
|
| Auto-Approval Controls | ✅ Done | `AutoApproveTab` in Settings implements per-tool allow/ask/deny dropdowns for all 16 tools with a "Set All" bulk control. Changes written to backend config via `updateConfig({ permission: {...} })`. | CLI owns permissions; webview needs config UI | P1 |
|
|
|
|
|
| [Browser Session Controls](chat-ui-features/browser-session-controls.md) | 🔨 Partial | BrowserTab settings UI implemented with enable/disable toggle, system Chrome and headless options. Missing: in-chat browser session controls, action replay, screenshot viewing. | CLI-side (if browser tool exists) + webview | P3 |
|
|
|
|
|
| [Checkpoint & Task Management](chat-ui-features/checkpoint-task-management.md) | ❌ Not started | No checkpoint restore, navigation, or "See New Changes" diff buttons. | CLI session undo/redo/fork + extension git integration | P1 |
|
|
|
|
|
| Code Block Interactions | ✅ Done | Code blocks render with syntax highlighting, copy buttons, and expand/collapse via kilo-ui's KiloMessage + MarkedProvider + shiki. User messages and assistant text parts both have copy buttons. | Webview-only | P0 |
|
|
|
|
@@ -55,18 +55,18 @@ The rebuild has a working foundation:
|
|
|
|
|
| [Connection State UI](chat-ui-features/connection-state-ui.md) | 🔨 Partial | `ServerProvider` context tracks `connectionState` ("connecting"/"connected"/"disconnected"/"error"). Prompt input is disabled when disconnected. Missing: dedicated blocking spinner/error panel overlay. | Webview-only (consumes connection state) | P0 |
|
|
|
|
|
| [Context Menus & Tooltips](chat-ui-features/context-menus-tooltips.md) | ❌ Not started | No right-click context menus or hover tooltips on interactive elements. | Webview-only | P2 |
|
|
|
|
|
| Diff Viewing & File Operations | ✅ Done | Full diff viewer via kilo-ui `Diff` + `DiffChanges` components (built on `@pierre/diffs`) with line selection, find shortcuts, and worker-pool syntax highlighting. `DiffComponentProvider` registered in App.tsx. File edit/write/patch tools all use this. | CLI provides diff data; webview renders | P0 |
|
|
|
|
|
| [File Permission Dialogs](chat-ui-features/file-permission-dialogs.md) | 🔨 Partial | Basic permission dialog exists (reject/once/always). Missing batch file read approval and per-file granularity. [#171](https://github.com/Kilo-Org/kilocode/issues/171) | CLI permission model; webview UI | P1 |
|
|
|
|
|
| [File Permission Dialogs](chat-ui-features/file-permission-dialogs.md) | 🔨 Partial | Basic permission dialog exists (reject/once/always). Missing batch file read approval and per-file granularity. | CLI permission model; webview UI | P1 |
|
|
|
|
|
| [Follow-Up Questions](chat-ui-features/follow-up-questions.md) | ❌ Not started | No suggested reply chips, click-to-submit, auto-approval countdown, or mode indicators. | Likely extension-side generation | P2 |
|
|
|
|
|
| Image Handling | ✅ Done | `useImageAttachments` hook handles clipboard paste, drag-and-drop, and file reading. Thumbnails with remove buttons shown in PromptInput. kilo-ui `ImagePreview` dialog for viewing attached images in messages. | CLI provides image data; webview renders + VS Code integration | P1 |
|
|
|
|
|
| [Inline Actions on Tool Messages](chat-ui-features/inline-actions-on-tool-messages.md) | 🔨 Partial | Tool parts render with status icons (⏳⚙️✓✕), expandable sections with input/output, and status-based CSS classes. File path links render as clickable anchors in tool subtitles via kilo-ui. Missing: explicit VS Code file-opener wired via postMessage, inline action buttons. | CLI provides tool metadata; webview renders | P1 |
|
|
|
|
|
| Kilo Themed Chat Session | ✅ Done | kilo-ui components throughout: ThemeProvider with `defaultTheme="kilo-vscode"`, KiloMessage for rendering, MarkedProvider for markdown, Button/IconButton/Tooltip/Popover from kilo-ui. [#161](https://github.com/Kilo-Org/kilocode/issues/161) | Webview-only (styling/theming) | P0 |
|
|
|
|
|
| Markdown Rendering | ✅ Done | Message.tsx delegates to kilo-ui's `<KiloMessage>` component. MarkedProvider in App.tsx provides markdown context. Syntax highlighting via shiki. [#161](https://github.com/Kilo-Org/kilocode/issues/161) | Webview-only | P0 |
|
|
|
|
|
| Kilo Themed Chat Session | ✅ Done | kilo-ui components throughout: ThemeProvider with `defaultTheme="kilo-vscode"`, KiloMessage for rendering, MarkedProvider for markdown, Button/IconButton/Tooltip/Popover from kilo-ui. | Webview-only (styling/theming) | P0 |
|
|
|
|
|
| Markdown Rendering | ✅ Done | Message.tsx delegates to kilo-ui's `<KiloMessage>` component. MarkedProvider in App.tsx provides markdown context. Syntax highlighting via shiki. | Webview-only | P0 |
|
|
|
|
|
| [Mermaid Diagram Features](chat-ui-features/mermaid-diagram-features.md) | ❌ Not started | No mermaid rendering, "Fix with AI" button, copy, or open-as-PNG. Requires markdown rendering first. | Webview-only (rendering); CLI for "Fix with AI" | P2 |
|
|
|
|
|
| [Message Editing & Management](chat-ui-features/message-editing-management.md) | ❌ Not started | No inline editing, deletion, timestamp display, or redo-previous-message (up-arrow). [#177](https://github.com/Kilo-Org/kilocode/issues/177) | CLI session fork/undo for edit semantics | P1 |
|
|
|
|
|
| [Message Editing & Management](chat-ui-features/message-editing-management.md) | ❌ Not started | No inline editing, deletion, timestamp display, or redo-previous-message (up-arrow). | CLI session fork/undo for edit semantics | P1 |
|
|
|
|
|
| [Special Content Types](chat-ui-features/special-content-types.md) | 🔨 Partial | Reasoning blocks render (collapsible). Missing: open-markdown-preview button, MCP tool/resource rows, expandable error rows with copy. | Mixed: CLI for MCP data; webview for rendering | P1 |
|
|
|
|
|
| Task Header | ✅ Done | TaskHeader.tsx implements session title, cost display (formatted USD), context token usage with percentage, compact button with tooltip. Uses kilo-ui IconButton and Tooltip. [#166](https://github.com/Kilo-Org/kilocode/issues/166) | CLI provides cost/context data; webview renders | P0 |
|
|
|
|
|
| Task Header | ✅ Done | TaskHeader.tsx implements session title, cost display (formatted USD), context token usage with percentage, compact button with tooltip. Uses kilo-ui IconButton and Tooltip. | CLI provides cost/context data; webview renders | P0 |
|
|
|
|
|
| Todo List Management | ✅ Done | `todo.updated` SSE event handled through full pipeline: KiloProvider → webview message → session store. kilo-ui `PART_MAPPING["todowrite"]` renders todo lists with checkboxes showing completed/total counts. | CLI tool or extension-side feature | P2 |
|
|
|
|
|
| [Toggle Thinking](chat-ui-features/toggle-thinking.md) | 🔨 Partial | Reasoning blocks render but no toggle to enable/disable thinking. Linked [PR #127](https://github.com/Kilo-Org/kilocode/pull/127). [#172](https://github.com/Kilo-Org/kilocode/issues/172) | CLI controls thinking; webview provides toggle UI | P2 |
|
|
|
|
|
| [Toggle Thinking](chat-ui-features/toggle-thinking.md) | 🔨 Partial | Reasoning blocks render but no toggle to enable/disable thinking. Linked. | CLI controls thinking; webview provides toggle UI | P2 |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
@@ -74,13 +74,13 @@ The rebuild has a working foundation:
|
|
|
|
|
|
|
|
|
|
| Feature | Status | Details | Backend | Priority |
|
|
|
|
|
| ------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | -------- |
|
|
|
|
|
| Agent Manager | ✅ Done | `AgentManagerProvider` opens editor panel, creates git worktrees for parallel sessions, full `createWorktreeSession` lifecycle (worktree → session → first message). `WorktreeManager` handles `git worktree add`, metadata, and discovery. `WorktreeSelector` in PromptInput toggles local/worktree mode. [#178](https://github.com/Kilo-Org/kilocode/issues/178) | Extension orchestrates multiple CLI sessions | P1 |
|
|
|
|
|
| [Authentication & Enterprise](non-agent-features/authentication-organization-enterprise-enforcement.md) | 🔨 Partial | Device auth flow works, organization switching implemented. Missing: org feature flags, MDM policy enforcement. [#160](https://github.com/Kilo-Org/kilocode/issues/160) | CLI handles its auth; extension handles org/MDM | P1 |
|
|
|
|
|
| Agent Manager | ✅ Done | `AgentManagerProvider` opens editor panel, creates git worktrees for parallel sessions, full `createWorktreeSession` lifecycle (worktree → session → first message). `WorktreeManager` handles `git worktree add`, metadata, and discovery. `WorktreeSelector` in PromptInput toggles local/worktree mode. | Extension orchestrates multiple CLI sessions | P1 |
|
|
|
|
|
| [Authentication & Enterprise](non-agent-features/authentication-organization-enterprise-enforcement.md) | 🔨 Partial | Device auth flow works, organization switching implemented. Missing: org feature flags, MDM policy enforcement. | CLI handles its auth; extension handles org/MDM | P1 |
|
|
|
|
|
| [Auto-Purge](non-agent-features/auto-purge.md) | ❌ Not started | No scheduled cleanup of old session/task storage. | Extension-side (storage ownership TBD) | P3 |
|
|
|
|
|
| Autocomplete / Ghost | ✅ Done | `AutocompleteInlineCompletionProvider` implements `vscode.InlineCompletionItemProvider` with FIM completions via Kilo Gateway. Includes debouncing, LRU cache, tree-sitter context, bracket matching, and stream-based completion. `AutocompleteServiceManager` registers/unregisters the provider. [#164](https://github.com/Kilo-Org/kilocode/issues/164) | Extension-side (VS Code InlineCompletionProvider) | P1 |
|
|
|
|
|
| Autocomplete / Ghost | ✅ Done | `AutocompleteInlineCompletionProvider` implements `vscode.InlineCompletionItemProvider` with FIM completions via Kilo Gateway. Includes debouncing, LRU cache, tree-sitter context, bracket matching, and stream-based completion. `AutocompleteServiceManager` registers/unregisters the provider. | Extension-side (VS Code InlineCompletionProvider) | P1 |
|
|
|
|
|
| [Browser Automation & URL Ingestion](non-agent-features/browser-automation-url-ingestion.md) | 🔨 Partial | Playwright MCP integration implemented: settings toggle, BrowserAutomationService, CLI MCP hub registration, BrowserTab settings UI. Missing: URL-to-markdown ingestion, screenshot viewing in chat. | CLI MCP hub (POST /mcp); extension manages lifecycle | P3 |
|
|
|
|
|
| [Checkpoints](non-agent-features/checkpoints.md) | ❌ Not started | No shadow git repo, per-task snapshots, restore UI, or diff viewing. Settings tab is a stub. | CLI (partial: session undo/redo); extension for git snapshots | P1 |
|
|
|
|
|
| [Cloud Task Support](non-agent-features/cloud-task-support.md) | ❌ Not started | No cloud sync for tasks across devices. [#168](https://github.com/Kilo-Org/kilocode/issues/168) | Kilo cloud API + CLI; extension provides UI | P2 |
|
|
|
|
|
| [Cloud Task Support](non-agent-features/cloud-task-support.md) | ❌ Not started | No cloud sync for tasks across devices. | Kilo cloud API + CLI; extension provides UI | P2 |
|
|
|
|
|
| [Code Actions & Editor Menus](non-agent-features/editor-context-menus-and-code-actions.md) | 🔨 Partial | Editor/terminal right-click submenus, CodeActionProvider lightbulb, keyboard shortcuts, and prompt templates implemented. Terminal content capture is a stub (needs shell integration API). Missing: custom prompt overrides via settings. | Extension-side (VS Code CodeActionProvider + menus + keybindings) | P1 |
|
|
|
|
|
| [Code Reviews](non-agent-features/code-reviews.md) | ❌ Not started | No local review mode or automated AI review of uncommitted/branch changes. | CLI (partial); extension for VS Code review UX | P2 |
|
|
|
|
|
| [Codebase Indexing & Semantic Search](non-agent-features/codebase-indexing-semantic-search.md) | ❌ Not started | No vector indexing, semantic search, or embeddings infrastructure. | CLI has grep/glob endpoints; semantic indexing is extension or cloud | P2 |
|
|
|
|
@@ -88,23 +88,23 @@ The rebuild has a working foundation:
|
|
|
|
|
| [Custom Commands](non-agent-features/custom-command-system.md) | ❌ Not started | No slash commands, project-level command discovery, or YAML frontmatter support. | CLI has custom commands; extension provides UI entry points | P2 |
|
|
|
|
|
| [Deploy & Secure Surfaces](non-agent-features/deploy-and-secure-surfaces.md) | ❌ Not started | No deploy workflows, managed indexing UI, or security review surfaces. | Extension-side | P3 |
|
|
|
|
|
| [Fast Edits](non-agent-features/fast-edits.md) | ❌ Not started | No fast edit mode for quick inline code changes. | CLI fast-edit runtime; extension provides UI | P2 |
|
|
|
|
|
| [Git Commit Message Generation](non-agent-features/git-commit-message-generation.md) | ❌ Not started | No AI commit message generation or VS Code Source Control integration. [#165](https://github.com/Kilo-Org/kilocode/issues/165) | Extension-side (VS Code Git API) | P2 |
|
|
|
|
|
| [Git Commit Message Generation](non-agent-features/git-commit-message-generation.md) | ❌ Not started | No AI commit message generation or VS Code Source Control integration. | Extension-side (VS Code Git API) | P2 |
|
|
|
|
|
| [Integrations](non-agent-features/integrations.md) | ❌ Not started | No external system integrations (GitHub, etc.) beyond basic auth. | CLI plugin system (partial); extension for IDE hooks | P3 |
|
|
|
|
|
| Kilo Gateway | ✅ Done | Kilo Gateway (`KILO_GATEWAY_ID = "kilo"`) is the default provider, listed first in ModelSelector via `PROVIDER_ORDER`. Login/logout/org switching fully implemented in `KiloProvider.ts` and `ProfileView.tsx`. Default model selection in ProvidersTab. [#176](https://github.com/Kilo-Org/kilocode/issues/176) | CLI handles gateway connection; extension provides config UI | P0 |
|
|
|
|
|
| Kilo Gateway | ✅ Done | Kilo Gateway (`KILO_GATEWAY_ID = "kilo"`) is the default provider, listed first in ModelSelector via `PROVIDER_ORDER`. Login/logout/org switching fully implemented in `KiloProvider.ts` and `ProfileView.tsx`. Default model selection in ProvidersTab. | CLI handles gateway connection; extension provides config UI | P0 |
|
|
|
|
|
| Localization | ✅ Done | Full i18n system with 16 locales in [`i18n/`](../webview-ui/src/i18n/), three-layer dict merging, locale auto-detection, LanguageTab settings UI with locale selector. | Extension + webview; CLI locale mapping needed | P3 |
|
|
|
|
|
| [Marketplace](non-agent-features/marketplace.md) | 🔨 Partial | Placeholder view exists but is non-functional. No catalog, install, or update capabilities. [#169](https://github.com/Kilo-Org/kilocode/issues/169) | Extension-side | P2 |
|
|
|
|
|
| [Marketplace](non-agent-features/marketplace.md) | 🔨 Partial | Placeholder view exists but is non-functional. No catalog, install, or update capabilities. | Extension-side | P2 |
|
|
|
|
|
| [MCP & MCP Hub](non-agent-features/mcp-and-mcp-hub.md) | 🔨 Partial | MCP types and HTTP client methods added (getMcpStatus, addMcpServer, connectMcpServer, disconnectMcpServer). Used by BrowserAutomationService. Missing: general MCP configuration UI, server management, tool allowlisting, connection status display. | CLI owns MCP lifecycle; extension provides config UI | P1 |
|
|
|
|
|
| [Mode Switcher](non-agent-features/mode-switcher.md) | ✅ Done | ModeSwitcher.tsx implements popover-based agent/mode selector with descriptions, persisted via session.selectAgent(). Integrated into PromptInput. [#162](https://github.com/Kilo-Org/kilocode/issues/162) | CLI manages modes; extension provides switcher UI | P2 |
|
|
|
|
|
| [Model Switcher](non-agent-features/model-switcher.md) | ✅ Done | ModelSelector.tsx implements popover-based selector with search/filter, keyboard navigation, provider grouping, free model tags. Integrated into PromptInput. [#163](https://github.com/Kilo-Org/kilocode/issues/163) | CLI provides model list; extension provides switcher UI | P1 |
|
|
|
|
|
| [Provider Configuration](non-agent-features/provider-configuration.md) | 🔨 Partial | Provider context fetches and exposes provider data, connected providers, defaults, model lists — wired into ModelSelector. ProvidersTab UI still a stub. [#175](https://github.com/Kilo-Org/kilocode/issues/175) | CLI manages providers; extension provides config UI | P1 |
|
|
|
|
|
| [Repository Initialization](non-agent-features/repository-initialization.md) | ❌ Not started | No /init command support for setting up agentic engineering. [#174](https://github.com/Kilo-Org/kilocode/issues/174) | CLI /init endpoint; extension provides UI trigger | P3 |
|
|
|
|
|
| [Rules & Workflows](non-agent-features/rules-and-workflows.md) | ❌ Not started | No rules or workflow management UI. [#173](https://github.com/Kilo-Org/kilocode/issues/173) | CLI owns rules runtime; extension provides management UI | P3 |
|
|
|
|
|
| [Mode Switcher](non-agent-features/mode-switcher.md) | ✅ Done | ModeSwitcher.tsx implements popover-based agent/mode selector with descriptions, persisted via session.selectAgent(). Integrated into PromptInput. | CLI manages modes; extension provides switcher UI | P2 |
|
|
|
|
|
| [Model Switcher](non-agent-features/model-switcher.md) | ✅ Done | ModelSelector.tsx implements popover-based selector with search/filter, keyboard navigation, provider grouping, free model tags. Integrated into PromptInput. | CLI provides model list; extension provides switcher UI | P1 |
|
|
|
|
|
| [Provider Configuration](non-agent-features/provider-configuration.md) | 🔨 Partial | Provider context fetches and exposes provider data, connected providers, defaults, model lists — wired into ModelSelector. ProvidersTab UI still a stub. | CLI manages providers; extension provides config UI | P1 |
|
|
|
|
|
| [Repository Initialization](non-agent-features/repository-initialization.md) | ❌ Not started | No /init command support for setting up agentic engineering. | CLI /init endpoint; extension provides UI trigger | P3 |
|
|
|
|
|
| [Rules & Workflows](non-agent-features/rules-and-workflows.md) | ❌ Not started | No rules or workflow management UI. | CLI owns rules runtime; extension provides management UI | P3 |
|
|
|
|
|
| [Search & Repo Scanning](non-agent-features/search-and-repo-scanning-infrastructure.md) | ❌ Not started | No search infrastructure beyond CLI grep/glob. | CLI has grep/glob; extension may add UI | P2 |
|
|
|
|
|
| [Settings Sync](non-agent-features/settings-sync-integration.md) | ❌ Not started | No VS Code Settings Sync allowlist registration. Settings tabs are all stubs. | Extension-side (VS Code API) | P3 |
|
|
|
|
|
| [Settings UI](non-agent-features/settings-ui.md) | 🔨 Partial | 15-tab settings shell exists. BrowserTab has real settings controls (enable/disable, system Chrome, headless toggles). LanguageTab has working locale selector. Remaining 13 tabs are stubs. [#170](https://github.com/Kilo-Org/kilocode/issues/170) | CLI exposes config; extension provides settings forms | P1 |
|
|
|
|
|
| [Settings UI](non-agent-features/settings-ui.md) | 🔨 Partial | 15-tab settings shell exists. BrowserTab has real settings controls (enable/disable, system Chrome, headless toggles). LanguageTab has working locale selector. Remaining 13 tabs are stubs. | CLI exposes config; extension provides settings forms | P1 |
|
|
|
|
|
| [Skills System](non-agent-features/skills-system.md) | ❌ Not started | No skill discovery, management, or hot-reload in extension. | CLI has skills runtime; extension provides packaging/UI | P2 |
|
|
|
|
|
| [Speech-to-Text](non-agent-features/speech-to-text.md) | ❌ Not started | No voice input or streaming STT. | Webview (mic capture); CLI-compatible STT optional | P3 |
|
|
|
|
|
| [Task History](non-agent-features/task-history.md) | 🔨 Partial | Session list exists but lacks search, metadata, and full persistence. [#167](https://github.com/Kilo-Org/kilocode/issues/167) | CLI session storage; extension provides history UI | P1 |
|
|
|
|
|
| [Task History](non-agent-features/task-history.md) | 🔨 Partial | Session list exists but lacks search, metadata, and full persistence. | CLI session storage; extension provides history UI | P1 |
|
|
|
|
|
| [Telemetry](non-agent-features/telemetry.md) | ❌ Not started | Dual-layer telemetry (PostHog Node server-side + PostHog JS client-side) for extension usage, errors, LLM completions, and AI interactions. Includes privacy controls, typed events, and structured error tracking. See detailed plan. | Extension-side (PostHog + kilo-telemetry) | P1 |
|
|
|
|
|
| [Terminal / Shell Integration](non-agent-features/terminal-shell-integration.md) | ❌ Not started | No VS Code terminal integration for command execution display, exit code tracking, or working directory changes. | CLI executes commands; extension provides terminal UX | P1 |
|
|
|
|
|
|
|
|
|
|