Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
596 commits
Select commit Hold shift + click to select a range
c76a814
chore: cleanup
adamdotdevin Feb 19, 2026
1a1437e
fix(github): action branch detection and 422 handling (#14322)
elithrar Feb 19, 2026
04cf2b8
release: v1.2.7
Feb 19, 2026
dd011e8
fix(app): clear todos on abort
adamdotdevin Feb 19, 2026
7a42ecd
chore: cleanup
adamdotdevin Feb 19, 2026
824ab4c
feat(tui): add custom tool and mcp call responses visible and collaps…
yanosh-k Feb 19, 2026
193013a
feat(opencode): support adaptive thinking for claude sonnet 4.6 (#14283)
Feb 19, 2026
686dd33
chore: generate
opencode-agent[bot] Feb 19, 2026
fca0166
fix(app): black screen on launch with sidecar server
adamdotdevin Feb 19, 2026
f2090b2
release: v1.2.8
Feb 19, 2026
cb5a0de
core: remove User-Agent header assertion from LLM test to fix failing…
thdxr Feb 19, 2026
d32dd4d
docs: update providers layout and Windows sidebar label
jayair Feb 19, 2026
ae50f24
fix(web): correct config import path in Korean enterprise docs
thdxr Feb 20, 2026
01d5187
remove unnecessary deep clones from session loop and LLM stream (#14354)
thdxr Feb 20, 2026
8ad60b1
Use structuredClone instead of remeda's clone (#14351)
mhart Feb 20, 2026
d2d7a37
fix: add missing id/sessionID/messageID to MCP tool attachments (#14345)
NatChung Feb 20, 2026
998c8bf
tweak(ui): stabilize collapsible chevron hover
iamdavidhill Feb 19, 2026
a3181d5
tweak(ui): nudge edited files chevron
iamdavidhill Feb 19, 2026
ae98be8
fix(desktop): restore settings header mask
iamdavidhill Feb 20, 2026
63a469d
tweak(ui): refine session feed spacing
iamdavidhill Feb 20, 2026
8b99ac6
tweak(ui): tone down reasoning emphasis
iamdavidhill Feb 20, 2026
8d781b0
tweak(ui): adjust session feed spacing
iamdavidhill Feb 20, 2026
1a329ba
fix: issue from structuredClone addition by using unwrap (#14359)
rekram1-node Feb 20, 2026
1eb6caa
release: v1.2.9
Feb 20, 2026
04a634a
test: merge test files into a single file (#14366)
rekram1-node Feb 20, 2026
d86c108
docs: clarify tool name collision precedence (#14313)
rmk40 Feb 20, 2026
1c2416b
desktop: don't spawn sidecar if default is localhost server
Brendonovich Feb 20, 2026
4432148
sdk: build to dist/ instead of dist/src (#14383)
Brendonovich Feb 20, 2026
296250f
release: v1.2.10
Feb 20, 2026
a04e4e8
chore: cleanup
adamdotdevin Feb 20, 2026
93615be
fix(cli): missing plugin deps cause TUI to black screen (#14432)
elithrar Feb 20, 2026
7e1051a
fix(ui): show full turn duration in assistant meta (#14378)
nexxeln Feb 20, 2026
ac0b37a
fix(snapshot): respect info exclude in snapshot staging (#13495)
nexxeln Feb 20, 2026
1de1260
fix(ui): preserve url slashes for root workspace (#14294)
nexxeln Feb 20, 2026
2410593
fix(github): support variant in github action and opencode github run…
elithrar Feb 20, 2026
7e0e35a
chore: update agent
adamdotdevin Feb 20, 2026
4e9ef3e
fix(app): terminal issues (#14435)
adamdotdevin Feb 20, 2026
7e681b0
fix(app): large text pasted into prompt-input causes main thread lock
adamdotdevin Feb 20, 2026
7419ebc
feat: add list sessions for all sessions (experimental) (#14038)
R44VC0RP Feb 20, 2026
7867ba4
chore: generate
opencode-agent[bot] Feb 20, 2026
92ab421
desktop: bring back -i in sidecar arguments
Brendonovich Feb 20, 2026
ce17f9d
desktop: publish betas to separate repo (#14376)
Brendonovich Feb 20, 2026
9c5bbba
fix(app): patch tool renders like edit tool
adamdotdevin Feb 20, 2026
c79f1a7
cache platform binary in postinstall for faster startup (#14396)
rekram1-node Feb 20, 2026
1ffed2f
Revert "cache platform binary in postinstall for faster startup" (#14…
rekram1-node Feb 20, 2026
0ce61c8
fix(app): stay pinned with auto-scroll on todos/questions/perms
adamdotdevin Feb 20, 2026
2a904ec
feat(app): show/hide reasoning summaries
adamdotdevin Feb 20, 2026
1e48d7f
zen: gpt safety_identifier
fwang Feb 20, 2026
fe89bed
wip(app): custom scroll view
adamdotdevin Feb 20, 2026
c09d3dd
chore: cleanup
adamdotdevin Feb 20, 2026
46361cf
fix(app): session review re-rendering too aggressively
adamdotdevin Feb 20, 2026
1d9f05e
cache platform binary in postinstall for faster startup (#14467)
rekram1-node Feb 20, 2026
950df3d
ci: temporarily disable assigning of issues to rekram1-node (#14486)
rekram1-node Feb 20, 2026
ce27637
fix(app): better sound effect disabling ux
adamdotdevin Feb 20, 2026
58ad435
chore: cleanup
adamdotdevin Feb 20, 2026
f07e877
fix(app): remove double-border in share button
adamdotdevin Feb 20, 2026
5a1aca9
docs: add Bangla README translation (#14331)
tuhin-cmd Feb 21, 2026
d0ce295
chore: generate
opencode-agent[bot] Feb 21, 2026
e77b2cf
wip: zen lite
fwang Feb 21, 2026
b75a27d
chore: cleanup
adamdotdevin Feb 21, 2026
6d58d89
fix: e2e test outdated
adamdotdevin Feb 21, 2026
206d81e
desktop: beta icon
Brendonovich Feb 21, 2026
c45ab71
chore: locale specific glossaries
adamdotdevin Feb 20, 2026
dbf2c45
chore: updated locale glossaries and docs sync workflow
adamdotdevin Feb 21, 2026
a41c81d
docs(ko): improve wording in gitlab, ide, index, keybinds, and lsp do…
Seungjun0906 Feb 21, 2026
13616e3
Update VOUCHED list
github-actions[bot] Feb 22, 2026
b16f7b4
docs(tui): correct typo in TUI documentation (#14604)
pirrozani Feb 22, 2026
e70d2b2
fix(app): terminal issues
adamdotdevin Feb 22, 2026
aaf8317
feat(app): feed customization options
adamdotdevin Feb 22, 2026
eb64ce0
Update VOUCHED list
github-actions[bot] Feb 22, 2026
a74fedd
fix(desktop): change detection on Windows, especially Cygwin (#13659)
edemaine Feb 22, 2026
faa6322
chore: generate
opencode-agent[bot] Feb 22, 2026
a4ed020
upgrade opentui to v0.1.81 (#14605)
kommander Feb 22, 2026
ab75ef8
chore: update nix node_modules hashes
opencode-agent[bot] Feb 23, 2026
0042a07
fix: Windows path support and canonicalization (#13671)
edemaine Feb 23, 2026
ee754c4
fix(win32): normalize paths at permission boundaries (#14738)
Hona Feb 23, 2026
5712cff
zen: track session in usage
fwang Feb 22, 2026
5596775
zen: display session in usage
fwang Feb 22, 2026
a5a70fa
wip: zen lite
fwang Feb 23, 2026
d3ecc5a
chore: generate
opencode-agent[bot] Feb 23, 2026
9f4fc5b
Revert "fix(app): terminal issues"
adamdotdevin Feb 23, 2026
8e96447
fix(app): correct inverted chevron direction in todo list (#14628)
kevinWangSheng Feb 23, 2026
3b5b21a
fix(app): duplicate markdown
adamdotdevin Feb 23, 2026
8f2d8dd
fix(app): duplicate markdown
adamdotdevin Feb 23, 2026
24c6391
fix: update workflows for better automation (#14809)
R44VC0RP Feb 23, 2026
ad5f081
fix(cicd): flakey typecheck (#14828)
Hona Feb 23, 2026
34495a7
fix(win32): scripts/turbo commands would not run (#14829)
Hona Feb 23, 2026
284251a
zen: display BYOK cost
fwang Feb 23, 2026
0a91196
fix(win32): e2e sometimes fails because windows is weird and sometime…
Hona Feb 23, 2026
0269f39
ci: add Windows to unit test matrix (#14836)
Hona Feb 23, 2026
ae19003
ci: use bun baseline build to avoid segfaults (#14839)
Hona Feb 24, 2026
cf5cfb4
upgrade to bun 1.3.10 canary and force baseline builds always (#14843)
Hona Feb 24, 2026
eda7137
app: wait for loadFile before opening file tab
Brendonovich Feb 24, 2026
cda2af2
wip: zen lite
fwang Feb 24, 2026
fb6d201
wip: zen lite
fwang Feb 24, 2026
744059a
chore: generate
opencode-agent[bot] Feb 24, 2026
a592bd9
fix: update createOpenReviewFile test to match new call order (#14881)
Hona Feb 24, 2026
de796d9
fix(test): use path.join for cross-platform glob test assertions (#14…
Hona Feb 24, 2026
3201a7d
fix(win32): add bun prefix to console app build scripts (#14884)
Hona Feb 24, 2026
6590689
fix(win32): handle CRLF line endings in markdown frontmatter parsing …
Hona Feb 24, 2026
13cabae
fix(win32): add git flags for snapshot operations and fix tests for c…
Hona Feb 24, 2026
888b123
feat: ACP - stream bash output and synthetic pending events (#14079)
noamzbr Feb 24, 2026
ef7f222
chore: generate
opencode-agent[bot] Feb 24, 2026
79254c1
fix(test): normalize git excludesFile path for Windows (#14893)
Hona Feb 24, 2026
a292edd
fix(test): harden preload cleanup against Windows EBUSY (#14895)
Hona Feb 24, 2026
1af3e9e
fix(win32): fix plugin resolution with createRequire fallback (#14898)
Hona Feb 24, 2026
1a0639e
fix(win32): normalize backslash paths in config rel() and file ignore…
Hona Feb 24, 2026
06f25c7
fix(test): use path.sep in discovery test for cross-platform path mat…
Hona Feb 24, 2026
3d379c2
fix(test): replace Unix-only assumptions with cross-platform alternat…
Hona Feb 24, 2026
36197f5
fix(win32): add 50ms tolerance for NTFS mtime fuzziness in FileTime a…
Hona Feb 24, 2026
3241777
fix(test): replace structuredClone with spread for process.env (#14908)
Hona Feb 24, 2026
e27d3d5
fix(app): remove filetree tooltips
adamdotdevin Feb 24, 2026
2cee947
fix: ACP both live and load share synthetic pending status preceeding…
noamzbr Feb 24, 2026
082f0cc
fix(app): preserve native path separators in file path helpers (#14912)
Hona Feb 24, 2026
c92913e
chore: cleanup
adamdotdevin Feb 24, 2026
5190589
zen: remove alpha models from models endpoint
fwang Feb 24, 2026
cc02476
refactor: replace error handling with serverErrorMessage utility and …
OpeOginni Feb 24, 2026
0d0d057
chore: generate
opencode-agent[bot] Feb 24, 2026
c6d8e76
fix(app): on cancel comment unhighlight lines (#14103)
neriousy Feb 24, 2026
f8cfb69
zen: restrict alpha models to admin workspaces
fwang Feb 24, 2026
68cf011
fix(app): ignore stale part deltas
adamdotdevin Feb 24, 2026
2a87860
zen: gpt 5.3 codex
fwang Feb 24, 2026
2c00eb6
feat(core): add workspace-serve command (experimental) (#14960)
jlongster Feb 24, 2026
29ddd55
release: v1.2.11
Feb 24, 2026
3af12c5
fix(opencode): import custom tools via file URL (#14971)
Hona Feb 25, 2026
e718263
fix(project): await git id cache write (#14977)
Hona Feb 25, 2026
da40ab7
fix(opencode): disable config bun cache in CI (#14985)
Hona Feb 25, 2026
814c1d3
refactor: migrate Bun.spawn to Process utility with timeout and clean…
thdxr Feb 25, 2026
fa559b0
core: temporarily disable plan enter tool to prevent unintended mode …
thdxr Feb 25, 2026
637059a
feat: show LSP errors for apply_patch tool (#14715)
thdxr Feb 25, 2026
a487f11
ci: auto-resolve merge conflicts in beta sync using opencode
thdxr Feb 25, 2026
0b3fb5d
ci: specify opencode/kimi-k2.5 model in beta script to ensure consist…
thdxr Feb 25, 2026
6af7ddf
ci: switch beta script to gpt-5.3-codex for improved code generation …
thdxr Feb 25, 2026
76b60f3
desktop: make readme more accurate
Brendonovich Feb 25, 2026
6fc5506
zen: go
fwang Feb 25, 2026
d00d98d
wip: zen go
fwang Feb 25, 2026
1172ebe
wip: zen go
fwang Feb 25, 2026
5d5f2cf
wip: zen go
fwang Feb 25, 2026
d7500b2
zen: go
fwang Feb 25, 2026
fc6e793
feat(desktop): enhance Windows app resolution and UI loading states (…
neriousy Feb 25, 2026
3c6c744
sync
thdxr Feb 25, 2026
561f9f5
opencode go copy
thdxr Feb 25, 2026
d848c9b
release: v1.2.13
Feb 25, 2026
088a81c
fix: consume stdout concurrently with process exit in auth login (#15…
Ayushlm10 Feb 25, 2026
79b5ce5
feat(core): add message delete endpoint (#14417)
shantur Feb 25, 2026
de2bc25
release: v1.2.14
Feb 25, 2026
5e5823e
chore: generate
opencode-agent[bot] Feb 25, 2026
e48c1cc
chore(workflows): label vouched users and restrict vouch managers (#1…
R44VC0RP Feb 25, 2026
2869922
fix(app): correct Copilot provider description in i18n files (#15071)
Oleksii-Pavliuk Feb 25, 2026
45191ad
fix(app): keyboard navigation previous/next message (#15047)
neriousy Feb 25, 2026
7afa48b
tweak(ui): keep reasoning inline code subdued in dark mode
iamdavidhill Feb 20, 2026
b368181
chore: move glossary
adamdotdevin Feb 25, 2026
1172fa4
wip: zen go
fwang Feb 25, 2026
9d29d69
split tui/server config (#13968)
kommander Feb 25, 2026
4551282
chore: generate
opencode-agent[bot] Feb 25, 2026
444178e
fix(docs): update schema URL in share configuration examples across m…
OpeOginni Feb 25, 2026
b8337cd
fix(app): permissions and questions from child sessions (#15105)
adamdotdevin Feb 26, 2026
c4ea11f
wip: zen
fwang Feb 26, 2026
392a6d9
fix(desktop): remove interactive shell flag from sidecar spawn to pre…
kilhyeonjun Feb 26, 2026
aae75b3
fix(app): middle-click tab close in scrollable tab bar (#15081)
choephix Feb 26, 2026
fce811b
fix: most segfaults on windows with Bun v1.3.10 stable (#15181)
Hona Feb 26, 2026
799b262
release: v1.2.15
Feb 26, 2026
6b02165
fix(app): open in powershell (#15112)
neriousy Feb 26, 2026
bb8a171
fix(desktop): restore shell path env for desktop sidecar (#15211)
nexxeln Feb 26, 2026
7453e78
feat: opencode go provider list (#15203)
iamdavidhill Feb 26, 2026
05ac0a7
fix(app): simplify review layout (#14953)
adamdotdevin Feb 26, 2026
b4d0090
chore: fix flaky test
adamdotdevin Feb 26, 2026
96ca0de
wip: zen
fwang Feb 26, 2026
08f056d
docs: Sync zh_CN docs with English Version (#15228)
niushuai1991 Feb 26, 2026
5745ee8
refactor(desktop): enhance project tile interaction with suppress hov…
OpeOginni Feb 26, 2026
7e6a007
feat(app): auto-accept all permissions mode
adamdotdevin Feb 26, 2026
9312867
feat(app): new tabs styling (#15284)
adamdotdevin Feb 26, 2026
270d084
fix(ui): avoid truncating workspace paths in assistant text (#14584)
nexxeln Feb 26, 2026
a0b3bbf
fix(ui): prevent filename and diff count overlap in session changes (…
nexxeln Feb 26, 2026
8c484a0
fix(app): terminal issues
adamdotdevin Feb 26, 2026
05d77b7
chore: storybook (#15285)
adamdotdevin Feb 26, 2026
9736fce
chore: update nix node_modules hashes
opencode-agent[bot] Feb 26, 2026
c95febb
tui: fix session tab alignment in compact view to prevent vertical ov…
iamdavidhill Feb 26, 2026
7a74be3
tweak(ui): add border to filetree on scroll
iamdavidhill Feb 26, 2026
adabad1
Revert "fix(ui): prevent filename and diff count overlap in session c…
adamdotdevin Feb 27, 2026
37d4259
fix: test
adamdotdevin Feb 27, 2026
09e1b98
tweak(ui): max-width on session when the review is closed but the fil…
iamdavidhill Feb 27, 2026
bf442a5
fix(ui): mute inactive file tab icons
iamdavidhill Feb 27, 2026
fa11942
tweak(app): align review changes select height
iamdavidhill Feb 27, 2026
9a6bfeb
refactor(app): dedupe filetree scroll state
kitlangton Feb 27, 2026
fc52e4b
feat(app): better diff/code comments (#14621)
adamdotdevin Feb 27, 2026
4205fbd
tweak(app): show keybind on context tab close
iamdavidhill Feb 27, 2026
e9a7c71
fix(app): permission notifications
adamdotdevin Feb 27, 2026
b0b88f6
fix(app): permission indicator
adamdotdevin Feb 27, 2026
f2100dc
fix(app): scroll jacking
adamdotdevin Feb 27, 2026
8c739b4
zen: fix go plan usage limit
fwang Feb 27, 2026
7528419
app: allow providing username and password when connecting to remote …
Brendonovich Feb 27, 2026
2a4ed49
wip: zen
fwang Feb 27, 2026
0da8af8
desktop: move open_path to rust (#15323)
Brendonovich Feb 27, 2026
6b31188
wip: zen
fwang Feb 27, 2026
1f108bc
feat(app): recent projects section in command pallette (#15270)
neriousy Feb 27, 2026
dc8c011
docs(readme): add Greek translation and update language navigation (#…
pirrozani Feb 27, 2026
a325c9a
feat(app): add Turkish (tr) locale for app and ui packages (#15278)
vaur94 Feb 27, 2026
3407ded
chore: generate
opencode-agent[bot] Feb 27, 2026
4a94096
fix(app): update provider sprite
adamdotdevin Feb 27, 2026
dfa0281
fix(app): auto-accept permissions
adamdotdevin Feb 27, 2026
9673132
desktop: add latest.json finalizer script (#15335)
Brendonovich Feb 27, 2026
157920b
chore: update test
adamdotdevin Feb 27, 2026
3dc10a1
Change keybindings to navigate between child sessions (#14814)
jlongster Feb 27, 2026
78cea89
chore(script): source team members from TEAM_MEMBERS (#15369)
kitlangton Feb 27, 2026
e49e781
feat(app): add Warp to the open menu (#15368)
kitlangton Feb 27, 2026
9d76ef6
chore: update docs locale sync workflow
adamdotdevin Feb 27, 2026
e5ae6c5
chore: update translator model
adamdotdevin Feb 27, 2026
6ef3af7
chore(app): i18n sync (#15362)
adamdotdevin Feb 27, 2026
a94f564
fix(app): scroll issues
adamdotdevin Feb 27, 2026
c12ce2f
feat(core): basic implementation of remote workspace support (#15120)
jlongster Feb 27, 2026
7ff2710
chore: generate
opencode-agent[bot] Feb 27, 2026
f347194
docs: add missing Bosanski link to Arabic README (#15399)
Niraj12chaudhary Feb 27, 2026
1f2348c
fix(app): make bash output selectable (#15378)
alexyaroshuk Feb 27, 2026
46d678f
chore: generate
opencode-agent[bot] Feb 27, 2026
a3bdb97
chore(app): deps
adamdotdevin Feb 27, 2026
7f851da
chore(console): i18n sync (#15360)
adamdotdevin Feb 27, 2026
1f1f36a
chore: update nix node_modules hashes
opencode-agent[bot] Feb 27, 2026
d2a8f44
doc: opencode go
fwang Feb 27, 2026
2eb1d4c
doc: go
fwang Feb 27, 2026
0b8c1f1
docs: Update OpenCode Go subscription and usage details (#15415)
jayair Feb 28, 2026
267d2c8
chore: cleanup
adamdotdevin Feb 28, 2026
2a20822
fix(app): display skill name in skill tool call (#15413)
alexyaroshuk Feb 28, 2026
971bd30
fix(app): fallback to synthetic icon for unknown provider IDs (#15295)
rexdotsh Feb 28, 2026
e1e18c7
chore(docs): i18n sync (#15417)
adamdotdevin Feb 28, 2026
114eb42
docs: fix broken config imports in translated documentation
thdxr Feb 28, 2026
cec16df
feat(core): add WorkspaceContext (#15409)
jlongster Mar 1, 2026
fcd733e
chore: generate
opencode-agent[bot] Mar 1, 2026
3ee1653
feat(core): add workspace_id to `session` table (#15410)
jlongster Mar 1, 2026
b88e8e0
chore: generate
opencode-agent[bot] Mar 1, 2026
4d968eb
docs(ecosystem): add opencode-vibeguard (#15464)
inkdust2021 Mar 1, 2026
38704ac
chore: generate
opencode-agent[bot] Mar 1, 2026
c4c0b23
fix: kill orphaned MCP child processes and expose OPENCODE_PID on shu…
ryanwyler Mar 1, 2026
438610a
fix(app): show proper usage limit errors (#15496)
neriousy Mar 1, 2026
f5eade1
fix(i18n): polish turkish translations (#15491)
vaur94 Mar 1, 2026
c8866e6
fix(app): make provider icon resolved id reactive (#15583)
neriousy Mar 1, 2026
b15fb21
feat(app): add compact ui (#15578)
neriousy Mar 1, 2026
6b7e6bd
fix(opencode): show human-readable message for HTML error responses (…
rianvdm Mar 1, 2026
90270c6
feat(tui): improve task tool display with subagent keybind hints and …
thdxr Mar 1, 2026
ae0f69e
doc: add zen deprecated models
fwang Mar 1, 2026
c0483af
perf(session): faster session switching via windowed rendering and st…
kitlangton Mar 1, 2026
d1938a4
chore: generate
opencode-agent[bot] Mar 1, 2026
a692e6f
desktop: use correct download link in finalize-latest-json
Brendonovich Mar 2, 2026
cf78855
Revert "fix(i18n): polish turkish translations" (#15656)
nexxeln Mar 2, 2026
b1bfecb
desktop: fix latest.json finalizer
Brendonovich Mar 2, 2026
7bfbb1f
fix: project ID conflict, and update on same session id (#15596)
noamzbr Mar 2, 2026
be20f86
fix: recover from 413 Request Entity Too Large via auto-compaction (#…
bentrd Mar 2, 2026
4b9e19f
chore: generate
opencode-agent[bot] Mar 2, 2026
bf2cc3a
feat(app): show which messages are queued (#15587)
neriousy Mar 2, 2026
aadb9a9
merge upstream (conflicts auto-accepted - needs review)
github-actions[bot] Mar 2, 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
2 changes: 2 additions & 0 deletions .github/VOUCHED.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
# - Denounce with minus prefix: -username or -platform:username.
# - Optional details after a space following the handle.
adamdotdevin
-agusbasari29 AI PR slop
ariane-emory
edemaine
-florianleibert
fwang
iamdavidhill
Expand Down
27 changes: 22 additions & 5 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,33 @@ description: "Setup Bun with caching and install dependencies"
runs:
using: "composite"
steps:
- name: Mount Bun Cache
uses: useblacksmith/stickydisk@v1
- name: Cache Bun dependencies
uses: actions/cache@v4
with:
key: ${{ github.repository }}-bun-cache-${{ runner.os }}
path: ~/.bun
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
restore-keys: |
${{ runner.os }}-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: Install dependencies
run: bun install
Expand Down
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
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
67 changes: 57 additions & 10 deletions .github/workflows/docs-locale-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,14 @@ jobs:
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 Down Expand Up @@ -46,15 +47,59 @@ 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": {
"*": "deny",
"packages/web/src/content/docs": "allow",
"packages/web/src/content/docs/*": "allow",
"packages/web/src/content/docs/*.mdx": "allow",
"packages/web/src/content/docs/*/*.mdx": "allow",
".opencode": "allow",
".opencode/agent": "allow",
".opencode/glossary": "allow",
".opencode/agent/translator.md": "allow",
".opencode/glossary/*.md": "allow"
},
"edit": {
"*": "deny",
"packages/web/src/content/docs/*/*.mdx": "allow"
},
"glob": {
"*": "deny",
"packages/web/src/content/docs*": "allow",
".opencode/glossary*": "allow"
},
"task": {
"*": "deny",
"translator": "allow"
}
},
"agent": {
"translator": {
"permission": {
"*": "deny",
"read": {
"*": "deny",
".opencode/agent/translator.md": "allow",
".opencode/glossary/*.md": "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 +112,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."
46 changes: 0 additions & 46 deletions .github/workflows/nix-desktop.yml.disabled

This file was deleted.

Loading
Loading