Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2911 commits
Select commit Hold shift + click to select a range
b2c7246
fix(core): refresh git references on daily activity (#45575)
nexxeln Aug 31, 2026
e56ceed
Revert "fix(tui): surface subagent permissions and questions" (#46376)
nexxeln Aug 31, 2026
33536da
fix(core): commit undo before compaction (#46383)
opencode-agent[bot] Aug 31, 2026
3a797bf
fix(ai): validate canonical tool results (#46062)
kitlangton Aug 31, 2026
5a4914c
feat(app): refine mobile shell home and settings (#46388)
Brendonovich Aug 31, 2026
7197fdf
chore: update nix node_modules hashes
opencode-agent[bot] Aug 31, 2026
ac77cc4
fix(client): isolate shared event consumers (#46393)
opencode-agent[bot] Aug 31, 2026
711a0a2
feat(app): add mobile session panels and detail drawers (#46389)
Brendonovich Aug 31, 2026
1b3eb11
fix(tui): queue autocompleted commands (#46414)
opencode-agent[bot] Aug 31, 2026
6b1ed39
feat(app): refine mobile diff review and wrapping preferences (#46390)
Brendonovich Aug 31, 2026
56e7738
fix(ai): validate cache tail counts (#46067)
kitlangton Aug 31, 2026
1afb7c6
fix(app): raise active composer surface (#46401)
opencode-agent[bot] Aug 31, 2026
eb083cc
fix(server): detach PTYs when sockets close (#46068)
kitlangton Aug 31, 2026
30721b8
fix(server): await providers before catalog reads (#46066)
kitlangton Aug 31, 2026
8be3ce8
refactor(util): reuse BOM-stripped text (#46078)
kitlangton Aug 31, 2026
e9f7331
refactor(core): reuse Markdown chunk byte counts (#46079)
kitlangton Aug 31, 2026
327dc80
refactor(core): reuse formatter file extension (#46080)
kitlangton Aug 31, 2026
5894e46
fix(app): improve touch controls and standalone PWA relaunch (#46391)
Brendonovich Aug 31, 2026
d609752
refactor(codemode): avoid merging root definitions twice (#46081)
kitlangton Aug 31, 2026
6a38cac
docs: improve plugin guide readability (#46342)
thdxr Aug 31, 2026
e15dd8e
fix(ai): require Bedrock message stop for finish (#46065)
kitlangton Aug 31, 2026
43819dc
fix(app): restore maskable pwa icons (#46434)
opencode-agent[bot] Aug 31, 2026
1ced747
fix(ai): handle message-less Gemini errors (#46069)
kitlangton Aug 31, 2026
9517ff1
fix(core): preserve active session continuation when moving
kitlangton Aug 31, 2026
afd7492
fix(tui): reduce cached transcript remount work (#46145)
kitlangton Aug 31, 2026
ec0dcb3
docs: improve build documentation discovery
thdxr Aug 31, 2026
fcce2d7
test(tui): await dialog text selection (#46143)
opencode-agent[bot] Aug 31, 2026
197d28e
fix(tui): pin sidebar headings without scrollbar flashes (#46449)
kitlangton Aug 31, 2026
36ac35a
refactor(util): make layer graphs opaque and composable
kitlangton Aug 31, 2026
3e9b009
feat(core): add session-aware instance selection (#46442)
kitlangton Aug 31, 2026
1f04baa
test: migrate fixture layer replacements (#46458)
kitlangton Aug 31, 2026
5d4cc4a
feat(tui): hide internal plugins by default
thdxr Aug 31, 2026
c17c104
fix(tui): toggle internal plugin controls
thdxr Aug 31, 2026
a68fe8a
fix(tui): toggle plugin on dialog submit
thdxr Aug 31, 2026
5df9cec
fix(tui): remove plugin current marker
thdxr Aug 31, 2026
566ca86
refactor(util): reuse private patch buffers (#46459)
kitlangton Aug 31, 2026
fac875d
mini v2 v2 (#46410)
simonklee Aug 31, 2026
49dd2ce
refactor(ai): clarify responses adapters (#46469)
rekram1-node Aug 31, 2026
d68f425
feat(cli): port the upgrade command to v2 (#46183)
opencode-agent[bot] Aug 31, 2026
d04257e
feat(codemode): add inline namespace metadata (#46464)
rekram1-node Aug 31, 2026
9553187
fix(core): allow patch file-to-directory replacements (#46476)
rekram1-node Aug 31, 2026
db768c4
refactor(app): share mobile drawer primitive (#46453)
opencode-agent[bot] Aug 31, 2026
e7d42f8
refactor(core): slice model references at the first slash (#46467)
kitlangton Aug 31, 2026
b31defc
refactor(util): slice the final filename segment (#46466)
kitlangton Aug 31, 2026
c0220dd
refactor(codemode): reject unresolved intersections before rendering …
kitlangton Aug 31, 2026
57a9dec
refactor(codemode): simplify input conflict detection (#46465)
kitlangton Aug 31, 2026
cc0cc59
fix(ai): preserve done-only response messages (#46064)
kitlangton Aug 31, 2026
5b22766
test(tui): stop Windows image preview test crashes (#46479)
opencode-agent[bot] Aug 31, 2026
a6b49b3
fix(shell): preserve output from fast-exiting commands
kitlangton Aug 31, 2026
01eda4c
refactor(codemode): name only supported operations (#46082)
kitlangton Sep 1, 2026
663c2dc
fix(app): raise composer only in dark mode (#46503)
opencode-agent[bot] Sep 1, 2026
6dd1733
fix(core): preserve continuation across chained moves
kitlangton Sep 1, 2026
54b00ec
test(tui): capture flushed Mini scrollback output (#46505)
kitlangton Sep 1, 2026
b0402f5
fix(session-ui): reduce inline code height (#46500)
opencode-agent[bot] Sep 1, 2026
dffd95c
fix(codemode): reject Object.assign cycles (#46076)
kitlangton Sep 1, 2026
8fda876
feat(codemode): document numeric string and array constraints (#46510)
rekram1-node Sep 1, 2026
a20cbc3
feat(session-ui): preview images in read tool results (#46513)
Hona Sep 1, 2026
a40a872
fix(tui): pin diff highlights query (#46518)
opencode-agent[bot] Sep 1, 2026
6a99898
feat(core): register tool namespaces (#46487)
rekram1-node Sep 1, 2026
df05945
chore(ci): align Bun with the release runtime (#46524)
rekram1-node Sep 1, 2026
5d73a57
feat(plugin): support live package updates
thdxr Sep 1, 2026
815d4ab
fix(tui): scope connect dialog to location
thdxr Sep 1, 2026
1137861
chore: update nix node_modules hashes
opencode-agent[bot] Sep 1, 2026
23fde44
test(cli): isolate Bun define cache (#46536)
opencode-agent[bot] Sep 1, 2026
4a3e25b
feat(codemode): compact schema constraint comments (#46521)
rekram1-node Sep 1, 2026
71779ae
fix(app): scope pane visibility to tabs (#46508)
opencode-agent[bot] Sep 1, 2026
d46ed9e
Session message style (#46538)
Brendonovich Sep 1, 2026
02440f6
feat(codemode): label item and value schema comments (#46542)
rekram1-node Sep 1, 2026
000b42d
refactor(core): nest code mode catalog (#46541)
rekram1-node Sep 1, 2026
a6f75d4
fix(app): follow file tree order in review navigation (#46557)
Brendonovich Sep 1, 2026
94caa36
test(server): wait for plugin readiness (#46567)
vimtor Sep 1, 2026
aadc0c1
fix: stabilize cross-platform unit tests (#46569)
vimtor Sep 1, 2026
77eac47
feat(core): support canonical provider config (#46134)
vimtor Sep 1, 2026
e297da8
fix(tui): mini defer prompt echo until delivery (#46578)
simonklee Sep 1, 2026
cff1d0f
fix(core): preserve legacy Console reasoning variants (#46586)
vimtor Sep 1, 2026
831f8f6
fix(ai): reconcile final response calls by call id (#46084)
kitlangton Sep 1, 2026
a9c2720
fix(tui): open rename dialog from tab menu (#46603)
opencode-agent[bot] Sep 1, 2026
f330f3e
feat(cli): check and update plugins with flat inventory
thdxr Sep 1, 2026
d4b4dd1
refactor(core): rename plugin flush to awaitActivation
kitlangton Sep 1, 2026
30f998c
feat(tui): make session preview tabs the default (#46497)
kitlangton Sep 1, 2026
c596a8f
fix(tui): simplify narrow interrupt footer (#46533)
iamdavidhill Sep 1, 2026
367ee47
fix(tui): tone down patch failure details (#46470)
opencode-agent[bot] Sep 1, 2026
7730cec
fix(tui): limit cached non-tab session families
thdxr Sep 1, 2026
43d09b9
fix(server): await plugin activation when checking updates
thdxr Sep 1, 2026
0465328
test(tui): use real session id in home fixture (#46618)
opencode-agent[bot] Sep 1, 2026
ce6247b
fix(core): estimate context growth before compaction (#46543)
rekram1-node Sep 1, 2026
818804e
chore: refresh bun lockfile
thdxr Sep 1, 2026
7856515
feat(tui): add shareable stats poster (#46563)
nexxeln Sep 1, 2026
9f01e2b
fix(plugin): make load failures easier to diagnose (#46594)
nexxeln Sep 1, 2026
316f792
refactor(client): centralize service handoff in stop (#46637)
jlongster Sep 1, 2026
91cdb18
test(tui): remove flaky jump-to-latest test (#46640)
opencode-agent[bot] Sep 1, 2026
e2e82f1
docs: clarify branch targeting guidance (#46645)
opencode-agent[bot] Sep 1, 2026
fd73a85
remove azure discovery (#46672)
neriousy Sep 1, 2026
c806503
fix generated docs (#46678)
neriousy Sep 1, 2026
e76e90b
refactor(core): decouple plugins from config loading (#46639)
thdxr Sep 2, 2026
5ee7f19
refactor(app): drive persisted state with Effect Schema (#46558)
Brendonovich Sep 2, 2026
7f2645a
test(core): make Windows-flaky shell and npm tests deterministic
kitlangton Sep 2, 2026
f92a725
fix(tui): scroll session while terminal is focused (#46697)
opencode-agent[bot] Sep 2, 2026
c8f81c8
chore: update nix node_modules hashes
opencode-agent[bot] Sep 2, 2026
2de99a2
fix(app): apply safe-area sizing to iOS home-screen apps (#46703)
Brendonovich Sep 2, 2026
48927df
fix(app): separate location identity from sync failures (#46695)
Hona Sep 2, 2026
49f9a60
feat(app): support drafting during worktree creation (#46694)
Hona Sep 2, 2026
95d788f
fix(cli): wait for consistent ACP model choices (#46613)
kitlangton Sep 2, 2026
01093db
feat(plugin): update plugins from the TUI dialog (#46699)
thdxr Sep 2, 2026
74eda7f
chore(client): sort generated error statuses (#46708)
kitlangton Sep 2, 2026
46c3363
fix(server): authenticate only API requests (#46702)
Brendonovich Sep 2, 2026
d117a33
feat(app): show working when timeline progress is hidden (#46711)
Hona Sep 2, 2026
4d0eb97
feat(sdk): configure session-selected instances (#46496)
kitlangton Sep 2, 2026
0b77103
fix(desktop): grant Windows sandbox access during installation (#46696)
Hona Sep 2, 2026
ddda404
fix(desktop): bundle the CLI in production releases (#46705)
Hona Sep 2, 2026
e0c7712
fix(app): keep background hint visible for at least one second (#46715)
Brendonovich Sep 2, 2026
34e40cc
fix(app): keep new local sessions in the selected directory (#46713)
Hona Sep 2, 2026
519cd8c
feat(core): add grep matching options (#46716)
rekram1-node Sep 2, 2026
e561431
fix(core): report duplicate plugin IDs as inventory failures (#46718)
kitlangton Sep 2, 2026
a978a1e
chore(tui): upgrade OpenTUI to 0.5.10
kitlangton Sep 2, 2026
e327f93
fix(core): copy models.dev snapshot without structuredClone (#46710)
kitlangton Sep 2, 2026
335e4ca
chore: update nix node_modules hashes
opencode-agent[bot] Sep 2, 2026
8d4ef01
feat(core): add hidden glob option (#46724)
rekram1-node Sep 2, 2026
b467432
feat(app): reorganize session navigation controls (#46731)
Brendonovich Sep 2, 2026
3cfec5a
refactor(tui): sum cached and total tokens across all steps in turn s…
heimoshuiyu Sep 2, 2026
b4447e6
fix(app): contain composer horizontal overflow (#46740)
Brendonovich Sep 2, 2026
fbcc2d9
fix(app): refine open file tab (#46736)
Brendonovich Sep 2, 2026
8f97a09
fix(app): shrink new session tab (#46737)
Brendonovich Sep 2, 2026
6e87cd6
fix(ui): update summary panel icon (#46738)
Brendonovich Sep 2, 2026
8fc93e6
fix(core): preserve session context during compaction (#46751)
rekram1-node Sep 2, 2026
7188e22
fix(ui): use ghost comment cancel button (#46743)
Brendonovich Sep 2, 2026
745a1c0
fix(ui): show active comment options (#46747)
Brendonovich Sep 2, 2026
2c3f94f
fix(app): align add context shortcuts (#46739)
Brendonovich Sep 2, 2026
8525035
fix(session-ui): tighten compact disclosure spacing (#46752)
Brendonovich Sep 2, 2026
8068c5e
tweak: gpt model system prompting (#46753)
rekram1-node Sep 2, 2026
fa6fb71
fix(app): show subagent tab activity (#46746)
Brendonovich Sep 2, 2026
6d6e2a9
fix(app): rename workspaces to worktrees (#46744)
Brendonovich Sep 2, 2026
9391ee8
fix(app): avoid redundant composer encodes (#46730)
Hona Sep 2, 2026
fa4f8a6
fix(app): reuse hydrated composer history blobs (#46761)
Hona Sep 2, 2026
dfe3052
fix(app): stop transcript and inbox prefetch from inactive tabs (#46762)
Hona Sep 2, 2026
499e22b
fix(app): reuse terminal cells during serialization (#46763)
Hona Sep 2, 2026
90501dd
fix(app): count timeline tool types (#46749)
Brendonovich Sep 2, 2026
311e32d
fix(app): use Unicode ellipses in UI text (#46748)
Brendonovich Sep 2, 2026
1bd1f72
fix(session-ui): cancel abandoned completed Markdown parse jobs (#46764)
Hona Sep 2, 2026
48c8a30
fix(desktop): stabilize bundled dev and process exit (#46523)
Hona Sep 2, 2026
c2a7616
chore: update nix node_modules hashes
opencode-agent[bot] Sep 2, 2026
eead95e
fix(desktop): publish native menu zoom changes (#46773)
Hona Sep 2, 2026
91a4c7b
feat(app): hide project names in tabs by default (#46778)
Brendonovich Sep 2, 2026
e3c2e63
fix(session-ui): reuse cached diff highlighting across remounts (#46769)
Hona Sep 2, 2026
651cdd2
fix(session-ui): skip redundant diffs when grouping patch files (#46768)
Hona Sep 2, 2026
6ea388a
fix(session-ui): render large diffs as plain text in the worker pool …
Hona Sep 2, 2026
998086d
fix(app): bound the Home session index to retained rows (#46786)
Hona Sep 2, 2026
44a3bf2
perf(session-ui): skip timeline row rebuild on text deltas (#46774)
Hona Sep 2, 2026
d57e210
fix(tui): place provider before cost in footer (#46808)
simonklee Sep 2, 2026
fe4ea1d
feat(tui): enable session terminal panes by default (#46797)
jlongster Sep 2, 2026
74fbe19
fix(cli): await plugin activation before caching ACP catalog (#46682)
kitlangton Sep 2, 2026
45e2035
refactor(ai): separate conversation and generation lowering (#46428)
nexxeln Sep 2, 2026
c35be48
fix(ai): preserve responses image detail (#46429)
nexxeln Sep 2, 2026
6051a1f
feat(ai): support typed provider-side compaction (#46431)
nexxeln Sep 2, 2026
268ca2f
fix(tui): keep terminal panes off by default on Windows (#46821)
jlongster Sep 2, 2026
429387d
fix(core): rebuild registry state on read (#46825)
kitlangton Sep 2, 2026
79c789b
fix(core): place model prompt before project instructions (#46829)
rekram1-node Sep 2, 2026
ec4a5cb
test(core): remove flaky mercurial project test (#46835)
jlongster Sep 2, 2026
955fcad
fix(tui): remove link from background subagent completion notice (#46…
jlongster Sep 2, 2026
33dd4e3
feat(cli): apply managed updates when idle and wire up ui (#46485)
jlongster Sep 2, 2026
36095de
fix(core): preserve unchanged plugin prefix (#46857)
thdxr Sep 2, 2026
473c292
fix(core): discover project config once under symlinked paths (#46841)
kitlangton Sep 2, 2026
d4fe375
refactor(core): pass the rebuilt value to State notify (#46837)
kitlangton Sep 2, 2026
7aabfd3
test(core): route test watcher updates to matching watches (#46840)
kitlangton Sep 2, 2026
a7b8174
fix(core): replace GPT autonomy section with scope guidance (#46864)
rekram1-node Sep 2, 2026
bbc4431
fix(core): scope the migration lock to each database (#46866)
kitlangton Sep 2, 2026
b45882e
fix(core): notify reloads immediately and debounce at bursty sources …
kitlangton Sep 2, 2026
d371223
fix(tui): make prompt metadata responsive (#46801)
opencode-agent[bot] Sep 2, 2026
4b6e879
fix(core): subscribe before debouncing config plugin updates (#46874)
kitlangton Sep 2, 2026
318a82f
feat(sdk): resolve instance configuration from provided services (#46…
kitlangton Sep 2, 2026
4772b6a
refactor: rename State drafts to editors (#46876)
kitlangton Sep 2, 2026
af332a2
chore(cli): enable bytecode compilation
thdxr Sep 2, 2026
fc051e4
feat(core): add pinned session move tool (#46862)
opencode-agent[bot] Sep 2, 2026
2ae2350
feat(tui): check for plugin updates from the plugins dialog (#46884)
kitlangton Sep 2, 2026
e0c0d56
fix(core): wait for plugin activation before session entry points (#4…
kitlangton Sep 2, 2026
44e0b35
fix(core): narrow compaction additional context guidance (#46889)
rekram1-node Sep 2, 2026
db09cc8
fix(util): stage npm installs under the cache directory's real path (…
kitlangton Sep 2, 2026
ed3259a
refactor(plugin): centralize host resolution (#46901)
thdxr Sep 2, 2026
3dc187b
refactor(client): share location resource reads (#46831)
kitlangton Sep 2, 2026
85e2b0a
chore: update nix node_modules hashes
opencode-agent[bot] Sep 2, 2026
b605f35
fix(core): share the models.dev snapshot across Locations (#46784)
Hona Sep 2, 2026
a085bf6
feat(updates): log requests to the shared data lake
thdxr Sep 2, 2026
dbd4770
fix(core): tell plan agent to discuss plans instead of writing files …
rekram1-node Sep 2, 2026
51250e4
feat(updates): include client IP in request events
thdxr Sep 2, 2026
46515df
refactor(updates): use useragent event field
thdxr Sep 2, 2026
57c02cd
fix(tui): refresh plugin dialog after updates (#46911)
thdxr Sep 2, 2026
68a40e2
chore: remove package reservation script
thdxr Sep 2, 2026
4643cac
fix(cli): retry Windows service smoke cleanup
thdxr Sep 2, 2026
f269025
fix(core): keep plugin activation stable across failures and refreshe…
kitlangton Sep 2, 2026
9690559
feat(cli): use endpoint-provided update packages (#46910)
thdxr Sep 2, 2026
dea1f9c
fix(core): update plugin reload npm fixture (#46918)
thdxr Sep 2, 2026
0da51e9
fix(updates): retry transient artifact publication failures
thdxr Sep 2, 2026
0b1dbaf
refactor(client): edit streamed message targets directly (#46924)
kitlangton Sep 3, 2026
21bbcc3
fix(app): restore uniform new session tab width (#46919)
opencode-agent[bot] Sep 3, 2026
4beaffb
fix(app): show review diffs for non-git VCS backends (#46684)
mayamika Sep 3, 2026
5e38101
refactor(client): derive session inputs from pending items (#46926)
kitlangton Sep 3, 2026
b257d47
refactor(core): preserve normalized tool results (#46927)
kitlangton Sep 3, 2026
f34b74b
test(core): refuse network in the test harness (#46908)
kitlangton Sep 3, 2026
1e4e9c5
fix(cli): disable bytecode until Bun 1.4.1 (#46933)
opencode-agent[bot] Sep 3, 2026
e402600
test(core): keep supervisor reload tests offline (#46939)
kitlangton Sep 3, 2026
c992716
fix(core): activate the initial plugin generation without the reload …
kitlangton Sep 3, 2026
27f838f
fix(client): refresh references for the updated location (#46935)
kitlangton Sep 3, 2026
1c77b1c
refactor(core): remove unused repository cache success timestamp (#46…
kitlangton Sep 3, 2026
d9c85d8
refactor(ai): resolve responses item ids once at the stream boundary …
rekram1-node Sep 3, 2026
5f1d74f
fix(plugin): export Promise ToolEditor
kitlangton Sep 3, 2026
050398f
fix(core): preserve provider identity in catalog updates
kitlangton Sep 3, 2026
8565cb5
chore(ai): clean up responses item id comments (#46951)
rekram1-node Sep 3, 2026
22de01e
fix(app): animate subagent card chevron (#46893)
iamdavidhill Sep 3, 2026
962c26b
feat(plugin): add skill editor lookup
kitlangton Sep 3, 2026
2b87169
feat(tui): polish plugin dialog sizing, actions, and local footer
thdxr Sep 3, 2026
efefd90
feat(plugin): add reference editor lookup
kitlangton Sep 3, 2026
88e4ab5
feat(app): add timeline detail presets and placement controls (#46717)
Hona Sep 3, 2026
4680a4a
refactor(core): reconcile current watcher policy (#46949)
kitlangton Sep 3, 2026
0089ac9
fix(cli): align artifact user agent format
thdxr Sep 3, 2026
cf298f3
fix(cli): use artifact as client identity
thdxr Sep 3, 2026
bf6ec61
fix(app): remove background running indicator (#46972)
opencode-agent[bot] Sep 3, 2026
4f6060a
feat(app): route settings and refine shell styling (#46984)
Brendonovich Sep 3, 2026
48f2466
fix(app): align new session icon (#46983)
iamdavidhill Sep 3, 2026
cfe9f13
fix(ui): capitalize notices in used group (#46992)
Hona Sep 3, 2026
b42555c
fix: reuse current location for directory browsing (#46970)
opencode-agent[bot] Sep 3, 2026
9acdb0b
fix(session-ui): use standard Used labels for thoughts (#46995)
Hona Sep 3, 2026
ae7d9f0
fix(session-ui): preserve configured groups on tool failure (#46998)
Hona Sep 3, 2026
4cfca7a
fix(app): restore terminal application mouse handling (#45140)
opencode-agent[bot] Sep 3, 2026
d700915
chore: update nix node_modules hashes
opencode-agent[bot] Sep 3, 2026
d2bec89
fix(app): identify desktop in Console device auth (#47001)
opencode-agent[bot] Sep 3, 2026
24f6cb5
fix(core): watch new config files and directories (#46925)
opencode-agent[bot] Sep 3, 2026
887f319
fix(desktop): restore compact Windows channel badge (#47016)
opencode-agent[bot] Sep 3, 2026
59b29de
fix(core): detect new ecosystem config roots (#47026)
nexxeln Sep 3, 2026
047ffd0
chore(kilo): checkpoint v2 port progress
johnnyeric Sep 5, 2026
8204080
feat(kilo): advance v2 memory and gateway parity
johnnyeric Sep 5, 2026
61a8707
feat(kilo): checkpoint native gateway and CLI parity
johnnyeric Sep 5, 2026
da01857
chore(kilo): checkpoint v2 migration progress and tracking
johnnyeric Sep 10, 2026
6288f1e
chore(kilo): finalize migration tracking and preview progress
johnnyeric Sep 10, 2026
79a1c9c
docs(kilo): publish migration roadmap, client previews and subissues
johnnyeric Sep 10, 2026
839ab55
docs(kilo): complete shared-patch annotations and review inventory
johnnyeric Sep 10, 2026
648e767
chore(kilo): add missing virtua dependency
fpliger Sep 18, 2026
e1998df
fix(kilo): repair v2 preview package typechecks
fpliger Sep 18, 2026
e536498
chore(kilo): skip incomplete preview typecheck gate
fpliger Sep 18, 2026
8c4af45
chore(kilo): add skipped typecheck script
fpliger Sep 21, 2026
ba65c24
fix(kilo): address preview package review feedback
fpliger Sep 21, 2026
0886fb7
docs(kilo-vscode): document unset authStatus type
fpliger Sep 21, 2026
d744ece
fix(kilo): satisfy Effect simplification lint
fpliger Sep 23, 2026
a2e6c1f
Merge pull request #14310 from Kilo-Org/v2-fix-onboarding-issues
fpliger Sep 24, 2026
f33ae94
docs(kilo): add v2 execution plan
fpliger Sep 30, 2026
7991d2e
Update migration-tracking/plans/kilo-opencode-v2-execution-plan.md
fpliger Oct 1, 2026
e9113b2
docs(kilo): address execution plan review feedback
fpliger Oct 1, 2026
b0c53eb
docs(kilo): index execution plan and resolve review suggestions
fpliger Oct 2, 2026
7822633
Merge pull request #14704 from Kilo-Org/v2-execution-plan
fpliger Oct 2, 2026
6dee1e3
docs(kilo): map cloud consumer contracts (#14426)
fpliger Oct 6, 2026
ceb1794
docs(kilo): correct cloud consumer contracts against upstream v2 (#14…
fpliger Oct 7, 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.
5 changes: 5 additions & 0 deletions .changeset/directory-page-heading.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@opencode-ai/core": patch
---

Correct directory page headings when the read offset is zero.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
packages/core/migration/**/snapshot.json linguist-generated
packages/core/src/database/migration.gen.ts linguist-generated
packages/core/src/models-dev/snapshot.txt linguist-generated
packages/core/src/**/*.txt text eol=lf
packages/httpapi-codegen/test/generated/*.ts text eol=lf
7 changes: 6 additions & 1 deletion .github/TEAM_MEMBERS
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
adamdotdevin
arvsrn
Brendonovich
fwang
Hona
Expand All @@ -7,11 +8,15 @@ jayair
jlongster
kitlangton
kommander
ludvigrask
MrMushrooooom
neriousy
nexxeln
R44VC0RP
rekram1-node
thdxr
simonklee
Slickstef11
usrnk1
vimtor
starptech
StarpTech
20 changes: 17 additions & 3 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,45 @@
name: "Setup Bun"
description: "Setup Bun with caching and install dependencies"
inputs:
bun-version:
description: "Bun version to install instead of the root packageManager version"
required: false
default: ""
install-flags:
description: "Additional flags to pass to 'bun install'"
required: false
default: ""
runs:
using: "composite"
steps:
# node-gyp@latest (invoked via bunx for native install scripts) requires Node >=22;
# some runner images ship an older system Node on PATH
- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "24"

- name: Get baseline download URL
id: bun-url
shell: bash
run: |
if [ "$RUNNER_ARCH" = "X64" ]; then
V=$(node -p "require('./package.json').packageManager.split('@')[1]")
V="${{ inputs.bun-version }}"
if [ -z "$V" ]; then V=$(node -p "require('./package.json').packageManager.split('@')[1]"); fi
TAG=$([ "$V" = "canary" ] && echo "canary" || echo "bun-v${V}")
case "$RUNNER_OS" in
macOS) OS=darwin ;;
Linux) OS=linux ;;
Windows) OS=windows ;;
esac
echo "url=https://github.com/oven-sh/bun/releases/download/bun-v${V}/bun-${OS}-x64-baseline.zip" >> "$GITHUB_OUTPUT"
echo "url=https://github.com/oven-sh/bun/releases/download/${TAG}/bun-${OS}-x64-baseline.zip" >> "$GITHUB_OUTPUT"
fi

- name: Setup Bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version-file: ${{ !steps.bun-url.outputs.url && 'package.json' || '' }}
bun-version: ${{ !steps.bun-url.outputs.url && inputs.bun-version || '' }}
bun-version-file: ${{ !steps.bun-url.outputs.url && !inputs.bun-version && 'package.json' || '' }}
bun-download-url: ${{ steps.bun-url.outputs.url }}

- name: Get cache directory
Expand Down
37 changes: 0 additions & 37 deletions .github/workflows/beta.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/compliance-close.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,48 @@ jobs:

const now = Date.now();
const twoHours = 2 * 60 * 60 * 1000;
const orgMemberAssociations = new Set(['OWNER', 'MEMBER']);
const agentLogin = 'opencode-agent[bot]';
const { data: file } = await github.rest.repos.getContent({
owner: context.repo.owner,
repo: context.repo.repo,
path: '.github/TEAM_MEMBERS',
ref: 'dev',
});
const teamMembers = new Set(
Buffer.from(file.content, 'base64')
.toString()
.split('\n')
.map((line) => line.trim().toLowerCase())
.filter(Boolean)
);

function isExempt(item) {
const login = item.user?.login?.toLowerCase();
return (
login === agentLogin ||
orgMemberAssociations.has(item.author_association) ||
(login && teamMembers.has(login))
);
}

for (const item of items) {
const isPR = !!item.pull_request;
const kind = isPR ? 'PR' : 'issue';
const login = item.user?.login;

if (isExempt(item)) {
core.info(`Skipping ${kind} #${item.number}; author ${login || 'unknown'} is exempt`);
try {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: item.number,
name: 'needs:compliance',
});
} catch (e) {}
continue;
}

const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/deploy-posts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: deploy-posts

on:
push:
branches:
- v2
paths:
- packages/posts/**
- bun.lock
- .github/workflows/deploy-posts.yml
workflow_dispatch:

concurrency:
group: deploy-posts-${{ github.ref_name }}
cancel-in-progress: false

permissions:
contents: read

jobs:
deploy:
if: github.repository == 'anomalyco/opencode' && github.ref_name == 'v2'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0

- uses: ./.github/actions/setup-bun

- name: Build
working-directory: packages/posts
run: bun run build

- name: Deploy
working-directory: packages/posts
run: bun run deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
36 changes: 36 additions & 0 deletions .github/workflows/deploy-www.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: deploy-www

on:
push:
branches:
- dev
- v2
workflow_dispatch:

concurrency:
group: deploy-www-${{ github.ref_name }}
cancel-in-progress: false

permissions:
contents: read

jobs:
deploy:
if: github.repository == 'anomalyco/opencode' && (github.ref_name == 'dev' || github.ref_name == 'v2')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0

- uses: ./.github/actions/setup-bun

- name: Build
working-directory: packages/www
run: bun run build
env:
CLOUDFLARE_ENV: ${{ github.ref_name == 'v2' && 'production' || 'dev' }}

- name: Deploy
working-directory: packages/www
run: bun run deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
4 changes: 3 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
branches:
- dev
- production
- beta
workflow_dispatch:

concurrency: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -15,7 +16,7 @@ permissions:

jobs:
deploy:
if: github.repository == 'anomalyco/opencode' && (github.ref_name == 'dev' || github.ref_name == 'production')
if: github.repository == 'anomalyco/opencode' && (github.ref_name == 'dev' || github.ref_name == 'production' || github.ref_name == 'beta')
runs-on: ubuntu-latest
environment: ${{ github.ref_name }}
steps:
Expand All @@ -28,6 +29,7 @@ jobs:
node-version: "24"

- uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
if: github.ref_name != 'beta'
with:
role-to-assume: ${{ vars.AWS_DEPLOY_ROLE_ARN }}
role-session-name: opencode-${{ github.run_id }}
Expand Down
46 changes: 45 additions & 1 deletion .github/workflows/duplicate-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,31 @@ jobs:
with:
fetch-depth: 1

- name: Check exempt issue author
id: author
run: |
LOGIN="${{ github.event.issue.user.login }}"
ASSOCIATION="${{ github.event.issue.author_association }}"

if [ "$LOGIN" = "opencode-agent[bot]" ] ||
[ "$ASSOCIATION" = "OWNER" ] ||
[ "$ASSOCIATION" = "MEMBER" ] ||
grep -qxiF "$LOGIN" .github/TEAM_MEMBERS; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping issue automation for exempt author: $LOGIN ($ASSOCIATION)"
else
echo "skip=false" >> "$GITHUB_OUTPUT"
fi

- uses: ./.github/actions/setup-bun
if: steps.author.outputs.skip != 'true'

- name: Install opencode
if: steps.author.outputs.skip != 'true'
run: curl -fsSL https://opencode.ai/install | bash

- name: Check duplicates and compliance
if: steps.author.outputs.skip != 'true'
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -38,6 +57,7 @@ jobs:
opencode run -m opencode/claude-sonnet-4-6 "A new issue has been created:

Issue number: ${{ github.event.issue.number }}
Issue author association: ${{ github.event.issue.author_association }}

Lookup this issue with gh issue view ${{ github.event.issue.number }}.

Expand All @@ -49,6 +69,8 @@ jobs:

Check whether the issue follows our contributing guidelines and issue templates.

If the issue author association is OWNER or MEMBER, skip this compliance check. Do not add the needs:compliance label for organization-owned issues.

This project has three issue templates that every issue MUST use one of:

1. Bug Report - requires a Description field with real content
Expand Down Expand Up @@ -83,7 +105,7 @@ jobs:

Based on your findings, post a SINGLE comment on issue #${{ github.event.issue.number }}. Build the comment as follows:

If the issue is NOT compliant, start the comment with:
If the issue is NOT compliant and the author association is not OWNER or MEMBER, start the comment with:
<!-- issue-compliance -->
Then explain what needs to be fixed and that they have 2 hours to edit the issue before it is automatically closed. Also add the label needs:compliance to the issue using: gh issue edit ${{ github.event.issue.number }} --add-label needs:compliance

Expand Down Expand Up @@ -129,12 +151,31 @@ jobs:
with:
fetch-depth: 1

- name: Check exempt issue author
id: author
run: |
LOGIN="${{ github.event.issue.user.login }}"
ASSOCIATION="${{ github.event.issue.author_association }}"

if [ "$LOGIN" = "opencode-agent[bot]" ] ||
[ "$ASSOCIATION" = "OWNER" ] ||
[ "$ASSOCIATION" = "MEMBER" ] ||
grep -qxiF "$LOGIN" .github/TEAM_MEMBERS; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping issue automation for exempt author: $LOGIN ($ASSOCIATION)"
else
echo "skip=false" >> "$GITHUB_OUTPUT"
fi

- uses: ./.github/actions/setup-bun
if: steps.author.outputs.skip != 'true'

- name: Install opencode
if: steps.author.outputs.skip != 'true'
run: curl -fsSL https://opencode.ai/install | bash

- name: Recheck compliance
if: steps.author.outputs.skip != 'true'
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -148,9 +189,12 @@ jobs:
}
run: |
opencode run -m opencode/claude-sonnet-4-6 "Issue #${{ github.event.issue.number }} was previously flagged as non-compliant and has been edited.
Issue author association: ${{ github.event.issue.author_association }}

Lookup this issue with gh issue view ${{ github.event.issue.number }}.

If the issue author association is OWNER or MEMBER, remove the needs:compliance label if present, delete the previous compliance comment if present, and do not post a new comment.

Re-check whether the issue now follows our contributing guidelines and issue templates.

This project has three issue templates that every issue MUST use one of:
Expand Down
Loading
Loading