Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2249 commits
Select commit Hold shift + click to select a range
8f1ac2d
Go: list model providers
fwang Apr 15, 2026
5687d61
chore: generate
opencode-agent[bot] Apr 15, 2026
ccaa12e
sync
fwang Apr 15, 2026
a992d8b
fix(snapshot): avoid ENAMETOOLONG and improve staging perf via stdin …
Hona Apr 15, 2026
7659321
release: v1.4.6
Apr 15, 2026
5069cd9
fix(ui): disable accordion items for binary files and improve disable…
Brendonovich Apr 15, 2026
c98f616
ui: update accordion styles and session review component (#22582)
Brendonovich Apr 15, 2026
d7718d4
refactor(electron): update store configuration (#22597)
Brendonovich Apr 15, 2026
405b0b0
handle non-throwing requests (#22604)
kommander Apr 15, 2026
004a928
sync
fwang Apr 15, 2026
47af00b
zen: better error
fwang Apr 15, 2026
af20191
feat(core): sync routes, refactor proxy, session restore, and more sy…
jlongster Apr 15, 2026
be9432a
shared package (#22626)
thdxr Apr 15, 2026
685d79e
feat(opencode): trace tool execution spans (#22531)
kitlangton Apr 15, 2026
fe01fa7
remove makeRuntime facade from Env (#22523)
kitlangton Apr 15, 2026
5fc656e
docs(opencode): add instance context migration plan (#22529)
kitlangton Apr 15, 2026
f06d82b
chore: update nix node_modules hashes
opencode-agent[bot] Apr 15, 2026
f175140
fix(effect): add effect bridge for callback contexts (#22504)
kitlangton Apr 15, 2026
4ae7c77
migrate: move flock and hash utilities to shared package (#22640)
thdxr Apr 15, 2026
9640d88
fix: register OTel context manager so AI SDK spans thread into Effect…
kitlangton Apr 15, 2026
8ba4799
chore: update nix node_modules hashes
opencode-agent[bot] Apr 15, 2026
348a849
fix: ensure tool_use is always followed by tool_result (#22646)
rekram1-node Apr 15, 2026
e83b221
tweak: ensure auto continuing compaction is tracked as agent initiate…
rekram1-node Apr 15, 2026
250e30b
add experimental permission HttpApi slice (#22385)
kitlangton Apr 15, 2026
3b75f16
chore: generate
opencode-agent[bot] Apr 15, 2026
6bed7d4
feat(opencode): improve telemetry tracing and request spans (#22653)
kitlangton Apr 15, 2026
d2ea670
fix(core): Remove dead code and documentation related to the obsolete…
ariane-emory Apr 15, 2026
916131b
core: move plugin intialisation to config layer override (#22620)
Brendonovich Apr 15, 2026
83e257b
chore: generate
opencode-agent[bot] Apr 15, 2026
e16589f
tweak(ui): session spacing (#20839)
iamdavidhill Apr 15, 2026
672ee28
fix(opencode): avoid org lookup during config startup (#22670)
kitlangton Apr 15, 2026
4dd0d1f
refactor(opencode): use AppFileSystem path helpers (#22637)
kitlangton Apr 15, 2026
a554fad
fix(tui): Don't overwrite the agent that was specified on the command…
CarloWood Apr 15, 2026
3d6f90c
feat: add oxlint with correctness defaults (#22682)
kitlangton Apr 16, 2026
ac2fa66
chore: generate
opencode-agent[bot] Apr 16, 2026
a147ad6
feat(shared): add Effect-idiomatic file lock (EffectFlock) (#22681)
kitlangton Apr 16, 2026
4ca809e
fix(session): retry 5xx server errors even when isRetryable is unset …
kitlangton Apr 16, 2026
074ef03
feat(core): add fence to make all methods strongly consistent when sy…
jlongster Apr 16, 2026
307251b
fix: bash memory usage (#22660)
rekram1-node Apr 16, 2026
6d42f97
fix: revert "core: move plugin initialisation to config layer overrid…
kitlangton Apr 16, 2026
02f2cf4
feat: namespace → flat export migration (Bus proof-of-concept) (#22685)
kitlangton Apr 16, 2026
0fb0135
refactor: remove makeRuntime facades from File and Ripgrep (#22513)
kitlangton Apr 16, 2026
bbdbc10
feat: unwrap Config namespace to flat exports + barrel (#22689)
kitlangton Apr 16, 2026
f7d4665
fix: resolve oxlint warnings — suppress false positives, remove unuse…
kitlangton Apr 16, 2026
1d81335
feat: unwrap Provider namespace + improved automation script (#22690)
kitlangton Apr 16, 2026
7baf998
chore: generate
opencode-agent[bot] Apr 16, 2026
6625766
feat: unwrap MCP namespace to flat exports + barrel (#22693)
kitlangton Apr 16, 2026
d6b14e2
fix: prefix 32 unused parameters with underscore (#22694)
kitlangton Apr 16, 2026
70aeebf
chore: generate
opencode-agent[bot] Apr 16, 2026
34213d4
fix: delete 9 dead functions with zero callers (#22697)
kitlangton Apr 16, 2026
cce05c1
fix: clean up 49 unused variables, catch params, and stale imports (#…
kitlangton Apr 16, 2026
5eae926
add experimental provider auth HttpApi slice (#22389)
kitlangton Apr 16, 2026
64cc462
chore: generate
opencode-agent[bot] Apr 16, 2026
a1dbfb5
feat: unwrap uaccount namespace to flat exports + barrel (#22698)
kitlangton Apr 16, 2026
710c819
feat: unwrap uauth namespace to flat exports + barrel (#22699)
kitlangton Apr 16, 2026
c6286d1
feat: unwrap uenv namespace to flat exports + barrel (#22701)
kitlangton Apr 16, 2026
426815a
feat: unwrap ucommand namespace to flat exports + barrel (#22700)
kitlangton Apr 16, 2026
360d8dd
feat: unwrap uinstallation namespace to flat exports + barrel (#22707)
kitlangton Apr 16, 2026
26cdbc2
feat: unwrap ufile namespace to flat exports + barrel (#22702)
kitlangton Apr 16, 2026
d22b5f0
feat: unwrap unpm namespace to flat exports + barrel (#22708)
kitlangton Apr 16, 2026
47577ae
feat: unwrap upermission namespace to flat exports + barrel (#22710)
kitlangton Apr 16, 2026
18538e3
feat: unwrap usession namespace to flat exports + barrel (#22713)
kitlangton Apr 16, 2026
5ae91aa
feat: unwrap uplugin namespace to flat exports + barrel (#22711)
kitlangton Apr 16, 2026
d7a072d
feat: unwrap usnapshot namespace to flat exports + barrel (#22715)
kitlangton Apr 16, 2026
dc16488
feat: unwrap uide namespace to flat exports + barrel (#22706)
kitlangton Apr 16, 2026
f7edffc
feat: unwrap uglobal namespace to flat exports + barrel (#22705)
kitlangton Apr 16, 2026
a653a4b
feat: unwrap usync namespace to flat exports + barrel (#22716)
kitlangton Apr 16, 2026
e3677c2
feat: unwrap upatch namespace to flat exports + barrel (#22709)
kitlangton Apr 16, 2026
ce4e47a
feat: unwrap uformat namespace to flat exports + barrel (#22703)
kitlangton Apr 16, 2026
bb90aa6
feat: unwrap uworktree namespace to flat exports + barrel (#22717)
kitlangton Apr 16, 2026
0b975b0
feat: unwrap ugit namespace to flat exports + barrel (#22704)
kitlangton Apr 16, 2026
62ddb9d
feat: unwrap uskill namespace to flat exports + barrel (#22714)
kitlangton Apr 16, 2026
cf423d2
fix: remove 10 unused type-only imports and declarations (#22696)
kitlangton Apr 16, 2026
069cef8
chore: generate
opencode-agent[bot] Apr 16, 2026
60c927c
feat: unwrap Pty namespace to flat exports + barrel (#22719)
kitlangton Apr 16, 2026
48f88af
chore: update nix node_modules hashes
opencode-agent[bot] Apr 16, 2026
6c7e9f6
refactor: migrate Effect call sites from Flock to EffectFlock (#22688)
kitlangton Apr 16, 2026
379e40d
feat: unwrap InstanceState + EffectBridge namespaces to flat exports …
kitlangton Apr 16, 2026
f624360
chore: generate
opencode-agent[bot] Apr 16, 2026
1508196
feat: bridge question routes from Hono to Effect HttpApi (#22718)
kitlangton Apr 16, 2026
665a843
feat: unwrap Archive namespace to flat exports + barrel (#22722)
kitlangton Apr 16, 2026
702f741
feat: enable oxlint suspicious category, fix 24 violations (#22727)
kitlangton Apr 16, 2026
b0eae5e
feat: bridge permission and provider auth routes behind OPENCODE_EXPE…
kitlangton Apr 16, 2026
343a564
feat: unwrap 11 util namespaces to flat exports + barrel (#22739)
kitlangton Apr 16, 2026
80f1f1b
feat: enable type-aware no-floating-promises rule, fix all 177 violat…
kitlangton Apr 16, 2026
0beaf04
chore: generate
opencode-agent[bot] Apr 16, 2026
a427a28
feat: unwrap project namespaces to flat exports + barrel (#22743)
kitlangton Apr 16, 2026
581d520
feat: unwrap share namespaces to flat exports + barrel (#22744)
kitlangton Apr 16, 2026
d4cfbd0
feat: unwrap effect namespaces to flat exports + barrel (#22745)
kitlangton Apr 16, 2026
1ca257e
feat: unwrap config namespaces to flat exports + barrel (#22746)
kitlangton Apr 16, 2026
f242078
feat: unwrap storage namespaces to flat exports + barrel (#22747)
kitlangton Apr 16, 2026
509bc11
feat: unwrap lsp namespaces to flat exports + barrel (#22748)
kitlangton Apr 16, 2026
0e20382
fix: resolve circular sibling imports causing runtime ReferenceError …
kitlangton Apr 16, 2026
225a769
chore: generate
opencode-agent[bot] Apr 16, 2026
c802695
docs: add circular import rules to namespace treeshake spec (#22754)
kitlangton Apr 16, 2026
8aa0f9f
feat: enable type-aware no-base-to-string rule, fix 56 violations (#2…
kitlangton Apr 16, 2026
bd29004
feat: enable type-aware no-misused-spread rule, fix 8 violations (#22…
kitlangton Apr 16, 2026
9f4b73b
fix: clean up final 16 no-unused-vars warnings (#22751)
kitlangton Apr 16, 2026
f6cc228
feat: unwrap cli-tui namespaces to flat exports + barrel (#22759)
kitlangton Apr 16, 2026
5011465
feat: unwrap tool namespaces to flat exports + barrel (#22762)
kitlangton Apr 16, 2026
c8af8f9
chore: generate
opencode-agent[bot] Apr 16, 2026
6b20838
feat: unwrap provider namespaces to flat exports + barrel (#22760)
kitlangton Apr 16, 2026
150ab07
chore: generate
opencode-agent[bot] Apr 16, 2026
675a46e
CLI perf: reduce deps (#22652)
thdxr Apr 16, 2026
f418fd5
beta badge for desktop app (#14471)
adamdotdevin Apr 16, 2026
e2c0803
Fix desktop download asset names for beta channel (#22766)
Brendonovich Apr 16, 2026
9791850
app: start migrating bootstrap data fetching to TanStack Query (#22756)
Brendonovich Apr 16, 2026
8b3b608
chore: generate
opencode-agent[bot] Apr 16, 2026
ef6c26c
chore: update nix node_modules hashes
opencode-agent[bot] Apr 16, 2026
3f7df08
perf: make vcs init non-blocking by forking git branch resolution (#2…
thdxr Apr 16, 2026
ef90b93
fix: restore .gitignore logic for config dirs and migrate to shared N…
thdxr Apr 16, 2026
7341718
chore: generate
opencode-agent[bot] Apr 16, 2026
6ce481e
move useful scripts to script folder
thdxr Apr 16, 2026
8ab17f5
tui: fix path comparison in theme installer to handle different path …
thdxr Apr 16, 2026
2b1696f
Revert "tui: fix path comparison in theme installer to handle differe…
thdxr Apr 16, 2026
a200f6f
zen: opus 4.7
fwang Apr 16, 2026
cc7acd9
fix(nix): add shared package to bun install filters (#22665)
jerome-benoit Apr 16, 2026
378c05f
feat: Add support for claude opus 4.7 xhigh adaptive reasoning effort…
GrahamCampbell Apr 16, 2026
8c0205a
fix: align stale bot message with actual 60-day threshold (#22842)
B67687 Apr 16, 2026
305460b
fix: add a few more tests for sync and session restore (#22837)
jlongster Apr 16, 2026
06afd33
refactor(tui): improve workspace management (#22691)
jlongster Apr 16, 2026
d82bc3a
chore: generate
opencode-agent[bot] Apr 16, 2026
b28956f
fix(core): better global sync event structure (#22858)
jlongster Apr 16, 2026
bfffc3c
tui: ensure TUI plugins load with proper project context when multipl…
thdxr Apr 16, 2026
33bb847
config: refactor
thdxr Apr 16, 2026
9bf2dfe
core: refactor config schemas into separate modules for better mainta…
thdxr Apr 16, 2026
8b1f0e2
core: add documentation comments to plugin configuration merge logic
thdxr Apr 16, 2026
c5deeee
fix: ensure azure has store = true by default (#22764)
rekram1-node Apr 16, 2026
03e20e6
core: modularize config parsing to improve maintainability
thdxr Apr 16, 2026
cefa7f0
core: reorganize ConfigPaths module export for cleaner dependency man…
thdxr Apr 16, 2026
bee5f91
core: reorganize ConfigPaths module export for cleaner dependency man…
thdxr Apr 16, 2026
c60862f
fix: add missing glob dependency (#22851)
trbutler4 Apr 16, 2026
143817d
chore: bump ai sdk deps for opus 4.7 (#22869)
rekram1-node Apr 16, 2026
3707701
chore: generate
opencode-agent[bot] Apr 16, 2026
9afbdc1
fix(test): make plugin loader theme source path separator-safe (#22870)
thdxr Apr 16, 2026
bf4c107
fix: remove 7 unnecessary `as any` casts in opencode core (#22840)
kitlangton Apr 16, 2026
47e0e23
tweak: set display 'summarized' by default for opus 4.7 thorugh messa…
rekram1-node Apr 16, 2026
7c1b302
chore: update nix node_modules hashes
opencode-agent[bot] Apr 16, 2026
219b473
refactor: unwrap BashArity namespace to flat exports + self-reexport …
kitlangton Apr 16, 2026
2fe9d94
fix: remove 8 more unnecessary `as any` casts in opencode core (#22877)
kitlangton Apr 16, 2026
6c3b28d
fix: ensure that double pasting doesnt happen after tui perf commit w…
rekram1-node Apr 16, 2026
76275fc
refactor: move Pty into pty/index.ts with self-reexport (#22881)
kitlangton Apr 16, 2026
5e650fd
fix(opencode): drop max_tokens for OpenAI reasoning models on Cloudfl…
kobicovaldev Apr 16, 2026
1c33b86
fix: remove 10 more unnecessary `as any` casts in opencode core (#22882)
kitlangton Apr 16, 2026
e0d71f1
tooling: add collapse-barrel.ts for single-namespace barrel migration…
kitlangton Apr 16, 2026
25a9de3
core: eager load config on startup for better traces and refactor npm…
thdxr Apr 16, 2026
26af77c
fix(core): fix detection of local installation channel (#22899)
jlongster Apr 16, 2026
1045a43
refactor: collapse format barrel into format/index.ts (#22898)
kitlangton Apr 16, 2026
9b77430
refactor: collapse env barrel into env/index.ts (#22900)
kitlangton Apr 16, 2026
a8d8a35
feat(core): pass auth data to workspace (#22897)
jlongster Apr 16, 2026
3fe906f
refactor: collapse command barrel into command/index.ts (#22903)
kitlangton Apr 16, 2026
021ab50
chore: generate
opencode-agent[bot] Apr 16, 2026
23f97ac
refactor: collapse global barrel into global/index.ts (#22905)
kitlangton Apr 16, 2026
cb6a925
refactor: collapse sync barrel into sync/index.ts (#22907)
kitlangton Apr 16, 2026
8c191b1
refactor: collapse ide barrel into ide/index.ts (#22904)
kitlangton Apr 16, 2026
bd51a0d
refactor: collapse worktree barrel into worktree/index.ts (#22906)
kitlangton Apr 16, 2026
ae9a696
refactor: collapse installation barrel into installation/index.ts (#2…
kitlangton Apr 16, 2026
99d392a
refactor: collapse skill barrel into skill/index.ts (#22912)
kitlangton Apr 16, 2026
ab15fc1
refactor: collapse npm barrel into npm/index.ts (#22911)
kitlangton Apr 16, 2026
964474a
refactor: collapse permission barrel into permission/index.ts (#22915)
kitlangton Apr 16, 2026
664b2c3
refactor: collapse git barrel into git/index.ts (#22909)
kitlangton Apr 16, 2026
5fccdc9
refactor: collapse mcp barrel into mcp/index.ts (#22913)
kitlangton Apr 16, 2026
49bbea5
refactor: collapse snapshot barrel into snapshot/index.ts (#22916)
kitlangton Apr 16, 2026
2638e2a
refactor: collapse plugin barrel into plugin/index.ts (#22914)
kitlangton Apr 16, 2026
610c036
fix(opencode): use low reasoning effort for GitHub Copilot gpt-5 mode…
thakrarsagar Apr 16, 2026
cdfbb26
refactor: collapse bus barrel into bus/index.ts (#22902)
kitlangton Apr 16, 2026
1694c5b
refactor: collapse file barrel into file/index.ts (#22901)
kitlangton Apr 16, 2026
ae58433
fix: uncomment import (#22923)
rekram1-node Apr 16, 2026
86c54c5
fix(tui): minor logging cleanup (#22924)
jlongster Apr 16, 2026
32548bc
refactor: unwrap ConfigPlugin namespace to flat exports + self-reexpo…
kitlangton Apr 16, 2026
0e86466
refactor: unwrap Discovery namespace to flat exports + self-reexport …
kitlangton Apr 16, 2026
9f201d6
release: v1.4.7
Apr 16, 2026
9db4099
fix build script
thdxr Apr 16, 2026
dbe2ff5
fix tui otel profiling
thdxr Apr 16, 2026
cb18f2e
fix: ensure azure sets prompt cache key by default (#22957)
rekram1-node Apr 16, 2026
23d48a7
refactor: unwrap BusEvent namespace + self-reexport (#22962)
kitlangton Apr 16, 2026
e2d161d
refactor: unwrap Identifier namespace + self-reexport (#22963)
kitlangton Apr 16, 2026
30fc791
refactor: unwrap Ripgrep namespace + self-reexport (#22965)
kitlangton Apr 16, 2026
218eca7
refactor: unwrap MDNS namespace + self-reexport (#22968)
kitlangton Apr 16, 2026
715786b
refactor: unwrap FileTime namespace + self-reexport (#22966)
kitlangton Apr 16, 2026
1089fa0
refactor: unwrap ServerProxy namespace + self-reexport (#22969)
kitlangton Apr 16, 2026
c03fa36
refactor: unwrap Server namespace + self-reexport (#22970)
kitlangton Apr 16, 2026
5d47ea0
refactor: unwrap ConfigMCP namespace + self-reexport (#22948)
kitlangton Apr 16, 2026
f9aa3d7
chore: generate
opencode-agent[bot] Apr 16, 2026
bae80af
refactor: unwrap Workspace namespace + self-reexport (#22934)
kitlangton Apr 17, 2026
4e27804
refactor: unwrap McpOAuthCallback namespace + self-reexport (#22943)
kitlangton Apr 17, 2026
19d15d9
refactor: unwrap ConfigProvider namespace + self-reexport (#22949)
kitlangton Apr 17, 2026
1291e82
refactor: unwrap ACP namespace + self-reexport (#22936)
kitlangton Apr 17, 2026
cde105e
refactor: unwrap CopilotModels namespace + self-reexport (#22947)
kitlangton Apr 17, 2026
fdd5b77
refactor: unwrap McpAuth namespace + self-reexport (#22942)
kitlangton Apr 17, 2026
f6dbb2f
refactor: unwrap Heap namespace + self-reexport (#22931)
kitlangton Apr 17, 2026
79732ab
refactor: unwrap UI namespace + self-reexport (#22951)
kitlangton Apr 17, 2026
fb02744
refactor: unwrap Agent namespace + self-reexport (#22935)
kitlangton Apr 17, 2026
974fa1b
refactor: unwrap PluginMeta namespace + self-reexport (#22945)
kitlangton Apr 17, 2026
06d247c
refactor: unwrap FileIgnore namespace + self-reexport (#22937)
kitlangton Apr 17, 2026
2704ad9
refactor: unwrap TuiConfig namespace + self-reexport (#22952)
kitlangton Apr 17, 2026
059b32c
refactor: unwrap Protected namespace + self-reexport (#22938)
kitlangton Apr 17, 2026
635970b
refactor: unwrap ConfigSkills namespace + self-reexport (#22950)
kitlangton Apr 17, 2026
53dc7b1
chore: generate
opencode-agent[bot] Apr 17, 2026
c0bfccc
tooling: add unwrap-and-self-reexport + batch-unwrap-pr scripts (#22929)
kitlangton Apr 17, 2026
54078c4
refactor: unwrap Shell namespace + self-reexport (#22964)
kitlangton Apr 17, 2026
39342b0
tui: fix Windows terminal suspend and input undo keybindings
thdxr Apr 17, 2026
d6af5a6
tui: convert TuiConfig namespace to ES module exports
thdxr Apr 17, 2026
51d8219
refactor: unwrap session/ tier-2 namespaces + self-reexport (#22973)
kitlangton Apr 17, 2026
266fb93
chore: generate
opencode-agent[bot] Apr 17, 2026
d2cb161
refactor: unwrap SessionEntry namespace + self-reexport (#22977)
kitlangton Apr 17, 2026
54046e0
refactor: unwrap SessionV2 namespace + self-reexport (#22978)
kitlangton Apr 17, 2026
5022895
refactor: unwrap ExperimentalHttpApiServer namespace + self-reexport …
kitlangton Apr 17, 2026
94878d7
refactor: unwrap TuiPluginRuntime namespace + self-reexport (#22980)
kitlangton Apr 17, 2026
c59df63
chore: delete empty v2/session-common + collapse patch barrel (#22981)
kitlangton Apr 17, 2026
8afb625
refactor: extract Diagnostic namespace into lsp/diagnostic.ts + self-…
kitlangton Apr 17, 2026
6405e3a
tui: stabilize session dialog ordering (#22987)
thdxr Apr 17, 2026
326471a
refactor: split config lsp and formatter schemas (#22986)
thdxr Apr 17, 2026
f137782
perf: speed up skill directory discovery (#22990)
thdxr Apr 17, 2026
5b9fa32
chore: generate
opencode-agent[bot] Apr 17, 2026
9c87a14
refactor: normalize AccountRepo to canonical Effect service pattern (…
kitlangton Apr 17, 2026
4f8986a
refactor: unwrap Question namespace + fix script to emit "." for inde…
kitlangton Apr 17, 2026
8ba73be
refactor: collapse auth/ barrel — merge auth.ts into index.ts + self-…
kitlangton Apr 17, 2026
c026e25
refactor: eliminate account/ barrel, route consumers to sibling files…
kitlangton Apr 17, 2026
f592c38
refactor: convert Flag namespace to const object with getters (#22984)
kitlangton Apr 17, 2026
01bb54a
refactor: split config parsing steps (#22996)
thdxr Apr 17, 2026
61c4815
refactor: unwrap FileWatcher namespace + self-reexport (redo) (#23000)
kitlangton Apr 17, 2026
ee70804
fix: prefer real undo filenames over /dev/null (#23006)
thdxr Apr 17, 2026
ebe6ea5
chore: generate
opencode-agent[bot] Apr 17, 2026
f135c0b
app: use tanstack query to load session vcs state (#22277)
Brendonovich Apr 17, 2026
220e3e9
refactor: make formatter config opt-in (#22997)
thdxr Apr 17, 2026
dc38f22
chore: generate
opencode-agent[bot] Apr 17, 2026
7b3bb9a
fix: preserve plugin tool metadata in execute result (#22827)
jquense Apr 17, 2026
c51f3e3
chore: retire namespace migration tooling + document module shape (#2…
kitlangton Apr 17, 2026
ee7339f
refactor: move provider and config provider routes onto HttpApi (#23004)
kitlangton Apr 17, 2026
cccb907
feat(tui): animated GO logo + radial pulse in free-limit upsell dialo…
kitlangton Apr 17, 2026
fbbab9d
feat(app): hide desktop titlebar tools behind settings (#19029)
jayair Apr 17, 2026
0bedea5
fix(tui): tui resiliency when workspace is dead, disable directory fi…
jlongster Apr 17, 2026
4260c40
refactor(tui): inline final Go shimmer settings (#23017)
kitlangton Apr 17, 2026
67dbb3c
chore: generate
opencode-agent[bot] Apr 17, 2026
9ee89f7
refactor: move project read routes onto HttpApi (#23003)
kitlangton Apr 17, 2026
79e9baf
fix(app): use fetchQuery instead of ensureQueryData in global sync (#…
Brendonovich Apr 17, 2026
dfaae14
chore: update nix node_modules hashes
opencode-agent[bot] Apr 17, 2026
4bd5a15
fix: preserve prompt input across unmount/remount cycles (#22508)
thdxr Apr 17, 2026
76a1410
chore: delete filetime module (#22999)
rekram1-node Apr 17, 2026
f0caeb9
chore: generate
opencode-agent[bot] Apr 17, 2026
72d7cb7
remove accidental commit of daytona plugin (#23030)
jlongster Apr 17, 2026
e7f8f7f
fix crash on experimental
thdxr Apr 17, 2026
7605acf
refactor(core): move server routes around to clarify workspacing (#23…
jlongster Apr 17, 2026
65b2a10
fade in prompt metadata transitions (#23037)
thdxr Apr 17, 2026
81f0885
chore: generate
opencode-agent[bot] Apr 17, 2026
d995059
core: migrate config loading to Effect framework (#23032)
thdxr Apr 17, 2026
a726530
fix(app): workspace loading and persist ready state (#23046)
Brendonovich Apr 17, 2026
c57c531
chore: generate
opencode-agent[bot] Apr 17, 2026
01bad0d
merge upstream (conflicts auto-accepted - needs review)
github-actions[bot] Apr 17, 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
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions .github/TEAM_MEMBERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
adamdotdevin
Brendonovich
fwang
Hona
iamdavidhill
jayair
jlongster
kitlangton
kommander
MrMushrooooom
nexxeln
R44VC0RP
rekram1-node
RhysSullivan
thdxr
13 changes: 13 additions & 0 deletions .github/VOUCHED.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,27 @@
# - Denounce with minus prefix: -username or -platform:username.
# - Optional details after a space following the handle.
adamdotdevin
-agusbasari29 AI PR slop
ariane-emory
-atharvau AI review spamming literally every PR
-borealbytes
-danieljoshuanazareth
-danieljoshuanazareth
edemaine
-florianleibert
fwang
iamdavidhill
jayair
kitlangton
kommander
-opencode2026
-opencodeengineer bot that spams issues
r44vc0rp
rekram1-node
-ricardo-m-l
-robinmordasiewicz
shantur
simonklee
-spider-yamet clawdbot/llm psychosis, spam pinging the team
thdxr
-toastythebot
48 changes: 41 additions & 7 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,51 @@ description: "Setup Bun with caching and install dependencies"
runs:
using: "composite"
steps:
- name: Mount Bun Cache
uses: useblacksmith/stickydisk@v1
with:
key: ${{ github.repository }}-bun-cache-${{ runner.os }}
path: ~/.bun
- 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]")
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"
fi

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

- name: Get cache directory
id: cache
shell: bash
run: echo "dir=$(bun pm cache)" >> "$GITHUB_OUTPUT"

- name: Cache Bun dependencies
uses: actions/cache@v4
with:
path: ${{ steps.cache.outputs.dir }}
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-

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

- name: Install dependencies
run: bun install
run: |
# Workaround for patched peer variants
# e.g. ./patches/ for standard-openapi
# https://github.com/oven-sh/bun/issues/28147
if [ "$RUNNER_OS" = "Windows" ]; then
bun install --linker hoisted
else
bun install
fi
shell: bash
24 changes: 23 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,29 @@
### Issue for this PR

Closes #

### Type of change

- [ ] Bug fix
- [ ] New feature
- [ ] Refactor / code improvement
- [ ] Documentation

### What does this PR do?

Please provide a description of the issue (if there is one), the changes you made to fix it, and why they work. It is expected that you understand why your changes work and if you do not understand why at least say as much so a maintainer knows how much to value the PR.
Please provide a description of the issue, the changes you made to fix it, and why they work. It is expected that you understand why your changes work and if you do not understand why at least say as much so a maintainer knows how much to value the PR.

**If you paste a large clearly AI generated description here your PR may be IGNORED or CLOSED!**

### How did you verify your code works?

### Screenshots / recordings

_If this is a UI change, please include a screenshot or recording._

### Checklist

- [ ] I have tested my changes locally
- [ ] I have not included unrelated changes in this PR

_If you do not follow this template your PR will be automatically rejected._
4 changes: 4 additions & 0 deletions .github/workflows/beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ jobs:
opencode-app-id: ${{ vars.OPENCODE_APP_ID }}
opencode-app-secret: ${{ secrets.OPENCODE_APP_SECRET }}

- name: Install OpenCode
run: bun i -g opencode-ai

- name: Sync beta branch
env:
GH_TOKEN: ${{ steps.setup-git-committer.outputs.token }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
run: bun script/beta.ts
24 changes: 24 additions & 0 deletions .github/workflows/close-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: close-issues

on:
schedule:
- cron: "0 2 * * *" # Daily at 2:00 AM
workflow_dispatch:

jobs:
close:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Close stale issues
env:
GITHUB_TOKEN: ${{ github.token }}
run: bun script/github/close-issues.ts
9 changes: 9 additions & 0 deletions .github/workflows/compliance-close.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,15 @@ jobs:
body: closeMessage,
});

try {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: item.number,
name: 'needs:compliance',
});
} catch (e) {}

if (isPR) {
await github.rest.pulls.update({
owner: context.repo.owner,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ concurrency: ${{ github.workflow }}-${{ github.ref }}

jobs:
deploy:
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

Expand Down
39 changes: 27 additions & 12 deletions .github/workflows/docs-locale-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@ on:

jobs:
sync-locales:
if: github.actor != 'opencode-agent[bot]'
if: false
#if: github.actor != 'opencode-agent[bot]'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
id-token: write
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
ref: ${{ github.ref_name }}

- name: Setup Bun
uses: ./.github/actions/setup-bun
Expand All @@ -33,7 +35,7 @@ jobs:
- name: Compute changed English docs
id: changes
run: |
FILES=$(git diff --name-only "${{ github.event.before }}" "${{ github.sha }}" -- 'packages/web/src/content/docs/*.mdx' || true)
FILES=$(git diff --name-only "${{ github.event.before }}" "${{ github.sha }}" -- ':(glob)packages/web/src/content/docs/*.mdx' || true)
if [ -z "$FILES" ]; then
echo "has_changes=false" >> "$GITHUB_OUTPUT"
echo "No English docs changed in push range"
Expand All @@ -46,15 +48,26 @@ jobs:
echo "EOF"
} >> "$GITHUB_OUTPUT"

- name: Install OpenCode
if: steps.changes.outputs.has_changes == 'true'
run: curl -fsSL https://opencode.ai/install | bash

- name: Sync locale docs with OpenCode
if: steps.changes.outputs.has_changes == 'true'
uses: sst/opencode/github@latest
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
with:
model: opencode/gpt-5.2
agent: docs
prompt: |
OPENCODE_CONFIG_CONTENT: |
{
"permission": {
"*": "deny",
"read": "allow",
"edit": "allow",
"glob": "allow",
"task": "allow"
}
}
run: |
opencode run --agent docs --model opencode/gpt-5.3-codex <<'EOF'
Update localized docs to match the latest English docs changes.

Changed English doc files:
Expand All @@ -67,10 +80,12 @@ jobs:
2. You MUST use the Task tool for translation work and launch subagents with subagent_type `translator` (defined in .opencode/agent/translator.md).
3. Do not translate directly in the primary agent. Use translator subagent output as the source for locale text updates.
4. Run translator subagent Task calls in parallel whenever file/locale translation work is independent.
5. Preserve frontmatter keys, internal links, code blocks, and existing locale-specific metadata unless the English change requires an update.
6. Keep locale docs structure aligned with their corresponding English pages.
7. Do not modify English source docs in packages/web/src/content/docs/*.mdx.
8. If no locale updates are needed, make no changes.
5. Use only the minimum tools needed for this task (read/glob, file edits, and translator Task). Do not use shell, web, search, or GitHub tools for translation work.
6. Preserve frontmatter keys, internal links, code blocks, and existing locale-specific metadata unless the English change requires an update.
7. Keep locale docs structure aligned with their corresponding English pages.
8. Do not modify English source docs in packages/web/src/content/docs/*.mdx.
9. If no locale updates are needed, make no changes.
EOF

- name: Commit and push locale docs updates
if: steps.changes.outputs.has_changes == 'true'
Expand Down
64 changes: 62 additions & 2 deletions .github/workflows/duplicate-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ name: duplicate-issues

on:
issues:
types: [opened]
types: [opened, edited]

jobs:
check-duplicates:
if: github.event.action == 'opened'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
Expand Down Expand Up @@ -34,7 +35,7 @@ jobs:
"webfetch": "deny"
}
run: |
opencode run -m opencode/claude-haiku-4-5 "A new issue has been created:
opencode run -m opencode/claude-sonnet-4-6 "A new issue has been created:

Issue number: ${{ github.event.issue.number }}

Expand Down Expand Up @@ -115,3 +116,62 @@ jobs:
If you believe this was flagged incorrectly, please let a maintainer know.

Remember: post at most ONE comment combining all findings. If everything is fine, post nothing."

recheck-compliance:
if: github.event.action == 'edited' && contains(github.event.issue.labels.*.name, 'needs:compliance')
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

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

- name: Install opencode
run: curl -fsSL https://opencode.ai/install | bash

- name: Recheck compliance
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENCODE_PERMISSION: |
{
"bash": {
"*": "deny",
"gh issue*": "allow"
},
"webfetch": "deny"
}
run: |
opencode run -m opencode/claude-sonnet-4-6 "Issue #${{ github.event.issue.number }} was previously flagged as non-compliant and has been edited.

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

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:

1. Bug Report - requires a Description field with real content
2. Feature Request - requires a verification checkbox and description, title should start with [FEATURE]:
3. Question - requires the Question field with real content

Additionally check:
- No AI-generated walls of text (long, AI-generated descriptions are not acceptable)
- The issue has real content, not just template placeholder text left unchanged
- Bug reports should include some context about how to reproduce
- Feature requests should explain the problem or need
- We want to push for having the user provide system description & information

Do NOT be nitpicky about optional fields. Only flag real problems like: no template used, required fields empty or placeholder text only, obviously AI-generated walls of text, or completely empty/nonsensical content.

If the issue is NOW compliant:
1. Remove the needs:compliance label: gh issue edit ${{ github.event.issue.number }} --remove-label needs:compliance
2. Find and delete the previous compliance comment (the one containing <!-- issue-compliance -->) using: gh api repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments --jq '.[] | select(.body | contains(\"<!-- issue-compliance -->\")) | .id' then delete it with: gh api -X DELETE repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments/{id}
3. Post a short comment thanking them for updating the issue.

If the issue is STILL not compliant:
Post a comment explaining what still needs to be fixed. Keep the needs:compliance label."
Loading
Loading