Commit Graph
11258 Commits
Author SHA1 Message Date
kilo-maintainer[bot] d899af7b55 chore: generate 2026-02-19 18:09:50 +00:00
kilo-maintainer[bot] aee3e1db04 chore: generate 2026-02-19 18:08:56 +00:00
Mark IJbema 319611ee80 Merge pull request #414 from Kilo-Org/mark/context-menu-spec-integration
feat(kilo-vscode): implement editor/terminal context menus, code actions, keyboard shortcuts, and prompt templates
2026-02-19 19:07:42 +01:00
e08b50c47d revert: restore kilo.ai/config.json URLs in config.ts and docs (partial revert of #489) (#494)
* fix: standardize config schema URL to opencode

Replace all occurrences of https://kilo.ai/config.json with
https://opencode.ai/config.json in config source code and CLI docs.

* revert: restore kilo.ai/config.json URLs in config.ts

Reverts the code changes from PR #489 that replaced kilo.ai/config.json
with opencode.ai/config.json in packages/opencode/src/config/config.ts.

The docs changes in cli.md are intentionally kept as opencode.ai/config.json.

* revert: restore kilo.ai/config.json URLs in docs (cli.md)

* Apply suggestions from code review

Co-authored-by: Marius <marius@kilocode.ai>

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Joshua Lambert <25085430+lambertjosh@users.noreply.github.com>
Co-authored-by: Marius <marius@kilocode.ai>
2026-02-19 19:07:33 +01:00
Marius c3767d6843 docs(vscode): add AGENTS.md rule to prefer kilo-ui styles over custom CSS (#475) 2026-02-19 17:42:35 +00:00
Mark IJbema a1ca232cf1 docs(kilo-vscode): integrate old extension context menu spec into migration plan 2026-02-19 17:36:27 +01:00
Mark IJbema 5ea5c90441 Merge pull request #490 from Kilo-Org/schaltwerk/fix-test-file-gitignore
fix: add .vscode-test/ to kilo-vscode gitignore
2026-02-19 17:34:13 +01:00
marius-kilocode 9ff75e9ef1 fix: add .vscode-test/ to kilo-vscode gitignore
The @vscode/test-cli downloads VS Code Electron binaries into
.vscode-test/ when running extension tests. This directory was not
gitignored, causing 1000+ test artifacts to appear in diffs.
2026-02-19 17:31:40 +01:00
Mark IJbema 7f387d5ec4 Merge pull request #488 from Kilo-Org/mark/readme-gif
Merged readme with kilocode repo readme
2026-02-19 17:29:08 +01:00
Mark IJbemaandkiloconnect[bot] 9868bd159b Update README.md
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-02-19 17:10:50 +01:00
Mark IJbema 055ddb459d Merge branch 'dev' into mark/readme-gif 2026-02-19 17:06:19 +01:00
Mark IJbema 06155f8a29 Update README with Kilo Code content and demo gif 2026-02-19 17:04:33 +01:00
kilo-maintainer[bot] 3c8fc231d0 chore: generate 2026-02-19 15:40:27 +00:00
Mark IJbema 80482b1834 Merge pull request #327 from Kilo-Org/mark/feat-commit-message-generation
feat: add commit message generation
2026-02-19 16:38:46 +01:00
Mark IJbema bc27d8924b fix: address kiloconnect review comments on commit message generation
- Use trimEnd() instead of trim() in git() to preserve leading whitespace
  in porcelain output (fixes status parsing for ' M file' lines)
- Remove unused 'untracked' from FileChange status union
- Use repository.rootUri.fsPath instead of workspaceFolders[0]
- Add explicit null-check for client after try/catch
- Fix test mocks: add isActive/activate, use mockImplementation to throw,
  fix expected error message to match production code
2026-02-19 16:26:10 +01:00
Mark IJbema 9faf4c3934 refactor: remove commit message CLI command, keep core logic for clients 2026-02-19 16:26:10 +01:00
Mark IJbema 70df9460d7 fix: activate Git extension before accessing exports 2026-02-19 16:26:10 +01:00
Mark IJbema c071a6c77a fix: parse git rename entries correctly in git-context 2026-02-19 16:26:10 +01:00
Mark IJbema e90630621d fix: remove unused --staged-only CLI option 2026-02-19 16:26:10 +01:00
Mark IJbema bc24a200bb fix: handle getHttpClient() throw in commit message service 2026-02-19 16:26:10 +01:00
Mark IJbema c09c77b8a6 fix: add GitContext type annotation to mock in generate.test.ts
The mockGitContext variable was declared without a type annotation,
causing TypeScript to infer a narrow type from the initial assignment
(status: "modified"). This made reassignment with status: "added"
fail with TS2322. Adding the GitContext type allows all valid status
values.
2026-02-19 16:26:10 +01:00
Mark IJbema 51329c4c65 fix: expand lock file exclusion list to 80+ patterns across 25+ ecosystems 2026-02-19 16:26:10 +01:00
Mark IJbema 158f87f548 feat: add regenerate-different-message support 2026-02-19 16:26:10 +01:00
Mark IJbema 2ecb523f99 fix: enhance commit message prompt with detailed Conventional Commits guidance 2026-02-19 16:26:10 +01:00
Mark IJbema 764f7b203b chore: remove commit message implementation plans from PR 2026-02-19 16:26:09 +01:00
Mark IJbema 561207562b fix: use Kilo logo icon for commit message SCM button 2026-02-19 16:26:09 +01:00
Mark IJbema 0c213086c7 fix: update Basic auth username from opencode to kilo 2026-02-19 16:26:09 +01:00
Mark IJbema a7cc035b0b feat: add commit message generation feature 2026-02-19 16:26:03 +01:00
Marius cab30fb2b4 fix(vscode): track session status per-session so tab switching preserves busy state (#474)
The session context used a single global status signal shared across all
Agent Manager tabs. Switching tabs reset status to idle and dropped SSE
events for non-active sessions, making it impossible to see or abort
busy sessions after a tab switch.

- Replace single statusInfo/busySince signals with per-session stores
- Remove currentSessionID guard from handleSessionStatus so all tracked
  session status events are recorded
- Remove unconditional idle reset in selectSession/clearCurrentSession
- Fetch session statuses from server on tab switch to recover any
  missed SSE events
- Forward full retry info (attempt, message, next) in SSE status events
2026-02-19 15:50:24 +01:00
Christiaan Arnoldus 70aaa02985 Merge pull request #344 from Kilo-Org/feat/dynamic-recommended-models
feat: load recommended models dynamically from models endpoint
2026-02-19 15:39:22 +01:00
Marius 87fc1cd087 refactor(vscode): use consistent kilo-ui styling in agent manager (#473)
Replace hardcoded values with kilo-ui design tokens throughout the
agent manager CSS: border-radius uses --radius-* tokens, font sizes
use --font-size-* tokens, colors use single semantic token references
instead of triple-fallback var() chains with hex defaults, and
interactive states use :active opacity instead of CSS transitions.
Replace raw tab close <button> with IconButton component.
2026-02-19 09:08:11 -05:00
Marius b4f0ad183a fix(vscode): use session directory for @ file search in agent manager worktrees (#469)
requestFileSearch handler called getWorkspaceDirectory() without a
sessionId, so @ file mentions in Agent Manager worktree sessions always
searched the main workspace instead of the worktree directory. This
meant files only in the worktree branch were not found, and shared
files could resolve to the wrong copy.

Pass currentSession.id so the sessionDirectories map is consulted,
matching the pattern every other handler already follows.
2026-02-19 14:52:42 +01:00
Mark IJbema 2e9c140282 Merge pull request #462 from Kilo-Org/mark/llm-completion-telemetry
feat: emit LLM_COMPLETION telemetry event after each LLM stream finishes
2026-02-19 14:27:07 +01:00
Igor Šćekić 99f0c11d9d Merge pull request #470 from Kilo-Org/fix/browsertool-missing-directory-header
fix(vscode): pass workspace directory in MCP requests for browser tool registration
2026-02-19 14:18:18 +01:00
kilo-maintainer[bot] 1a9c9c0ace chore: update nix node_modules hashes 2026-02-19 13:05:00 +00:00
Evgeny Shurakov 2a0ce007b1 Merge pull request #448 from Kilo-Org/eshurakov/send-git-to-ingest
KiloSessions - Send git remote URL and branch to ingest
2026-02-19 13:56:14 +01:00
Igor Šćekić 7b5df6e292 fix(vscode): pass workspace directory in MCP requests so browser tools register in the correct project state
MCP HTTP methods (addMcpServer, disconnectMcpServer, getMcpStatus,
connectMcpServer) were not sending the x-opencode-directory header.
The server fell back to process.cwd(), creating the Playwright MCP
client in a different Instance.state() bucket than the one used when
the agent processes messages. The browser tools appeared registered
but were invisible to the agent.

Fixes #292
2026-02-19 13:51:54 +01:00
kilo-maintainer[bot] 74b3afaacb chore: generate 2026-02-19 12:51:37 +00:00
Catriel Müller a21d172a75 Merge pull request #450 from Kilo-Org/fix/bin-kilo-syntax-error
fix: restore bin/kilo findBinary from botched merge resolution
2026-02-19 09:50:50 -03:00
Evgeny Shurakov 582dd685c0 fix(kilo-sessions): scope git URL cache key per worktree 2026-02-19 13:48:37 +01:00
Igor Šćekić c156cb4dea Merge pull request #468 from Kilo-Org/feat/escape-abort-session
feat(vscode): abort session with Escape key
2026-02-19 13:45:03 +01:00
Igor Šćekić cc51049010 fix: add stopPropagation to abort Escape handler to prevent double abort 2026-02-19 13:05:32 +01:00
Igor Šćekić 26a9519685 feat(vscode): abort session with Escape key
Pressing Escape now aborts a busy session in the VS Code extension,
matching the behavior of the web app. Works whether the textarea is
focused or not. Ghost text dismissal still takes priority over abort
when both conditions are true.
2026-02-19 13:00:02 +01:00
Marius 8b1d782a25 feat(agent-manager): worktree state architecture with session tabs (#451)
* tmp

* feat(agent-manager): read-only mode for unassigned sessions, tooltip fix, worktree validation

* tmp

* fix keydown

* feat(agent-manager): replace empty worktree hint with 'New Worktree' button

* fix(agent-manager): validate message params before dispatching handlers

* fix(agent-manager): clear stale directory mappings on worktree deletion, remove unused code

* feat(agent-manager): auto-focus prompt input on session switch and panel focus

* refactor(agent-manager): rename short var wt to worktree

* fix(agent-manager): local tabs with pending session support and serialized saves

- Add pending tab system for local sessions (pending:N IDs in localSessionIDs)
- Show 'New Session' tab on first start, empty state when all tabs closed
- Pending tabs behave like normal tabs (closable, selectable, keyboard nav)
- Guard against duplicate sessionCreated events (HTTP + SSE)
- Serialize WorktreeStateManager saves to prevent concurrent write races
- Add flush() method and use it in tests to eliminate flaky failures

* refactor(agent-manager): rename short var mgr to manager
2026-02-19 12:55:27 +01:00
Christiaan Arnoldus f1e23c1b87 Remove fallback 2026-02-19 12:41:57 +01:00
Evgeny Shurakov 69135ca636 feat(kilo-sessions): normalize git remote URLs to strip credentials, query params, and hash 2026-02-19 12:22:21 +01:00
Christiaan Arnoldus 6e4c6a3191 Merge pull request #417 from Kilo-Org/revert-415-revert-331-session/agent_8ba846fa-10ac-4d6d-a61a-d26dd567770c
feat: add X-KiloCode-MachineId header to API requests
2026-02-19 11:54:04 +01:00
Christiaan Arnoldus 51a1297d9c Merge branch 'dev' into feat/dynamic-recommended-models 2026-02-19 11:50:21 +01:00
Marius 46e06264da feat(agent-manager): add fixed local session tab with branch display and persistence (#446)
* tmp

* tmp

* tmp

* feat(agent-manager): add fixed local session tab with branch display and persistence

Add a dedicated local session item at the top of the agent manager sidebar
that always runs in the main repo (never a worktree). The local session
persists across panel reopens via vscode webview state, shows the current
git branch name (refreshed on click), and supports keyboard navigation.

Extract navigation logic into a pure testable function with 16 unit tests.

* fix(agent-manager): invalidate stale persisted localSessionID on recovery

The local session ID was persisted to webview state but never checked
against the actual sessions list on recovery. If the session was deleted
or expired between VS Code reloads, the UI would get stuck selecting a
ghost session with no way to recover.
2026-02-19 11:49:15 +01:00
Mark IJbema 32e04107ea Merge pull request #464 from Kilo-Org/mark/update-migration-plan-done-items
docs: update migration plan — mark completed features as done
2026-02-19 11:47:07 +01:00