Commit Graph
12971 Commits
Author SHA1 Message Date
Mark IJbema 52cc5d665e fix: return to settings view after migration wizard when opened from settings 2026-03-10 10:42:29 +01:00
github-actions[bot] 035b6d7139 chore: update kilo-vscode visual regression baselines 2026-03-10 08:21:13 +00:00
Mark IJbema 6490d0cac0 refactor(kilo-vscode): remove back button and panelMode from settings/profile panels
Settings and Profile always open as editor panels now, so the back
button is unnecessary (users close the tab) and panelMode detection
is redundant. Cleaned up dead code across App.tsx, Settings, ProfileView,
SettingsEditorProvider, and stories.
2026-03-10 09:19:19 +01:00
kiloconnect[bot] 85583c3daf feat(kilo-vscode): open Settings and Profile in editor panes instead of sidebar
Move Settings and Profile views from the sidebar into VS Code editor
tabs so the chat sidebar remains visible and undisturbed when the user
opens either view.

- Add SettingsEditorProvider that creates singleton WebviewPanels for
  settings and profile, each backed by a dedicated KiloProvider instance
- Update settingsButtonClicked/profileButtonClicked commands to open
  editor panels via SettingsEditorProvider instead of posting action
  messages to the sidebar webview
- Add panel mode detection in App.tsx so the back button closes the
  editor panel rather than navigating to the chat view
2026-03-09 14:40:51 +00:00
Mariusandgithub-actions[bot] 1aa5e554b3 Add sidebar changes review tab in VS Code extension (#6705)
* feat(vscode): open sidebar changes in diff tab

* fix(vscode): stabilize sidebar changes review tab

* chore: update kilo-vscode visual regression baselines

* fix(vscode): harden sidebar changes tab messaging

* refactor(vscode): share review tab helpers

* fix(vscode): clear empty changes loading state

* fix(vscode): correct session state initialization

* fix(vscode): use getVSCodeAPI singleton in diff-viewer to prevent double acquireVsCodeApi call

* fix(vscode): ensure CLI connection before diff fetch and include content in diff hash

- Call connectionService.connect() in DiffViewerProvider.initialFetch() so
  the panel works even if opened before any other Kilo view
- Include full diff content in hashFileDiffs instead of just after.length
  to detect in-place edits that don't change line counts

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-09 15:30:16 +01:00
Mark IJbema 3329921049 Merge pull request #6784 from Kilo-Org/mark/fix-todo-permission-prompt
feat(vscode): show todo permissions inline, add todo progress to TaskHeader
2026-03-09 14:42:10 +01:00
Mark IJbema 7af9a5f726 i18n: add translations for task.todos.progress and task.todos.allDone in all 15 languages 2026-03-09 14:39:46 +01:00
Mariusandgithub-actions[bot] c43ee0743f refactor(agent-manager): add max-lines lint rule and extract large files (#6777)
* refactor(agent-manager): add max-lines lint rule and extract large files

Add ESLint max-lines error at 3000 lines for .ts/.tsx files in the
extension. Extract NewWorktreeDialog into its own file and move review/
file-tree CSS into agent-manager-review.css to bring both violating
files under the limit.

- AgentManagerApp.tsx: 3144 -> 2536 lines
- agent-manager.css: 3159 -> 2728 lines

* fix: update arch tests to scan all CSS/TSX files after extraction

* chore: update kilo-vscode visual regression baselines

* fix: extend lint scope to cover webview-ui/ so max-lines enforces on TSX

* fix: add missing review CSS import to Storybook stories

* chore: update kilo-vscode visual regression baselines

* fix: restore BranchInfo import removed during extraction

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-09 13:25:22 +00:00
Marius f72fc4e81f refactor(agent-manager): decouple vscode imports into thin adapter files (#6782)
* refactor(agent-manager): decouple vscode imports into thin adapter files

Extract vscode dependencies from SessionTerminalManager, SetupScriptRunner,
and SetupScriptService into dedicated adapter files (terminal-host.ts,
task-runner.ts). Business logic modules now depend on injected interfaces
instead of importing vscode directly.

Add architecture tests enforcing the vscode import boundary with maxLines
caps that ratchet down over time, preventing coupling from creeping back.

* fix: update SessionTerminalManager test for renamed TerminalHost methods

* fix: avoid new Promise(async) anti-pattern in task-runner

Move the executeTask await before the Promise constructor so rejections
propagate correctly instead of hanging forever.

* Fix log output
2026-03-09 13:20:11 +00:00
github-actions[bot] ac31960457 chore: update kilo-vscode visual regression baselines 2026-03-09 13:07:43 +00:00
Mark IJbema bf52ea0737 fix(vscode): broaden todo indent selector (remove parent class requirement) 2026-03-09 14:05:49 +01:00
github-actions[bot] f13587903e chore: update kilo-vscode visual regression baselines 2026-03-09 13:01:01 +00:00
Mark IJbema c545591390 fix(vscode): align todo checkboxes with icon in header
The trigger has 8px left padding + 16px icon + 8px gap = 32px total.
Add padding-left: 32px to the todos list inside .vscode-session-turn-assistant
so checkboxes align with the title text in the BasicTool header.
2026-03-09 13:59:14 +01:00
Mark IJbema 14b6c8d5a7 feat(vscode): show todo progress in TaskHeader with expandable list
- Add a collapsible todo section below the task title in TaskHeader
- When todos exist: shows 'N/M to-dos done' (or 'N to-dos done' when all complete)
- All-done state shows in success color
- Click to expand/collapse the full todo list with checkboxes
- Completed todos are shown with strikethrough
- Uses existing kilo-ui Icon, Checkbox components and existing CSS patterns
- Adds CSS for task-header-todos component in chat.css
- Adds i18n keys task.todos.progress and task.todos.allDone
- Adds visual regression stories: TaskHeaderWithTodos and TaskHeaderWithTodosAllDone
2026-03-09 13:59:14 +01:00
Mark IJbema f5341585c4 refactor(vscode): remove HIDDEN_TOOLS alias, use UPSTREAM_SUPPRESSED_TOOLS everywhere 2026-03-09 13:59:14 +01:00
Mark IJbema b3c76a263d refactor(vscode): rename HIDDEN_TOOLS to UPSTREAM_SUPPRESSED_TOOLS and clarify why
todowrite/todoread are suppressed by the upstream message-part renderer
(it returns null for them in PART_MAPPING['tool']). There is no dedicated
'todo dock' in the VS Code extension - the upstream suppression was inherited
without a matching UI feature.

The set is now called UPSTREAM_SUPPRESSED_TOOLS with a comment explaining:
- Why these tools are suppressed by default (upstream returns null)
- When we DO render them (pending permission or completed state)
- Why ChatView uses this set (to not block the prompt for their permissions)

HIDDEN_TOOLS is kept as an alias for backward compatibility with ChatView.
2026-03-09 13:59:14 +01:00
Mark IJbema d9dfca93fc test(vscode): add visual regression stories for todo inline permissions
- TodoWriteWithPermission: shows todowrite pending permission inline
  in the chat with the todo list widget + permission buttons
- TodoWriteCompleted: shows todo list displayed in chat after
  permission is granted and todowrite completes
2026-03-09 12:51:31 +01:00
Mark IJbema fc1008aa23 fix(vscode): add spacing between todo permission description and buttons 2026-03-09 12:50:23 +01:00
Mark IJbema 078b651914 fix(vscode): improve todo permission prompt clarity
- Replace raw '*' pattern with a descriptive label for todo permissions:
  'Update the todo list' for todowrite, 'Read the todo list' for todoread
- Hide meaningless '*' patterns in inline permission prompts (they just
  mean 'all' and are confusing to users)
- Only show patterns for non-todo tools where they are meaningful
  (e.g. file paths for read/edit permissions)
2026-03-09 12:50:23 +01:00
Mark IJbema d51155559a feat(vscode): show todo permissions inline and keep prompt visible
- Show todo tool parts (todowrite/todoread) inline in the chat when
  there's a pending permission request, just like other tool permissions
- After permission is granted and the tool completes, show the todo list
  UI inline in the chat so the user can see what happened
- Keep PromptInput visible when only todo permissions are pending
  (since they're shown inline, not in the bottom dock)
- Use ToolRegistry to render todo tool parts directly, bypassing the
  upstream PART_MAPPING["tool"] which returns null for todo tools
2026-03-09 12:50:23 +01:00
kiloconnect[bot] 94160a095c fix(vscode): show todo permission prompts in bottom dock
todowrite/todoread tool parts are intentionally hidden from the chat
message stream (they have their own dedicated dock UI). However, when
these tools require permission approval, the permission prompt was
invisible because:

1. The inline permission renderer in AssistantMessage filters out hidden
   tool parts, so the attached permission prompt never renders
2. The bottom dock in ChatView only shows permissions without a tool
   context (!p.tool), but todo permissions always have tool context set

Fix by extending the bottom dock filter to also show permissions for
hidden tools, so they render in the dock instead of being swallowed.
2026-03-09 12:50:23 +01:00
Mark IJbema c724bd2866 Merge pull request #6779 from Kilo-Org/session/agent_049c38d4-d0a9-457e-bd12-09be01749596
fix: skip auto-commit of visual regression screenshots for fork PRs
2026-03-09 12:49:50 +01:00
kilo-maintainer[bot] c641957a80 chore: update nix node_modules hashes 2026-03-09 11:43:08 +00:00
Marius 9d6dca1863 feat(vscode): add knip dead code detection to agent-manager (#6773)
* feat(vscode): add knip dead code detection to agent-manager

Add knip to the kilo-vscode package to detect and prevent dead code in
the agent-manager. This includes:

- knip.json config scoped to src/agent-manager/ and webview-ui/agent-manager/
- CI pipeline step in test-vscode.yml to run knip on every PR
- Clean up unused exports: narrow interfaces/types to non-exported where
  only used locally, remove unused re-exports from FileTree.tsx and
  review-comments.ts

* expand knip scope to entire kilo-vscode package

- Widen project scope from agent-manager only to src/**/*.ts and
  webview-ui/**/*.{ts,tsx}
- Exclude vendored src/services/autocomplete/** from analysis
- Enable ignoreExportsUsedInFile for component Props patterns
- Delete 4 dead files: legacy-migration barrel/messages, settings
  barrel, webview telemetry util
- Trim barrel re-exports in cli-backend, telemetry, browser-automation
  to only what consumers actually import through the barrel
- Unexport private helpers: getNonce, joinCspDirectives,
  NEW_EXTENSION_IS_STILL_EXPERIMENTAL flag, getVSCodeAPI,
  dispatchMockProviders, errorCodes
- Narrow 5 unused exported types to non-exported
2026-03-09 12:31:20 +01:00
kiloconnect[bot] 91454991d5 fix: update fork PR error message to direct contributors to Kilo developers 2026-03-09 10:32:52 +00:00
Marius 7b15e8c738 feat: add vscode visual regression testing skill (#6775)
Add a Kilo skill that provides comprehensive instructions for writing
Storybook stories and visual regression tests for the VS Code extension
webview UI. The skill documents the Storybook + Playwright architecture,
StoryProviders API, mock data patterns, snapshot naming conventions,
CI pipeline details, and import path references.
2026-03-09 11:24:14 +01:00
kiloconnect[bot] 8dcf7407e3 fix: skip auto-commit of visual regression screenshots for fork PRs 2026-03-09 10:24:13 +00:00
Marius adf6c03b55 test: add P0 coverage for agent-manager hotspots (#6778)
Add 12 new tests covering previously untested high-risk code paths:

GitOps.workingTreeStats (6 tests):
- numstat parsing for tracked changes
- binary file handling (- entries)
- clean working tree and git failure recovery
- untracked file line counting
- 1MB file size cap enforcement

GitOps conflict handling (2 tests):
- checkApplyPatch with context mismatch
- applyPatch with conflicting changes

buildWorktreePatch security (1 test):
- pathspec filtering rejects absolute paths and .. traversal

WorktreeManager.withGitLock (3 tests):
- concurrent creates serialize without index.lock conflicts
- lock releases after error so next op proceeds
- concurrent remove + create don't conflict
2026-03-09 11:23:44 +01:00
Igor Šćekić 4ae308cc33 Merge pull request #6733 from Kilo-Org/fix/6552-title-session-id-leak 2026-03-09 11:10:48 +01:00
Mark IJbema 1f5a8c80b5 Merge pull request #6748 from ParthProLegend/main
Add installation instructions for GitHub Releases
2026-03-09 11:06:10 +01:00
kilo-maintainer[bot] 818bcb4c38 chore: update nix node_modules hashes 2026-03-09 09:15:07 +00:00
Christiaan Arnoldus 8be177ab2a Merge pull request #6747 from Kilo-Org/revert-6668-christiaan/phase2
Revert "Add support for 5.3 Codex phase parameter to OpenRouter SDK"
2026-03-09 09:59:37 +01:00
Christiaan Arnoldus 9832159d0d Merge pull request #6732 from Kilo-Org/chrarnoldus-patch-1
Update README for improved clarity and links
2026-03-09 09:59:26 +01:00
Joshua Lambert 094fcdf2d1 Merge pull request #6770 from Kilo-Org/docs/remove-kilo-web-from-architecture
docs: remove Kilo Web reference from architecture overview
2026-03-09 00:22:57 -04:00
Joshua Lambert 9760c421ba Merge pull request #6769 from Kilo-Org/jl-minor-docs-fix
Standardize on custom agent path
2026-03-08 22:09:28 -04:00
kiloconnect[bot] a95905b004 docs: remove Kilo Web reference from architecture overview 2026-03-09 01:09:38 +00:00
Josh Lambert 57e1687135 Standardize on custom agent path 2026-03-08 21:05:35 -04:00
Parth 3f4c49634f Merge branch 'main' into main 2026-03-09 05:12:31 +05:30
Joshua Lambert df14a1e3f8 Merge pull request #6760 from Kilo-Org/fix/welcome-screen-theme-colors
fix: use vscode theme color for welcome screen feature icons
2026-03-08 18:14:21 -04:00
Joshua Lambert e14629265f Merge pull request #6712 from Kilo-Org/docs/custom-subagents
docs: add custom subagents configuration page
2026-03-08 18:00:39 -04:00
Joshua Lambert 051e8a7e7f Merge pull request #6764 from Kilo-Org/jl-fix-model-default-order
Change order of model defaults to Mode -> Global Settings Default -> Kilo Default
2026-03-08 17:16:37 -04:00
Josh Lambert 9bc11eaf6c Order of model defaults is Mode->Global Settings Default -> Kilo Default 2026-03-08 13:56:16 -04:00
kilo-code-bot[bot]andkiloconnect[bot] 168685d988 docs: convert Copy page button into dropdown menu with Open markdown and Edit page options (#6763)
* docs: convert Copy page button to dropdown menu with Open markdown and Edit page options

* docs: fix button border highlight and add page footer with actions

- Fix split-button hover: highlight entire button group (both main button and chevron) when hovering any part of the group, using .page-actions:hover parent selector

- Add PageFooter component with horizontal layout showing Copy page, Open markdown, and Edit page actions at the bottom of every docs page

- Footer uses same API endpoints (raw-markdown, resolve-path) and GitHub URL construction as the dropdown button

* fix: remove flex class from article-content to fix PageFooter layout

The article-content div had Tailwind's 'flex' class which set display:flex
with default row direction. The 'column' class was not a valid Tailwind
utility (should be 'flex-col'), so the PageFooter rendered to the right
of page content instead of below it. Removing 'flex column' restores
block layout so children stack vertically.

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-08 10:28:06 -07:00
Josh Lambert a71d8105b5 fix: use vscode theme color for welcome screen feature icons
Remove per-icon color modifier classes (--blue, --purple, --cyan, --orange)
and apply var(--vscode-button-background) on the base .migration-wizard__feature-icon
class so all icons follow the user's chosen theme.
2026-03-08 11:41:00 -04:00
Parth 4f701c2836 Document hidden .kilo file for npm installation
Added note about hidden .kilo file created during npm install.
2026-03-08 04:58:49 +05:30
Parthandkilo-code-bot[bot] 55a40e9420 Update README.md
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-03-08 03:55:24 +05:30
Parth f0df45fdbc Fix typo in Linux ARM download link 2026-03-08 03:50:28 +05:30
Parth da5210b9cd Add npm install note for hidden .kilo file
Added note about hidden `.kilo` file when installing via npm.
2026-03-08 03:49:59 +05:30
Parth 343aa40a09 Fix download links in README for Linux and Windows ARM
Updated download links for Linux and Windows on ARM.
2026-03-08 03:46:17 +05:30
Christiaan Arnoldus 9a6e883050 Revert "Add support for 5.3 Codex phase parameter to OpenRouter SDK" 2026-03-07 23:01:55 +01:00