Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4145 commits
Select commit Hold shift + click to select a range
26a96b3
Merge pull request #12601 from Kilo-Org/fix/exclude-gpt-5-6-chatgpt
chrarnoldus Jul 29, 2026
92076e7
feat(tui): register `/auto-approve` slash command for toggling auto-a…
IamCoder18 Jul 29, 2026
cd266e8
fix(cli): show skill shell commands in ACP permission prompts
bagatao-anaconda Jul 29, 2026
3cef158
fix(cli): confine downloaded skills to the cache directory
bagatao-anaconda Jul 29, 2026
8a47d8b
fix(vscode): stop flashing interruption warning on queued follow-up h…
marius-kilocode Jul 29, 2026
2d83778
fix(cli): bound skill shell execution (cwd, abort, timeout, output cap)
bagatao-anaconda Jul 29, 2026
8f47257
fix(cli): harden skill shell permission prompt display
bagatao-anaconda Jul 29, 2026
26dac19
feat(i18n): mention @ file references in chat input placeholder (#11984)
sylwester-liljegren Jul 29, 2026
3877da6
Merge branch 'main' into feat/execute-cmds-in-skill-context
bagatao-anaconda Jul 29, 2026
304c75e
feat(telemetry): include host OS properties
chrarnoldus Jul 29, 2026
a891329
refactor(telemetry): preserve event property precedence
chrarnoldus Jul 29, 2026
e4fcb06
Merge pull request #12639 from Kilo-Org/fix-premature-stop-warning-fl…
marius-kilocode Jul 29, 2026
9275fa4
test(vscode): expect interactive flag in permission reply assertions
bagatao-anaconda Jul 29, 2026
a86eb58
Merge remote-tracking branch 'origin/main' into feat/execute-cmds-in-…
bagatao-anaconda Jul 29, 2026
a036485
release: v7.4.17
kilo-maintainer[bot] Jul 29, 2026
83914dd
chore(jetbrains): bump CLI pin to v7.4.17
kilo-maintainer[bot] Jul 29, 2026
3ab1122
feat(agent-manager): add diff scope selector and base branch picker
marius-kilocode Jul 29, 2026
5b5f96a
Merge branch 'main' into remove-unused-cli-code
marius-kilocode Jul 29, 2026
74a30e0
Merge branch 'main' into plan-agent-manager-diff-viewer-integration
marius-kilocode Jul 29, 2026
af4bd4d
Merge branch 'main' into fluttering-belt
chrarnoldus Jul 29, 2026
5ad8b2f
fix(cli): promote stable releases to rc (#12647)
marius-kilocode Jul 29, 2026
32fd1c9
Merge pull request #12641 from Kilo-Org/fluttering-belt
chrarnoldus Jul 29, 2026
efe3f62
refactor(vscode): share webview provider shell (#12648)
marius-kilocode Jul 29, 2026
1ed1a48
fix(cli): display verbatim skill commands in the permission prompt
bagatao-anaconda Jul 29, 2026
21d9680
refactor(agent-manager): consolidate import transaction (#12651)
marius-kilocode Jul 29, 2026
bba2dba
refactor(vscode): deduplicate config snapshots (#12650)
marius-kilocode Jul 29, 2026
3655be4
fix(cli): authorize verbatim skill commands to block cd-chained escapes
bagatao-anaconda Jul 29, 2026
6497a8d
fix(cli): fail closed when a skill batch has no authorizable commands
bagatao-anaconda Jul 29, 2026
d6380b2
feat(vscode): add Persian (Farsi) UI language (#12424)
bsflasher Jul 29, 2026
6b1b017
fix(cli): resolve a parseable shell for skill command injection
bagatao-anaconda Jul 29, 2026
572d8fd
fix(cli): let human surfaces approve skill shell batches
bagatao-anaconda Jul 29, 2026
70f6271
fix(cli): drop trust for skills symlinked into the project
bagatao-anaconda Jul 29, 2026
da328df
fix(cli): validate and origin-pin remote skill downloads
bagatao-anaconda Jul 29, 2026
dbcd582
fix(agent-manager): keep terminal cursor visible (#12658)
marius-kilocode Jul 29, 2026
3e7850b
Merge remote-tracking branch 'origin/main' into abalone-bactrosaurus
marius-kilocode Jul 29, 2026
8205f35
fix(cli): tighten skill shell execution and prompt-display bounds
bagatao-anaconda Jul 29, 2026
6e46b80
fix(cli): honor the kill-switch for skill slash-command shell
bagatao-anaconda Jul 29, 2026
b29bb95
Merge remote-tracking branch 'origin/main' into feat/execute-cmds-in-…
bagatao-anaconda Jul 29, 2026
2da0517
chore(cli): annotate skill download changes with kilocode_change markers
bagatao-anaconda Jul 29, 2026
5e57517
Merge branch 'main' into chore/jetbrains-centralize-test-dependency-v…
hdcodedev Jul 29, 2026
d579774
fix(ci): docs-sync bot passes --auto, drains its backlog, and reports…
iscekic Jul 29, 2026
13a4a5c
docs(agent-manager): document session overview, prompt, and stop
emilieschario Jul 29, 2026
dc8def2
docs(docs): add keyboard shortcut for reasoning effort variants
emilieschario Jul 29, 2026
771e809
docs(kilo-docs): add documentation for referencing past chats via @ m…
emilieschario Jul 29, 2026
97dd045
Merge branch 'feat/execute-cmds-in-skill-context' into feat/execute-c…
bagatao-anaconda Jul 29, 2026
558cfee
Merge pull request #12608 from hdcodedev/chore/jetbrains-centralize-t…
kirillk Jul 29, 2026
6265436
docs(checkpoints): document revert banner warnings and snapshot resto…
emilieschario Jul 29, 2026
eeb8c40
docs(kilo-docs): add CLI usage section for Cloud Agents
emilieschario Jul 29, 2026
95b2bdc
Merge pull request #12662 from Kilo-Org/docs/past-chats-context-mention
lambertjosh Jul 29, 2026
a76aea7
Merge pull request #12661 from Kilo-Org/session/agent_5049bc3a-0abb-4…
emilieschario Jul 29, 2026
98b5423
fix(jetbrains): align changes tree badges
kirillk Jul 29, 2026
1c1f17f
docs: document mobile app remote sessions, PR review, and session cost
emilieschario Jul 29, 2026
ea161e0
fix(vscode): align skill-shell permission prompt with CLI backend
bagatao-anaconda Jul 29, 2026
b64fc35
i18n(vscode): translate skill-shell permission prompt title
bagatao-anaconda Jul 29, 2026
8b6bc15
docs(kilo-docs): document JetBrains plugin settings
emilieschario Jul 29, 2026
cced1fd
docs(kilo-docs): update auto-approve settings documentation
emilieschario Jul 29, 2026
485727c
Merge pull request #12669 from Kilo-Org/session/agent_d1b1af85-0b40-4…
emilieschario Jul 29, 2026
969ca60
Merge pull request #12668 from Kilo-Org/docs/jetbrains-settings
emilieschario Jul 29, 2026
d7c6d0a
Merge pull request #12667 from Kilo-Org/docs/mobile-app-new-features
emilieschario Jul 29, 2026
0912f94
docs(kilo-docs): rewrite skill archive bullet as prose
kilo-code-bot[bot] Jul 29, 2026
cf9c9dc
docs(kilo-docs): fold orphaned skills bullet into paragraph
kilo-code-bot[bot] Jul 29, 2026
592d241
Merge pull request #12663 from Kilo-Org/session/agent_31de1956-06ff-4…
emilieschario Jul 29, 2026
59bb9e4
chore(vscode): add isolated extension launch configs
kirillk Jul 29, 2026
af4cb42
fix(vscode): persist MCP server toggle state (#12624)
Hardik180704 Jul 29, 2026
1b134ce
Update Cerebras model IDs (#12620)
ryanl-cerebras Jul 29, 2026
d29b854
chore(vscode): explain missing isolated state path
kirillk Jul 29, 2026
17e380a
fix(vscode): pass isolated state path to clean task
kirillk Jul 29, 2026
50eec43
fix(vscode): avoid shell quoting in clean task
kirillk Jul 29, 2026
72591f7
fix(jetbrains): polish branch diff tree
kirillk Jul 29, 2026
3a9c5ae
fix(vscode): use profiles for isolated extension debugging
kirillk Jul 29, 2026
623cba4
Merge remote-tracking branch 'origin/main' into feat/websearch-config…
lambertjosh Jul 29, 2026
e6bdd4b
fix(vscode): launch fully isolated dev instance
kirillk Jul 29, 2026
54f5b73
feat(vscode): prompt for isolated launch workspace
kirillk Jul 29, 2026
b9770df
fix(jetbrains): improve diff navigation reload
kirillk Jul 29, 2026
3b8bd23
Merge pull request #12660 from Kilo-Org/docs/agent-manager-tool-manag…
emilieschario Jul 29, 2026
c8548b8
feat(vscode): add isolated extension scripts
kirillk Jul 29, 2026
c2e600e
feat(vscode): expose isolated extension scripts at root
kirillk Jul 29, 2026
74ec8f5
fix(vscode): use positional workspace for isolated scripts
kirillk Jul 29, 2026
f4e2b5a
fix(jetbrains): show stale diff refresh banner
kirillk Jul 29, 2026
f0f29d0
feat(jetbrains): enhance branch diff tree view
kirillk Jul 30, 2026
3a2309c
fix(vscode): clarify web search config scope
lambertjosh Jul 30, 2026
ddd3557
docs: address review - use built-in Mixlayer provider + /connect
sodiumsun Jul 30, 2026
21263db
docs: fix intro to reference built-in provider (not OpenAI Compatible)
sodiumsun Jul 30, 2026
2d2b73d
docs: remove stale limit.output reference in tips
sodiumsun Jul 30, 2026
f42ac42
Merge branch 'main' into docs/add-mixlayer-provider
lambertjosh Jul 30, 2026
49223b3
feat(agent-manager): run project scripts in the embedded side terminal
marius-kilocode Jul 30, 2026
22d1a50
feat(agent-manager): add run terminal destination setting
marius-kilocode Jul 30, 2026
9bbf2da
refactor(agent-manager): move project domain into src/agent-manager/p…
marius-kilocode Jul 30, 2026
f0d2c8f
fix(vscode): improve long-session prompt navigation (#12656)
marius-kilocode Jul 30, 2026
4016919
fix(agent-manager): route run through terminal dropdown
marius-kilocode Jul 30, 2026
c94d664
fix(agent-manager): compact diff review controls
marius-kilocode Jul 30, 2026
fad011b
chore: remove Agent Manager diff implementation plan
marius-kilocode Jul 30, 2026
c038ce8
Merge remote-tracking branch 'origin/main' into plan-agent-manager-di…
marius-kilocode Jul 30, 2026
4c4fbc1
fix(i18n): add Persian Agent Manager diff tooltip
marius-kilocode Jul 30, 2026
cd1b4e8
chore: update kilo-vscode visual regression baselines
kilo-maintainer[bot] Jul 30, 2026
878afff
Merge pull request #12681 from Kilo-Org/plan-agent-manager-diff-viewe…
marius-kilocode Jul 30, 2026
ed9e132
fix(cli): reduce startup time by deferring Kilo module loading and te…
marius-kilocode Jul 30, 2026
9ab316e
test(telemetry): assert profile cache file mode only on POSIX
marius-kilocode Jul 30, 2026
3a829f5
chore: remove implementation plan
marius-kilocode Jul 30, 2026
d7f8da9
fix(core): include underlying reason in ripgrep execution failures
chrarnoldus Jul 30, 2026
c1de91a
fix(cli): address review feedback on startup changes
marius-kilocode Jul 30, 2026
a6f6655
fix(agent-manager): address run terminal review findings
marius-kilocode Jul 30, 2026
a282a14
fix(agent-manager): keep provider below size cap
marius-kilocode Jul 30, 2026
3e62398
docs: link sidebar parity tracking issues from shipping gaps
marius-kilocode Jul 30, 2026
11a011e
refactor(agent-manager): extract multi-version creation into its own …
marius-kilocode Jul 30, 2026
e16350d
Merge branch 'main' into feat/websearch-config-setting
lambertjosh Jul 30, 2026
189d734
refactor(cli): move remote-skill path validation into kilocode
bagatao-anaconda Jul 30, 2026
b704f46
refactor(cli): move ACP skill-shell prompt presentation into kilocode
bagatao-anaconda Jul 30, 2026
e60b06e
style: wrap config context import for prettier
marius-kilocode Jul 30, 2026
624b589
fix(cli): remove unset config keys from every layered config file
marius-kilocode Jul 30, 2026
e19c4c7
refactor(tui): extract skill-shell prompt presentation into kilocode
bagatao-anaconda Jul 30, 2026
b69f8e6
Merge remote-tracking branch 'origin/main' into feat/execute-cmds-in-…
bagatao-anaconda Jul 30, 2026
280c117
fix(cli): stop HttpApi exerciser hanging on blocking auth probes
marius-kilocode Jul 30, 2026
85f4c0a
chore(cli): drop accidentally committed local tui state
marius-kilocode Jul 30, 2026
6f9ee94
Merge pull request #12599 from Kilo-Org/remove-unused-cli-code
marius-kilocode Jul 30, 2026
91245af
Merge pull request #12500 from sodiumsun/docs/add-mixlayer-provider
lambertjosh Jul 30, 2026
4c0fcb0
Merge pull request #12687 from Kilo-Org/yielding-newsboy
marius-kilocode Jul 30, 2026
cc082a7
Merge pull request #12680 from Kilo-Org/move-run-capability-to-agent-…
marius-kilocode Jul 30, 2026
db74ede
Merge pull request #12664 from Kilo-Org/session/agent_b2f0c1c4-9afa-4…
emilieschario Jul 30, 2026
759139d
Merge pull request #12682 from Kilo-Org/improve-kilo-cli-startup-perf…
marius-kilocode Jul 30, 2026
bd0d1f0
Merge pull request #12369 from Kilo-Org/feat/websearch-config-setting
lambertjosh Jul 30, 2026
faf0236
fix(vscode): list past chats across the worktree family
marius-kilocode Jul 30, 2026
301c14e
fix(agent-manager): make Cmd+/ terminal toggle reliable and sidebar-s…
marius-kilocode Jul 30, 2026
22ca041
Merge pull request #12692 from Kilo-Org/fix/vscode-past-chats-worktre…
marius-kilocode Jul 30, 2026
70eeaff
Merge pull request #12684 from Kilo-Org/gilded-impulse
chrarnoldus Jul 30, 2026
d16b6da
Merge remote-tracking branch 'origin/main' into abalone-bactrosaurus
marius-kilocode Jul 30, 2026
1e2a7f1
fix(agent-manager): align panel terminal tabs with session tabs
marius-kilocode Jul 30, 2026
e0d42fc
fix(core): re-check models.dev cache under the flock before refetching
marius-kilocode Jul 30, 2026
1cd81a9
fix(agent-manager): open terminal when switching worktrees (#12689)
marius-kilocode Jul 30, 2026
a2b22d0
fix(agent-manager): propagate base branch override to active diff source
marius-kilocode Jul 30, 2026
1511eb6
Merge pull request #12604 from Kilo-Org/feat/execute-cmds-in-skill-co…
bagatao-anaconda Jul 30, 2026
5e283d6
Merge pull request #12693 from Kilo-Org/grape-airedale
marius-kilocode Jul 30, 2026
ff7fdf6
fix(agent-manager): preserve diff watch mode across base changes
marius-kilocode Jul 30, 2026
fcbb0cc
Merge pull request #12696 from Kilo-Org/tabby-modem
marius-kilocode Jul 30, 2026
af6bb00
fix(agent-manager): align Cmd+/ fallback with platform binding and on…
marius-kilocode Jul 30, 2026
8e9464e
Merge remote-tracking branch 'origin/main' into feat/execute-cmds-in-…
bagatao-anaconda Jul 30, 2026
7fcdd11
Merge branch 'main' into abalone-bactrosaurus
marius-kilocode Jul 30, 2026
1c0b74a
docs(vscode): document isolated extension launches
kirillk Jul 30, 2026
89caab9
docs(cli): deprecate Kilo Console
lambertjosh Jul 30, 2026
f695425
fix: surface provider error details from Responses API stream failures
chrarnoldus Jul 30, 2026
9fbe502
Apply suggestion from @lambertjosh
lambertjosh Jul 30, 2026
0bcb019
Apply suggestion from @lambertjosh
lambertjosh Jul 30, 2026
1836c1d
Merge pull request #12576 from Kilo-Org/docs/nvidia-byok-provider
lambertjosh Jul 30, 2026
f1e85e2
fix(vscode): parse isolated launch workspace args
kirillk Jul 30, 2026
7163f2e
Apply suggestions from code review
lambertjosh Jul 30, 2026
0e3ce11
fix: align ai core with provider packages in lockstep, drop bedrock bump
chrarnoldus Jul 30, 2026
7de446f
fix(cli): warn when launching deprecated Console
lambertjosh Jul 30, 2026
1d1630b
fix(cli): settle signal-terminated shell commands as 128 + signum (#1…
marius-kilocode Jul 30, 2026
0d923d0
fix(memory): accept extra digest fields (#12675)
Hardik180704 Jul 30, 2026
861e2e5
fix: render responses stream failure frames as clean provider errors
chrarnoldus Jul 30, 2026
018d3dc
test(cli): cover the external_directory ask for out-of-project skill …
bagatao-anaconda Jul 30, 2026
6bfb59c
fix(jetbrains): improve inline diff controls
kirillk Jul 30, 2026
69cde59
docs(cli): describe the second external_directory prompt in inject.ts
bagatao-anaconda Jul 30, 2026
2a9a81c
Merge remote-tracking branch 'origin/main' into feat/execute-cmds-in-…
bagatao-anaconda Jul 30, 2026
52447ed
fix(agent-manager): scope run-script state to the owning project
marius-kilocode Jul 30, 2026
6a0482d
Merge remote-tracking branch 'origin/abalone-bactrosaurus' into abalo…
marius-kilocode Jul 30, 2026
9779216
fix: cover envelope-less stream error shapes and unlisted codes
chrarnoldus Jul 30, 2026
677b315
refactor: parse stream error frames with zod
chrarnoldus Jul 30, 2026
31d844a
fix: keep stream error retryability on par with previous heuristics
chrarnoldus Jul 30, 2026
166d04e
Merge pull request #12566 from Kilo-Org/abalone-bactrosaurus
marius-kilocode Jul 30, 2026
411f28f
fix: accept null error fields and narrow message retry heuristics
chrarnoldus Jul 30, 2026
5076b62
feat(agent-manager): run setup scripts in panel terminal
marius-kilocode Jul 30, 2026
e4a739a
chore(agent-manager): keep provider within size cap
marius-kilocode Jul 30, 2026
1856f20
refactor(agent-manager): extract setup panel predicates
marius-kilocode Jul 30, 2026
59bfcfd
test(agent-manager): cover multi-project setup terminals
marius-kilocode Jul 30, 2026
5c140b1
feat(agent-manager): key diff review by selection with per-session sc…
marius-kilocode Jul 30, 2026
7623676
Merge branch 'main' into feat/agent-manager-setup-terminal
marius-kilocode Jul 30, 2026
a725062
Apply suggestion from @lambertjosh
lambertjosh Jul 30, 2026
a7d72e2
Merge pull request #12703 from Kilo-Org/feat/agent-manager-setup-term…
marius-kilocode Jul 30, 2026
17b49c8
Apply suggestions from code review
lambertjosh Jul 30, 2026
9245279
fix: match hyphenated rate-limit prose in retry heuristics
chrarnoldus Jul 30, 2026
f2ab2ad
docs(cli): regenerate Console reference
lambertjosh Jul 30, 2026
e07d7d4
docs: refresh stale schema comments
chrarnoldus Jul 30, 2026
ab9a80b
fix(jetbrains): align session part headers
kirillk Jul 30, 2026
e3c7202
Merge remote-tracking branch 'origin/main' into research-kilo-console…
lambertjosh Jul 30, 2026
04c8e64
fix(jetbrains): standardize diff header spacing
kirillk Jul 30, 2026
52e1756
Merge branch 'main' into equable-stinger
chrarnoldus Jul 30, 2026
c68a84b
fix(jetbrains): align file change headers
kirillk Jul 30, 2026
2ef92e2
Merge pull request #12700 from Kilo-Org/equable-stinger
chrarnoldus Jul 30, 2026
2842ed6
fix(vscode): expand isolated launch app path
kirillk Jul 30, 2026
1b78d34
fix(jetbrains): open edit diffs from transcript
kirillk Jul 30, 2026
e959534
chore: update nix node_modules hashes
kilo-maintainer[bot] Jul 30, 2026
ce8781c
docs: add JetBrains icon skill
kirillk Jul 30, 2026
93f8236
Merge branch 'main' into trusting-speech
kirillk Jul 30, 2026
05b520e
fix(jetbrains): show diff actions on hover
kirillk Jul 30, 2026
9837b4d
fix(docs-sync): intercept revert PRs and calibrate prompts (#12708)
iscekic Jul 30, 2026
59387f8
docs: clarify JetBrains icon skill guidance
kirillk Jul 30, 2026
fa8d5d1
docs: remove icon copyright requirement
kirillk Jul 30, 2026
8e91c31
docs: make icon-jetbrains skill the single source of truth for SVG au…
kilo-code-bot[bot] Jul 30, 2026
5ff8712
docs(jetbrains): defer icon sizing to icon-jetbrains skill as source …
kilo-code-bot[bot] Jul 30, 2026
05488c9
docs: clarify icon-jetbrains paths are flat in-repo, expui/ is upstre…
kilo-code-bot[bot] Jul 30, 2026
e5479c0
docs: move icon skill note into its own section
kilo-code-bot[bot] Jul 30, 2026
ffce3e4
docs(jetbrains): fix truncated SVG path data in icon examples
kilo-code-bot[bot] Jul 30, 2026
aa79e0f
fix(docs): use kebab-case filename rule and acknowledge views/ subfolder
kilo-code-bot[bot] Jul 30, 2026
b1bc59f
feat(jetbrains): show branch changes in session header
kirillk Jul 30, 2026
38fe87d
fix(docs): revert icon filename rule to camelCase, reference PR #12713
kilo-code-bot[bot] Jul 30, 2026
1e8afc8
docs(jetbrains): clarify icons/views/ subfolder in generation workflo…
kilo-code-bot[bot] Jul 30, 2026
8a87471
fix: revert icon naming to camelCase and clarify views/ placement
kilo-code-bot[bot] Jul 30, 2026
a1c7108
docs(jetbrains): require camelCase icon filenames per #12713
kilo-code-bot[bot] Jul 30, 2026
8a15b00
fix(jetbrains): center branch changes badge content
kirillk Jul 30, 2026
17bda33
fix(jetbrains): tighten session header title gap
kirillk Jul 30, 2026
a103f4a
fix(jetbrains): restore diff tree toolbar actions
kirillk Jul 30, 2026
7cbe92e
Merge pull request #12644 from Kilo-Org/chore/jetbrains-cli-pin-v7.4.17
kirillk Jul 30, 2026
55ea1c2
docs: require kebab-case icon names and drop upstream-only wiring fro…
kirillk Jul 30, 2026
e3a2454
fix(jetbrains): address session diff review feedback
kirillk Jul 30, 2026
5b0a958
docs: drop upstream-only icon guidance from icon-jetbrains skill
kirillk Jul 30, 2026
049e270
docs: note SVG icons are resolution-independent (no @2x)
kirillk Jul 30, 2026
568b21c
fix(jetbrains): drop dead IdeActions import, assert real diff toolbar
kirillk Jul 30, 2026
a0e6273
fix(jetbrains): render full-context diffs instead of green raw patch
kirillk Jul 30, 2026
5bd6fc0
docs: use real icon filenames and fix HiDPI/placement wording
kirillk Jul 30, 2026
7d65efa
Merge remote-tracking branch 'origin/main' into lovely-wallflower
kirillk Jul 30, 2026
79ac066
fix(jetbrains): bound branch-diff patch fetching and preserve promote…
kirillk Jul 30, 2026
56e0785
fix(jetbrains): handle compacted summaries and queued permission ghosts
kirillk Jul 31, 2026
57a9a60
fix(vscode): restore Agent Manager terminals (#12720)
marius-kilocode Jul 31, 2026
5678c09
fix(agent-manager): keep detail pane for unassigned sessions (#12722)
marius-kilocode Jul 31, 2026
ff149d4
feat(jetbrains): show skill-shell command batch in permission card
bagatao-anaconda Jul 31, 2026
86e5507
i18n(jetbrains): translate skill-shell permission card title
bagatao-anaconda Jul 31, 2026
5577903
fix(jetbrains): escape the skill name in the skill-shell permission h…
bagatao-anaconda Jul 31, 2026
e804131
i18n(jetbrains): fix mismatched closing quotes in skill-shell title
bagatao-anaconda Jul 31, 2026
77b9adf
i18n(vscode): use literal curly quotes instead of \u escapes
bagatao-anaconda Jul 31, 2026
a1ad65e
fix(cli): stabilize Windows CI tests and rebalance slow shards (#12723)
marius-kilocode Jul 31, 2026
1a34037
fix(cli): handle missing nested config unsets (#12727)
marius-kilocode Jul 31, 2026
96ce700
fix(indexing): improvements to semantic_search tool description
shssoichiro Jul 15, 2026
2a0e517
Merge pull request #12701 from Kilo-Org/research-kilo-console-documen…
lambertjosh Jul 31, 2026
3af9c50
Merge pull request #12227 from shssoichiro/fix/issue-10271
marius-kilocode Jul 31, 2026
36fbfbc
fix(jetbrains): keep permission queue deterministic and authoritative
kirillk Jul 31, 2026
51d7ddb
Merge pull request #12606 from Kilo-Org/feat/execute-cmds-in-skill-co…
bagatao-anaconda Jul 31, 2026
d95002c
Merge pull request #12724 from Kilo-Org/feat/execute-cmds-in-skill-co…
bagatao-anaconda Jul 31, 2026
e20f5ec
fix(jetbrains): keep skill-shell card queued when enabling auto-approve
kirillk Jul 31, 2026
84b8b96
fix(vscode): make cache hit rate write-aware
marius-kilocode Jul 31, 2026
38b7d57
Merge pull request #12738 from Kilo-Org/mountainous-shroud
marius-kilocode Jul 31, 2026
3a923f3
fix(cli): suppress AI SDK system message warning in TUI (#12739)
marius-kilocode Jul 31, 2026
20c6064
Merge pull request #12612 from Kilo-Org/lovely-wallflower
kirillk Jul 31, 2026
2c8fe02
docs: teach stroke-scaling and round-cap clipping in icon skill
kirillk Jul 31, 2026
dc902df
release(jetbrains): v7.0.12-rc.3
kilo-maintainer[bot] Jul 31, 2026
deb08fe
Merge pull request #12742 from Kilo-Org/jetbrains/release/v7.0.12-rc.3
kirillk Jul 31, 2026
acb8a04
Merge branch 'main' into add-icon-jetbrains-skill
kirillk Jul 31, 2026
ed8d537
Merge pull request #12711 from Kilo-Org/add-icon-jetbrains-skill
kirillk Jul 31, 2026
3bf4743
Update packages/kilo-docs/pages/ai-providers/daoxe.md
lambertjosh Jul 31, 2026
7530f15
Merge branch 'main' into docs/daoxe-provider-guide
lambertjosh Jul 31, 2026
5d2d46b
Merge branch 'main' into trusting-speech
kirillk Jul 31, 2026
3404676
Merge pull request #12672 from Kilo-Org/trusting-speech
kirillk Jul 31, 2026
ace509d
feat(opencode): remote create_session fields, org metadata, rename/ti…
iscekic Jul 31, 2026
18657ca
fix: rewrite opening paragraph to lead with DaoXE differentiators
Jul 31, 2026
c70fc73
Merge pull request #12173 from seven7763/docs/daoxe-provider-guide
lambertjosh Jul 31, 2026
f00da9a
release: v7.4.18
kilo-maintainer[bot] Jul 31, 2026
b8b0d33
refactor: kilo compat for v7.4.18
yunqiqiliang Aug 3, 2026
b47282b
merge: record upstream v7.4.18
yunqiqiliang Aug 3, 2026
0b510b2
refactor: kilo compat for v7.4.18
yunqiqiliang Aug 4, 2026
4ad61a5
test: refactor session tests off global AppRuntime to scoped layers
yunqiqiliang Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .changeset/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This directory contains changeset files used to track changes for the next relea

## Adding a changeset

When making a user-facing change, run:
When making a user-facing change, prefer one concise changeset per PR, grouping related changes when possible. Run:

```sh
bunx changeset add
Expand Down
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.git
.opencode
.sst
.turbo
.wrangler
node_modules
**/node_modules
**/.output
**/dist
**/.turbo
**/.vite
**/coverage
18 changes: 17 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,32 @@ packages/kilo-ui/tests/**/*.png filter=lfs diff=lfs merge=lfs -text
packages/kilo-vscode/tests/**/*.png filter=lfs diff=lfs merge=lfs -text
packages/kilo-docs/public/img/screenshot-tests/**/*.png filter=lfs diff=lfs merge=lfs -text

# Hide non-English localization files by default in GitHub PR diffs.
# Hide most localization files by default in GitHub PR diffs. Show English as the source
# language and German so reviewers can catch untranslated copy-pasted English strings.
**/i18n/*.ts linguist-generated=true
**/i18n/**/*.ts linguist-generated=true
**/i18n/en.ts linguist-generated=false
**/i18n/en*.ts linguist-generated=false
**/i18n/**/en.ts linguist-generated=false
**/i18n/**/en*.ts linguist-generated=false
**/i18n/de.ts linguist-generated=false
**/i18n/de*.ts linguist-generated=false
**/i18n/**/de.ts linguist-generated=false
**/i18n/**/de*.ts linguist-generated=false
**/i18n/package-nls-en.ts linguist-generated=false
**/i18n/package-nls-de.ts linguist-generated=false
**/i18n/index.ts linguist-generated=false
**/i18n/**/index.ts linguist-generated=false
**/i18n/parity.test.ts linguist-generated=false
**/i18n/**/parity.test.ts linguist-generated=false
packages/kilo-i18n/src/*.ts linguist-generated=true
packages/kilo-i18n/src/en.ts linguist-generated=false
packages/kilo-i18n/src/de.ts linguist-generated=false

# Auto-generated CLI reference docs
packages/kilo-docs/markdoc/partials/cli-commands-table.md linguist-generated=true
packages/kilo-docs/pages/code-with-ai/platforms/cli-reference.md linguist-generated=true

# Upstream generated migration artifacts
packages/core/migration/**/snapshot.json linguist-generated
packages/core/src/database/migration.gen.ts linguist-generated
6 changes: 2 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# web + desktop packages
packages/app/ @adamdotdevin
packages/tauri/ @adamdotdevin
packages/desktop/src-tauri/ @brendonovich
packages/desktop/ @adamdotdevin
packages/app/ @Hona @Brendonovich
packages/desktop/ @Hona @Brendonovich
53 changes: 49 additions & 4 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ runs:
shell: bash
run: echo "dir=$(bun pm cache)" >> "$GITHUB_OUTPUT"

# Restoring and extracting the ~1 GB cache took 2m23s on Windows, while a # kilocode_change
# fresh install took 1m27s. Keep Windows off this cache until that reverses. # kilocode_change
- name: Restore Bun dependencies
if: runner.os != 'Windows' # kilocode_change
id: bun-cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
Expand All @@ -42,24 +45,66 @@ runs:
restore-keys: |
${{ runner.os }}-bun-

# kilocode_change start
- name: Setup Node for native dependency builds
if: runner.os != 'Windows'
uses: actions/setup-node@v6
with:
node-version: "24"
package-manager-cache: false

- name: Configure node-gyp Node headers
if: runner.os != 'Windows'
id: node-gyp
run: |
node <<'NODE'
const fs = require("node:fs")
const path = require("node:path")

const exe = path.dirname(fs.realpathSync(process.execPath))
const dirs = [exe, path.dirname(exe)]
const root = dirs.find((dir) => fs.existsSync(path.join(dir, "include", "node", "node.h")))
if (!root) {
throw new Error(`Node headers not found under ${dirs.join(", ")}`)
}

fs.appendFileSync(process.env.GITHUB_OUTPUT, `nodedir=${root}\n`)
NODE
shell: bash
# kilocode_change end

- name: Install setuptools for distutils compatibility
run: python3 -m pip install setuptools || pip install setuptools || true
shell: bash

- name: Install dependencies
run: |
# kilocode_change start
if [ "$RUNNER_OS" != "Windows" ]; then
export npm_config_nodedir="${{ steps.node-gyp.outputs.nodedir }}"
fi
# kilocode_change end

# Workaround for patched peer variants
# e.g. ./patches/ for standard-openapi
# https://github.com/oven-sh/bun/issues/28147
# https://github.com/oven-sh/bun/issues/28147 # kilocode_change
if [ "$RUNNER_OS" = "Windows" ]; then
bun install --linker hoisted ${{ inputs.install-flags }}
# kilocode_change start
if ! bun install --frozen-lockfile --linker hoisted ${{ inputs.install-flags }}; then
echo "::warning::Bun install failed on Windows; retrying with conservative extraction"
sleep 5
BUN_FEATURE_FLAG_DISABLE_STREAMING_INSTALL=1 \
bun install --frozen-lockfile --linker hoisted --network-concurrency 16 ${{ inputs.install-flags }}
fi
# kilocode_change end
else
bun install ${{ inputs.install-flags }}
bun install --frozen-lockfile ${{ inputs.install-flags }} # kilocode_change
fi
shell: bash

# Do not upload a Windows cache that Windows jobs intentionally never restore. # kilocode_change
- name: Save Bun dependencies
if: steps.bun-cache.outputs.cache-hit != 'true' && github.event_name != 'pull_request' && github.event_name != 'pull_request_target'
if: runner.os != 'Windows' && steps.bun-cache.outputs.cache-hit != 'true' && github.event_name != 'pull_request' && github.event_name != 'pull_request_target' # kilocode_change
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.cache.outputs.dir }}
Expand Down
21 changes: 21 additions & 0 deletions .github/actions/setup-linux-sandbox/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# kilocode_change - new file
name: "Setup Linux Sandbox"
description: "Build the Linux bubblewrap helper"
runs:
using: "composite"
steps:
- name: Setup Zig
run: |
curl --fail --location --retry 3 \
https://ziglang.org/download/0.14.0/zig-linux-x86_64-0.14.0.tar.xz \
--output "$RUNNER_TEMP/zig.tar.xz"
echo "473ec26806133cf4d1918caf1a410f8403a13d979726a9045b421b685031a982 $RUNNER_TEMP/zig.tar.xz" | sha256sum --check --status
tar -xJf "$RUNNER_TEMP/zig.tar.xz" -C "$RUNNER_TEMP"
echo "$RUNNER_TEMP/zig-linux-x86_64-0.14.0" >> "$GITHUB_PATH"
shell: bash

- name: Build bubblewrap helper
run: |
bun packages/opencode/script/kilocode/bubblewrap.ts --arch x64 --output "$RUNNER_TEMP/bwrap"
echo "KILO_BWRAP_PATH=$RUNNER_TEMP/bwrap" >> "$GITHUB_ENV"
shell: bash
180 changes: 180 additions & 0 deletions .github/docs-sync/collect.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
// kilocode_change - new file

/**
* Collects PRs merged to the source repos since the watermark, applies a
* deterministic pre-filter, and writes docs-sync-out/digest.json for the LLM
* triage pass.
*
* Pre-filter drops (triage never sees these):
* - PRs labeled auto-docs (this bot's own rolling PRs)
* - chore/test/ci/build/docs/style/refactor conventional titles
* - PRs touching only docs/non-product paths
*
* Revert PRs (conventional `revert(...):` and GitHub-native `Revert "..."` titles)
* are intercepted as signals, never added to the digest; affected digest entries
* gain `reverted_by` so triage/edit can skip them.
*
* Bot-authored PRs are kept: release/dependency bots ship user-facing
* changes too, and the label + docs-only guards above prevent loops.
*/

import fs from "node:fs"
import { api, appendOutput, appendSummary, listPrFiles, searchIssues } from "./lib.mjs"
import { revertTitleKind, parseRevertTargets, applyRevertAnnotations, unannotatedRevertSignals } from "./reverts.mjs"

const SOURCE_REPOS = ["Kilo-Org/cloud", "Kilo-Org/kilocode"]
const OUT_DIR = "docs-sync-out"
const BODY_LIMIT = 2000
const SLIM_BODY_LIMIT = 300
const PATCH_LIMIT = 8000
const FILE_LIMIT = 30
// Revert PRs (conventional AND GitHub-native) are intercepted below BEFORE this filter; the "revert" alternative here is unreachable and kept only to minimize diff.
const DROP_TITLE = /^(chore|test|ci|build|docs|style|refactor|revert)(\(.+\))?!?:/i
const DOCS_ONLY_PATH = /^(packages\/kilo-docs\/|\.github\/docs-sync\/|docs-sync-out\/|docs\/|[^/]+\.md$)/

function argSince() {
const i = process.argv.indexOf("--since")
const v = i >= 0 ? process.argv[i + 1] : null
if (!v || Number.isNaN(new Date(v).getTime())) {
throw new Error("usage: collect.mjs --since <ISO date>")
}
return new Date(v)
}

async function mergedPrs(fullRepo, since) {
const query = `repo:${fullRepo} is:pr is:merged merged:>=${since.toISOString()}`
return searchIssues(query)
}

const since = argSince()
console.log(`collecting PRs merged since ${since.toISOString()}`)

const digest = []
const dropped = { label: 0, title: 0, docs_only: 0, fetch_error: 0, revert: 0 }
const reverts = []

for (const fullRepo of SOURCE_REPOS) {
const prs = await mergedPrs(fullRepo, since)
console.log(`${fullRepo}: ${prs.length} merged PRs in window`)

for (const item of prs) {
const author = item.user?.login ?? ""
if ((item.labels ?? []).some((l) => l.name === "auto-docs")) {
dropped.label++
continue
}
if (revertTitleKind(item.title ?? "")) {
try {
const pr = await api(`/repos/${fullRepo}/pulls/${item.number}`)
const targets = parseRevertTargets(pr.body ?? "", fullRepo)
reverts.push({ url: pr.html_url, merged_at: pr.merged_at, targets })
if (targets.length === 0) {
console.warn(`::warning::revert PR ${fullRepo}#${item.number} has no parseable targets`)
}
dropped.revert++
} catch (err) {
// One dead revert PR must not abort the run; its targets just go unannotated.
console.warn(`::warning::skipping revert ${fullRepo}#${item.number}: ${err.message}`)
dropped.fetch_error++
}
continue
}
if (DROP_TITLE.test(item.title ?? "")) {
dropped.title++
continue
}

const number = item.number
let pr
let files
try {
pr = await api(`/repos/${fullRepo}/pulls/${number}`)
files = await listPrFiles(fullRepo, number)
} catch (err) {
// Isolate per-PR failures: one dead PR must not abort the whole run.
console.warn(`::warning::skipping ${fullRepo}#${number}: ${err.message}`)
dropped.fetch_error++
continue
}
// listPrFiles caps at 300 files; a truncated list can't support the
// docs-only classification, so keep such PRs and record the true total.
const truncated = files.length >= 300
if (!truncated && files.length > 0 && files.every((f) => DOCS_ONLY_PATH.test(f.filename))) {
dropped.docs_only++
continue
}

let patch = ""
for (const f of files) {
if (!f.patch) continue
const chunk = `--- ${f.filename}\n${f.patch}\n`
if (patch.length + chunk.length > PATCH_LIMIT) {
patch += "\n... (diff truncated) ...\n"
break
}
patch += chunk
}

digest.push({
repo: fullRepo,
number,
title: pr.title,
url: pr.html_url,
author,
merged_at: pr.merged_at,
labels: (pr.labels ?? []).map((l) => l.name),
body: (pr.body ?? "").slice(0, BODY_LIMIT),
files: files.slice(0, FILE_LIMIT).map((f) => `${f.status} ${f.filename} (+${f.additions}/-${f.deletions})`),
files_total: pr.changed_files ?? files.length,
patch_excerpt: patch,
})
}
}

const applied = applyRevertAnnotations(digest, reverts)
const unannotated = unannotatedRevertSignals(reverts, applied)

digest.sort((a, b) => new Date(a.merged_at) - new Date(b.merged_at))

fs.mkdirSync(OUT_DIR, { recursive: true })
// Full digest (bodies + patch excerpts) is filtered down to docs-worthy PRs
// for the edit pass; the slim digest keeps the triage pass context small.
fs.writeFileSync(`${OUT_DIR}/digest-full.json`, JSON.stringify(digest, null, 2))
const slim = digest.map(({ patch_excerpt, body, ...rest }) => ({
...rest,
body: body.slice(0, SLIM_BODY_LIMIT),
}))
fs.writeFileSync(`${OUT_DIR}/digest.json`, JSON.stringify(slim, null, 2))

console.log(`kept ${digest.length} PRs, dropped:`, dropped)
appendOutput("count", digest.length)
appendOutput("digest", `${OUT_DIR}/digest.json`)

const summaryLines = [
"### docs-sync collect",
"",
`- window: since \`${since.toISOString()}\``,
`- kept: **${digest.length}** PRs`,
`- dropped: ${dropped.label} auto-docs, ${dropped.title} title filter, ${dropped.docs_only} docs-only, ${dropped.fetch_error} fetch errors, ${dropped.revert} reverts intercepted`,
"",
...digest.map((d) => `- [${d.repo}#${d.number}](${d.url}) ${d.title}`),
]
if (applied.length > 0) {
summaryLines.push("", "**revert annotations:**", ...applied.map(([target, reverter]) => `- ${target} — reverted by ${reverter}`))
}
if (unannotated.missed.length > 0 || unannotated.unparsed.length > 0) {
summaryLines.push("", "**revert targets with no in-window annotation:**")
for (const m of unannotated.missed) {
summaryLines.push(`- ${m.url} — unannotated targets: ${m.targets.join(", ")}`)
}
for (const url of unannotated.unparsed) {
summaryLines.push(`- ${url} (no parseable targets)`)
}
}
if (unannotated.chains.length > 0) {
summaryLines.push("", "**revert chains (not annotated):**")
for (const c of unannotated.chains) {
summaryLines.push(`- ${c.url}${c.targets.length > 0 ? ` (targets: ${c.targets.join(", ")})` : ""}`)
}
}
appendSummary(summaryLines.join("\n"))
27 changes: 27 additions & 0 deletions .github/docs-sync/edit-prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
You are the Kilo Code documentation bot. You update the public product documentation in `packages/kilo-docs` (a Markdoc/Next.js site served at kilo.ai/docs) so it reflects recently merged PRs. You are handling one batch of PRs; the batch files and your output file are named at the end of these instructions.

Before writing anything:

1. Read `packages/kilo-docs/AGENTS.md` and `packages/kilo-docs/STYLE_GUIDE.md` and follow them exactly: Markdoc custom tags, the `/docs` prefix in image paths, navigation files under `lib/nav/`, redirect rules, and the generated-screenshot policy.
2. Read the attached batch files: the full-details file (PR title, body, file list, `patch_excerpt` diffs) and the triage file (docs-worthiness verdicts, target sections, priorities).
3. Verify facts against the current source tree — for Kilo-Org/kilocode PRs. This checkout reflects current kilocode main: before documenting a command, flag, setting, default, or behavior from a kilocode PR, confirm it exists in the current source. Existence alone is not enough: defaults, whether an option is required or optional, and on-by-default behavior must also match the current tree — a symbol that still exists as opt-in does not justify documenting default-on behavior. When the merged diff and the current tree disagree, the current tree wins — the change may have been reverted or superseded; skip it and record why. For Kilo-Org/cloud PRs the source is not in this checkout: rely on the PR diff and body, and on the `reverted_by` field below. Reading any file in the checkout for verification is expected; the hard rule against touching anything outside `packages/kilo-docs/` applies to writing only.

For each PR in the batch, in priority order, first decide whether it needs documentation at all — skipping is a first-class outcome. For each one that does:

- Find the most relevant existing docs page(s) and make minimal, precise updates in the style of the surrounding content.
- Create a new page only when no existing page fits; then add it to the matching nav file in `packages/kilo-docs/lib/nav/`.
- Document only behavior that is actually present in the merged diff and still present in the product now (step 3 above: when they disagree, the current state wins). If the PR body or diff shows the feature is behind a flag or otherwise not user-visible yet, skip it and record why.
- If a PR turns out not to need documentation, skip it and record why. Trust evidence over the triage verdict.
- A batch PR with a `reverted_by` field was reverted by that PR; skip it unless there is clear evidence the change is present now — for kilocode PRs verify it in the current source tree (re-land); for cloud PRs require explicit re-land evidence in the entry itself.
- Skipping is a normal outcome: a batch where every PR is skipped is a valid result. Never write docs just to have something to show.

Hard rules:

- Only create or modify files under `packages/kilo-docs/`. Never touch code, tests, config, images, or anything outside that directory.
- Never remove or rename pages. Never document unreleased behavior. Never copy internal PR discussion into the docs; write user-facing documentation.
- Do not run git commands and do not commit anything; automation handles git.
- Keep the change small and precise. Do not rewrite sections that are already accurate.

When finished, write the summary JSON file named in the batch specifics below: a JSON array with exactly one entry per batch PR, consumed by automation (this file is never committed). Use `action` values like `updated <path>`, `created <path>`, or `skipped`. Example:

[{"pr": 123, "url": "https://github.com/Kilo-Org/kilocode/pull/123", "action": "updated pages/code-with-ai/platforms/cli.md", "reason": "documented --variant flag"}, {"pr": 124, "url": "https://github.com/Kilo-Org/kilocode/pull/124", "action": "skipped", "reason": "feature behind unreleased flag"}]
Loading
Loading