Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3444 commits
Select commit Hold shift + click to select a range
2f32f2c
chore: cleanup
adamdotdevin Jan 15, 2026
994c55f
upgrade opentui to v0.1.73, fixing CJK word wrapping and thai text re…
kommander Jan 15, 2026
3f16e0d
Update Nix flake.lock and x86_64-linux hash
actions-user Jan 15, 2026
2691e1e
Update aarch64-darwin hash
actions-user Jan 15, 2026
bfc9b24
use native text truncation for sidebar diff paths
kommander Jan 15, 2026
dd1f981
fix: honor per-server MCP timeouts (#8706)
thdxr Jan 15, 2026
216a2d8
chore: generate
actions-user Jan 15, 2026
63176bb
docs: fix typos in documentation (#8703)
LAG-4 Jan 15, 2026
4edb4fa
fix: handle broken symlinks gracefully in grep tool (#8612)
andrew-kramer-inno Jan 15, 2026
ebc194c
Prettify retry duration display in TUI (#8608)
opencode-agent[bot] Jan 15, 2026
37f3099
fix: show toast error message on ConfigMarkdown parse error (#8049)
vvarp Jan 15, 2026
5a8a0f6
fix: downgrade bun to fix avx issue
rekram1-node Jan 15, 2026
161e3db
Update Nix flake.lock and x86_64-linux hash
actions-user Jan 15, 2026
3f3550a
Update aarch64-darwin hash
actions-user Jan 15, 2026
dc1c25c
fix: ensure frontmatter can process same content as other agents (#8719)
rekram1-node Jan 15, 2026
6450ba1
fix: search bar in header
iamdavidhill Jan 15, 2026
8cba7d7
fix: tooltips cleanup
iamdavidhill Jan 15, 2026
fbc8f6e
fix: recent sessions hover gutter
iamdavidhill Jan 15, 2026
fe2cc0c
fix: archive icon replaces diff count on hover
iamdavidhill Jan 15, 2026
e5b08da
fix: tooltip gutter spacing on session items and archive buttons
iamdavidhill Jan 15, 2026
520c47e
fix: increase delay on session list tooltips
iamdavidhill Jan 15, 2026
1c05eba
fix: show project options on hover of row
iamdavidhill Jan 15, 2026
f9a441d
fix: avatar background
iamdavidhill Jan 15, 2026
bb6e350
fix: move left panel toggle over
iamdavidhill Jan 15, 2026
3789a31
fix: project dropdown labels and order
iamdavidhill Jan 15, 2026
a71dcc1
fix: recent sessions title color
iamdavidhill Jan 15, 2026
acd1eb5
fix: load more button font size
iamdavidhill Jan 15, 2026
a5d47f0
fix: avatar button states
iamdavidhill Jan 15, 2026
1ee916a
fix: hide view all sessions on active project
iamdavidhill Jan 15, 2026
55bd6e4
fix: workspace name color
iamdavidhill Jan 15, 2026
3b3505c
fix: remove more options tooltip
iamdavidhill Jan 15, 2026
74b1349
fix: new session tooltip position and add shortcut
iamdavidhill Jan 15, 2026
99110d1
fix: remove the active state from load more button after press
iamdavidhill Jan 15, 2026
dc8f8cc
fix: current session background color
iamdavidhill Jan 15, 2026
b4717d8
bun/package.json updates
iamdavidhill Jan 15, 2026
4b2a14c
chore(desktop): Question Tools Updates
dbpolito Jan 15, 2026
e60ded0
chore(desktop): Stop Killing opencode-cli on dev
dbpolito Jan 15, 2026
d71153e
fix(core): loading models.dev in dev
adamdotdevin Jan 15, 2026
b034528
fix(core): filter dead worktrees
adamdotdevin Jan 15, 2026
beb97d2
fix(app): show session busy even for active session
adamdotdevin Jan 15, 2026
7e016fd
chore: cleanup
adamdotdevin Jan 15, 2026
af2a099
fix(core): more defensive project list
adamdotdevin Jan 15, 2026
fe58c64
feat(console): Update /black plan selection, light rays effect. mobil…
aaroniker Jan 15, 2026
d3fc29b
Update aarch64-darwin hash
actions-user Jan 15, 2026
4d3e983
fix: session icon and name alignment
iamdavidhill Jan 15, 2026
0f7b17b
fix: thinking animation opacity and design
iamdavidhill Jan 15, 2026
f5fd545
docs: add /thinking command documentation (#8722)
nathannewyen Jan 15, 2026
ea643f1
feat(console): Style improvements for /black, View Transition fixes (…
aaroniker Jan 15, 2026
b146223
fix(session): ensure agent exists before processing title in session …
0x404 Jan 15, 2026
9862303
fix: update hix hashes for all systems (#8732)
ricardo-valero Jan 15, 2026
da3dea0
fix(app): persist workspace order and collapsed state
adamdotdevin Jan 15, 2026
47d43aa
feat(app): persist workspace branch
adamdotdevin Jan 15, 2026
472a6cc
fix(app): sidebar toggle on desktop
adamdotdevin Jan 15, 2026
df8e6e6
release: v1.1.23
Jan 15, 2026
9b57db3
feat: add litellmProxy provider option for explicit LiteLLM compatibi…
seilk Jan 15, 2026
83ed1ad
feat: add Carbonfox theme (#8723)
devatnull Jan 15, 2026
b9b5d42
chore: generate
actions-user Jan 15, 2026
f4086ac
fix:subagent reasoningEffort not being applied (#8646)
johnnyapu15 Jan 15, 2026
9d8d0e9
Revert "fix:subagent reasoningEffort not being applied (#8646)"
rekram1-node Jan 15, 2026
306fc05
fix: project avatar border radius
iamdavidhill Jan 15, 2026
7443b99
feat(console): Fix /black page View Transition Safari issue (#8755)
aaroniker Jan 15, 2026
81983d4
fix(agent): default agent selection in acp and headless mode (#8678)
assagman Jan 15, 2026
8b08d34
fix: stop changing main model/agent from subtasks invocation (#7681)
dbpolito Jan 15, 2026
2abafbc
chore: generate
actions-user Jan 15, 2026
7e619a9
zen: black admin
fwang Jan 15, 2026
12ae808
wip: zen
fwang Jan 15, 2026
a7cae8f
fix: nix desktop workflow (#8747)
ricardo-valero Jan 15, 2026
529eb6e
fix(app): persist workspace order and collapsed state
adamdotdevin Jan 15, 2026
49939c4
feat(app): skeleton loader for sessions
adamdotdevin Jan 15, 2026
657f3d5
feat(app): unified search for commands and files
adamdotdevin Jan 15, 2026
d475107
strip itemIds in more cases
rekram1-node Jan 16, 2026
25cb03d
chore: cleanup
rekram1-node Jan 16, 2026
b572c68
fix(mcp): show auth URL when browser cannot open in remote sessions (…
danlapid Jan 16, 2026
68e6c54
chore: generate
actions-user Jan 16, 2026
d7192d6
tweak: set opencode as user agent for most interefence requests
rekram1-node Jan 16, 2026
d8ef9f8
test: fix transform test
rekram1-node Jan 16, 2026
5092b5f
docs: clarify question tool guidance (#8778)
kitlangton Jan 16, 2026
07e7ebd
fix(tui): add tab navigation in questions (#8777)
kitlangton Jan 16, 2026
12b6210
fix(tui): dim question option prefixes (#8776)
kitlangton Jan 16, 2026
4af9def
fix(tui): correct theme count tip (#8779)
kitlangton Jan 16, 2026
46be47d
stop select dialog event propagation
kommander Jan 16, 2026
1a43e5f
fix: adjust websearch tool to emphasize that it ISNT 2024, give more …
rekram1-node Jan 16, 2026
ac54535
feat: add version to session header and /status dialog (#8802)
AksharP5 Jan 16, 2026
e4a34be
chore: update GitHub stars and commits statistics (#8793)
hyeonjongyang Jan 16, 2026
40b275d
feat(mcp): add OAuth redirect URI configuration for MCP servers (#7379)
christso Jan 16, 2026
0233dd1
chore: generate
actions-user Jan 16, 2026
de2de09
fix: rm user message when dealing w/ image attachments, use proper to…
rekram1-node Jan 16, 2026
f66e6d7
wip: zen
fwang Jan 16, 2026
ce6e9a8
Update node_modules hash (aarch64-linux)
actions-user Jan 16, 2026
cce4f64
Update node_modules hash (x86_64-linux)
actions-user Jan 16, 2026
fffa718
test: fix test now that image fix went in
rekram1-node Jan 16, 2026
0e9664d
Update node_modules hash (x86_64-darwin)
actions-user Jan 16, 2026
524ea95
update gpt models prompt
rekram1-node Jan 16, 2026
c551a4b
fix(app): persist workspace order and collapsed state
adamdotdevin Jan 16, 2026
b1a22e0
fix: avatar radius and current project
iamdavidhill Jan 16, 2026
3ba03a9
fix: search bar size and padding, and shortcut style
iamdavidhill Jan 16, 2026
416f419
fix: add default icon to sessions
iamdavidhill Jan 16, 2026
94ab87f
fix: view all sessions state styles
iamdavidhill Jan 16, 2026
2c54377
fix: updated project/sessions list width
iamdavidhill Jan 16, 2026
7042767
bug: moved createMemo down
iamdavidhill Jan 16, 2026
efaf854
chore: generate
actions-user Jan 16, 2026
f197b8a
ignore: update download stats 2026-01-16
actions-user Jan 16, 2026
e8dad85
fix: responsive menu desktop
iamdavidhill Jan 16, 2026
d5a5e6e
feat(console): /black shader improvements, performance, details (#8871)
aaroniker Jan 16, 2026
4be0ba1
fix: web mobile menu
iamdavidhill Jan 16, 2026
d039904
fix: make hamburger centred with project avatars
iamdavidhill Jan 16, 2026
46f415e
fix: desktop hamburger shift
iamdavidhill Jan 16, 2026
74d584a
fix: session icon and label alignment
iamdavidhill Jan 16, 2026
1fd496a
fix: expand workspaces by default when enabled
iamdavidhill Jan 16, 2026
2190e8c
Revert "fix: expand workspaces by default when enabled"
iamdavidhill Jan 16, 2026
9a71a73
fix: updating panel min size and button max-width
iamdavidhill Jan 16, 2026
21012fa
fix: load more label alignment
iamdavidhill Jan 16, 2026
a49102d
fix: truncate the workspace name on hover
iamdavidhill Jan 16, 2026
bd914a8
Revert "stop select dialog event propagation"
rekram1-node Jan 16, 2026
e0a854f
Revert "fix: rm user message when dealing w/ image attachments, use p…
rekram1-node Jan 16, 2026
d510bd5
Revert "test: fix test now that image fix went in"
rekram1-node Jan 16, 2026
ea8ef37
wip: zen
fwang Jan 16, 2026
88fd6a2
feat(desktop): Terminal Splits (#8767)
dbpolito Jan 16, 2026
d075c09
chore(sdk): update @hey-api/openapi-ts to 0.90.4 (#8921)
coleleavitt Jan 16, 2026
91b8ba2
Revert "chore(sdk): update @hey-api/openapi-ts to 0.90.4" (#8927)
rekram1-node Jan 16, 2026
9a48f8e
Update node_modules hash (aarch64-darwin)
actions-user Jan 16, 2026
40836e9
fix: fix the itemId stripping logic, this time it should fix that id …
rekram1-node Jan 16, 2026
5479928
Reapply "chore(sdk): update @hey-api/openapi-ts to 0.90.4" (#8927)
rekram1-node Jan 16, 2026
ad4bdd9
Update node_modules hash (x86_64-linux)
actions-user Jan 16, 2026
ccc27e2
fix(docs): Broken URL (#8918)
berenar Jan 16, 2026
e1d0b2b
fix: use dynamic import for session event in config.ts to avoid circu…
rekram1-node Jan 16, 2026
22e3240
Update node_modules hash (x86_64-darwin)
actions-user Jan 16, 2026
8fd1b92
fix: ensure that tool attachments arent sent as user messages (#8944)
rekram1-node Jan 16, 2026
0d683ea
upgrade opentui to v0.1.74, fix tmux kitty keyboard regression
kommander Jan 16, 2026
8d4a673
Update node_modules hash (aarch64-linux)
actions-user Jan 16, 2026
438916d
Update node_modules hash (x86_64-darwin)
actions-user Jan 16, 2026
00ec29d
fix(app): scroll jumping when expanding workspaces
adamdotdevin Jan 16, 2026
e92d5b5
fix(app): can't expand workspaces
adamdotdevin Jan 16, 2026
2ccaa10
fix(app): open workspace if navigating to session in workspace
adamdotdevin Jan 16, 2026
0866034
feat(app): edit project and session titles
adamdotdevin Jan 16, 2026
71306cb
Revert "feat(desktop): Terminal Splits (#8767)"
adamdotdevin Jan 16, 2026
bc3616d
release: v1.1.24
Jan 16, 2026
98578d3
fix(bun): reinstall plugins when cache module missing (#8815)
kenryu42 Jan 16, 2026
db0078b
chore: generate
actions-user Jan 16, 2026
360765c
fix(app): center dialog on page instead of session
adamdotdevin Jan 16, 2026
da78b75
fix(app): handle new session correctly
adamdotdevin Jan 16, 2026
8e0ddd1
chore: cleanup server routes (#8965)
rekram1-node Jan 16, 2026
6e028ec
chore: generate
actions-user Jan 16, 2026
b8e2895
fix(app): support anthropic models on azure cognitive services (#8335)
uanandaraja Jan 16, 2026
14d1e20
Revert "fix(app): support anthropic models on azure cognitive service…
rekram1-node Jan 16, 2026
95f7403
fix(app): truncate workspace title
adamdotdevin Jan 16, 2026
6e00348
fix(app): remember last opened project
adamdotdevin Jan 16, 2026
f5a6a4a
Revert "fix: ensure that tool attachments arent sent as user messages…
rekram1-node Jan 16, 2026
9127055
tweak: wording
rekram1-node Jan 16, 2026
8c24879
test: fix
rekram1-node Jan 16, 2026
968239b
release: v1.1.25
Jan 16, 2026
626fa14
fix: make home/end keys work in menu list modal windows (resolves #71…
ariane-emory Jan 16, 2026
578239e
chore: cleanup transform code a tad
rekram1-node Jan 16, 2026
8cddc9e
chore: generate
actions-user Jan 16, 2026
08b94a6
fix: keep primary model after subagent runs (#8951)
sethcarlton Jan 16, 2026
c251555
fix: open help dialog with tui/open-help route (#8596)
AksharP5 Jan 16, 2026
cbe1c81
wip: black
fwang Jan 16, 2026
f96c4ba
wip: black
fwang Jan 16, 2026
632f205
chore: generate
actions-user Jan 16, 2026
3d095e7
fix: centralize OSC 52 clipboard support for SSH sessions (#8974)
b3nw Jan 16, 2026
aca1eb6
fix(nix): add desktop application entry (#8972)
gigamonster256 Jan 16, 2026
6e020ef
chore: cleanup nix (#8964)
gigamonster256 Jan 16, 2026
c325aa1
fix(desktop): Stream bash output + strip-asni (#8961)
dbpolito Jan 16, 2026
55224d6
Update flake.lock
actions-user Jan 16, 2026
43a9c50
Update node_modules hash (x86_64-linux)
actions-user Jan 16, 2026
5c13b20
Update node_modules hash (x86_64-darwin)
actions-user Jan 16, 2026
1aedb26
Update node_modules hash (aarch64-darwin)
actions-user Jan 16, 2026
08ef97b
fix(opencode): add oauth polling safety margin in copilot device auth…
hamir-suspect Jan 16, 2026
80020ad
chore: generate
actions-user Jan 16, 2026
e8746dd
zen: fix opus unicode characters
fwang Jan 16, 2026
cad4158
fix: recent sessions gutter
iamdavidhill Jan 16, 2026
d645e8b
fix: (desktop) command palette width
iamdavidhill Jan 16, 2026
1250486
feat: add Keybind component for displaying keyboard shortcuts
iamdavidhill Jan 16, 2026
b18fb16
refactor: use Keybind component in titlebar search button
iamdavidhill Jan 16, 2026
54e5289
refactor: use Keybind component in search modal list
iamdavidhill Jan 16, 2026
69215d4
fix: display arrow keys as symbols in keybind formatting
iamdavidhill Jan 16, 2026
d1b9361
fix: increase keybind border-radius in search modal
iamdavidhill Jan 16, 2026
ab705da
fix: add left padding to command items in search modal
iamdavidhill Jan 16, 2026
f8f1f46
fix: adjust command item left padding in search modal
iamdavidhill Jan 16, 2026
6f78a71
feat: add hideIcon and class options to List search, customize search…
iamdavidhill Jan 16, 2026
dfa2a9f
fix: reduce command item left padding in search modal
iamdavidhill Jan 17, 2026
d23c210
fix: refine search modal styling and list component
iamdavidhill Jan 17, 2026
ef7ef65
fix: limit search modal max-height to 480px
iamdavidhill Jan 17, 2026
80b278d
fix: remove the secondary text from commands
iamdavidhill Jan 17, 2026
e0c6459
fix: remove smooth scroll behavior from list component
iamdavidhill Jan 17, 2026
38847e1
fix: truncate long search queries in empty state
iamdavidhill Jan 17, 2026
759ce8f
fix: prevent text clipping on search button descenders
iamdavidhill Jan 17, 2026
06c543e
fix(nix): resolve hash race condition in parallel matrix jobs (#8995)
jerome-benoit Jan 17, 2026
e8357a8
Update node_modules hashes
actions-user Jan 17, 2026
7c3eeeb
fix: gpt id stuff fr fr this time :/ (#9006)
rekram1-node Jan 17, 2026
db78a59
docs: Add OpenWork to ecosystem (#8741)
benjaminshafii Jan 17, 2026
5d613a0
chore: generate
actions-user Jan 17, 2026
33290c5
Revert "feat(mcp): add OAuth redirect URI configuration for MCP serve…
rekram1-node Jan 17, 2026
85ab979
chore: generate
actions-user Jan 17, 2026
ea13b6e
test: add azure test case
rekram1-node Jan 17, 2026
2729705
fix(app): archive session sometimes flaky
adamdotdevin Jan 17, 2026
c4e4f2a
fix(desktop): Added a Windows-only guard that makes window.getCompute…
Eric-Guo Jan 17, 2026
7030f49
fix: mdns discover hostname (#9039)
j0nl1 Jan 17, 2026
d377246
chore: generate
actions-user Jan 17, 2026
07dc8d8
fix: escape CSS selector keys to handle special characters (#9030)
Slone123c Jan 17, 2026
a58d1be
ignore: update download stats 2026-01-17
actions-user Jan 17, 2026
a813fcb
docs: add firmware provider to providers docs (#8993)
cgilly2fast Jan 17, 2026
eb968a6
docs(config): explain that `autoupdate` doesn't work when installed w…
berenar Jan 17, 2026
5a199b0
fix: don't try to open command palette if a dialog is already open (#…
BlankParticle Jan 17, 2026
58f7da6
docs: document the plural forms
rekram1-node Jan 17, 2026
3aff88c
docs: add use_github_token to example (#9120)
opencode-agent[bot] Jan 17, 2026
f3513ba
tui: fix model state persistence when model store is not ready
rekram1-node Jan 17, 2026
c3d3356
fix: align project avatar notification dot
iamdavidhill Jan 17, 2026
0384e6b
fix: update desktop initializing splash logo
iamdavidhill Jan 17, 2026
d3baaf7
fix: shrink project notification dot and mask
iamdavidhill Jan 17, 2026
53227bf
fix: command pallete file list item spacing
iamdavidhill Jan 17, 2026
b4075cd
fix: remove loading text after splash
iamdavidhill Jan 17, 2026
0cc9a22
fix: show project name in avatar hover
iamdavidhill Jan 17, 2026
c19d031
fix: reduce prompt dock bottom spacing
iamdavidhill Jan 17, 2026
2a4e8bc
fix: adjust recent sessions popover padding
iamdavidhill Jan 17, 2026
c890853
fix: keep project avatar hover styles while popover open
iamdavidhill Jan 17, 2026
ded9bd2
fix: adjust session list tooltip trigger and delay
iamdavidhill Jan 18, 2026
e36b343
fix: remove max width on sidebar new buttons
iamdavidhill Jan 18, 2026
389d97e
fix: adjust project path tooltip placement
iamdavidhill Jan 18, 2026
c3ab76c
fix: increase max-width of session name tooltip
iamdavidhill Jan 18, 2026
260739a
Revert "fix: increase max-width of session name tooltip"
iamdavidhill Jan 18, 2026
53c77e2
fix: remove max-width of session name tooltip
iamdavidhill Jan 18, 2026
93e43d8
Hide variants hint when list empty (#9179)
opencode-agent[bot] Jan 18, 2026
759e686
refactor(tui): unify command registry and derive slash commands (#9115)
kitlangton Jan 18, 2026
052f887
core: prevent env variables in config from being replaced with actual…
rekram1-node Jan 18, 2026
bfb8c53
feat: bind vim-style line-by-line scrolling (#8980)
NathanFlurry Jan 18, 2026
073f9d9
chore: generate
actions-user Jan 18, 2026
10433cb
fix(windows): fix jdtls download on Windows (#9195)
pschiel Jan 18, 2026
b7ad6bd
feat: apply_patch tool for openai models (#9127)
rekram1-node Jan 18, 2026
90f848f
chore: generate
actions-user Jan 18, 2026
3591372
feat(tool): increase question header and label limits (#9201)
bdwelle Jan 18, 2026
d13c0ea
chore: generate
actions-user Jan 18, 2026
bef1f66
fix(acp): use single global event subscription and route by sessionID…
noamzbr Jan 18, 2026
ee4ea65
fix: restore persisted model/agent when loading ACP session (#7809)
noamzbr Jan 18, 2026
0ccf9bd
feat(cli): uninstall opencode installed via windows package managers …
itsrainingmani Jan 18, 2026
06bc4dc
feat(desktop): implement session unshare button (#8660)
itsrainingmani Jan 18, 2026
5c9cc9c
ignore: update download stats 2026-01-18
actions-user Jan 18, 2026
6c0991d
fix(app): remove redundant toast for thinking effort changes (#9181)
kitlangton Jan 18, 2026
ad2e032
refactor(desktop): improve layout and styling of session search butto…
OpeOginni Jan 18, 2026
2dcca47
fix: import issue in patch module
rekram1-node Jan 18, 2026
f7fef99
refactor(installation): update scoop installation method (#9243)
chawyehsu Jan 18, 2026
095a642
fix(acp): preserve file attachment metadata during session replay (#6…
liorshk Jan 18, 2026
5009f10
chore: generate
actions-user Jan 18, 2026
dac099a
feat(nix): overhaul nix flake and packages (#9032)
gigamonster256 Jan 18, 2026
bfd2f91
feat(hook): command execute before hook (#9267)
spoons-and-mirrors Jan 18, 2026
501ef2d
fix: update gitlab-ai-provider to 1.3.2 (#9279)
vglafirov Jan 18, 2026
38c641a
fix(tool): treat .fbs files as text instead of images (#9276)
zerone0x Jan 18, 2026
c29d44f
docs: note untracked files in review
rekram1-node Jan 18, 2026
19cf934
Update node_modules hashes
actions-user Jan 18, 2026
01eacb4
Merge branch 'local-master' into remote-master
nulmind Jan 18, 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
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# web + desktop packages
packages/app/ @adamdotdevin
packages/tauri/ @adamdotdevin
packages/desktop/ @adamdotdevin
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@ body:
validations:
required: true

- type: input
id: plugins
attributes:
label: Plugins
description: What plugins are you using?
validations:
required: false

- type: input
id: opencode-version
attributes:
Expand Down
3 changes: 3 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### What does this PR do?

### How did you verify your code works?
55 changes: 0 additions & 55 deletions .github/workflows/auto-label-tui.yml

This file was deleted.

6 changes: 5 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,16 @@ concurrency: ${{ github.workflow }}-${{ github.ref }}

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

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

- uses: actions/setup-node@v4
with:
node-version: "24"

- run: bun sst deploy --stage=${{ github.ref_name }}
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/docs-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Docs Update

on:
schedule:
- cron: "0 */12 * * *"
workflow_dispatch:

env:
LOOKBACK_HOURS: 4

jobs:
update-docs:
if: github.repository == 'sst/opencode'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
id-token: write
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch full history to access commits

- name: Setup Bun
uses: ./.github/actions/setup-bun

- name: Get recent commits
id: commits
run: |
COMMITS=$(git log --since="${{ env.LOOKBACK_HOURS }} hours ago" --pretty=format:"- %h %s" 2>/dev/null || echo "")
if [ -z "$COMMITS" ]; then
echo "No commits in the last ${{ env.LOOKBACK_HOURS }} hours"
echo "has_commits=false" >> $GITHUB_OUTPUT
else
echo "has_commits=true" >> $GITHUB_OUTPUT
{
echo "list<<EOF"
echo "$COMMITS"
echo "EOF"
} >> $GITHUB_OUTPUT
fi

- name: Run opencode
if: steps.commits.outputs.has_commits == 'true'
uses: sst/opencode/github@latest
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
with:
model: opencode/gpt-5.2
agent: docs
prompt: |
Review the following commits from the last ${{ env.LOOKBACK_HOURS }} hours and identify any new features that may need documentation.

<recent_commits>
${{ steps.commits.outputs.list }}
</recent_commits>

Steps:
1. For each commit that looks like a new feature or significant change:
- Read the changed files to understand what was added
- Check if the feature is already documented in packages/web/src/content/docs/*
2. If you find undocumented features:
- Update the relevant documentation files in packages/web/src/content/docs/*
- Follow the existing documentation style and structure
- Make sure to document the feature clearly with examples where appropriate
3. If all new features are already documented, report that no updates are needed
4. If you are creating a new documentation file be sure to update packages/web/astro.config.mjs too.

Focus on user-facing features and API changes. Skip internal refactors, bug fixes, and test updates unless they affect user-facing behavior.
Don't feel the need to document every little thing. It is perfectly okay to make 0 changes at all.
Try to keep documentation only for large features or changes that already have a good spot to be documented.
17 changes: 11 additions & 6 deletions .github/workflows/duplicate-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
check-duplicates:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
issues: write
Expand All @@ -16,23 +16,25 @@ jobs:
with:
fetch-depth: 1

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

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

- name: Check for duplicate issues
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENCODE_PERMISSION: |
{
"bash": {
"gh issue*": "allow",
"*": "deny"
},
"*": "deny",
"gh issue*": "allow"
},
"webfetch": "deny"
}
run: |
opencode run -m anthropic/claude-sonnet-4-20250514 "A new issue has been created:'
opencode run -m opencode/claude-haiku-4-5 "A new issue has been created:'

Issue number:
${{ github.event.issue.number }}
Expand All @@ -55,4 +57,7 @@ jobs:

Feel free to ignore if none of these address your specific case.'

Additionally, if the issue mentions keybinds, keyboard shortcuts, or key bindings, please add a comment mentioning the pinned keybinds issue #4997:
'For keybind-related issues, please also check our pinned keybinds documentation: #4997'

If no clear duplicates are found, do not comment."
65 changes: 65 additions & 0 deletions .github/workflows/duplicate-prs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Duplicate PR Check

on:
pull_request_target:
types: [opened]

jobs:
check-duplicates:
if: |
github.event.pull_request.user.login != 'actions-user' &&
github.event.pull_request.user.login != 'opencode' &&
github.event.pull_request.user.login != 'rekram1-node' &&
github.event.pull_request.user.login != 'thdxr' &&
github.event.pull_request.user.login != 'kommander' &&
github.event.pull_request.user.login != 'jayair' &&
github.event.pull_request.user.login != 'fwang' &&
github.event.pull_request.user.login != 'adamdotdevin' &&
github.event.pull_request.user.login != 'iamdavidhill' &&
github.event.pull_request.user.login != 'opencode-agent[bot]'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Setup Bun
uses: ./.github/actions/setup-bun

- name: Install dependencies
run: bun install

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

- name: Build prompt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
{
echo "Check for duplicate PRs related to this new PR:"
echo ""
echo "CURRENT_PR_NUMBER: $PR_NUMBER"
echo ""
echo "Title: $(gh pr view "$PR_NUMBER" --json title --jq .title)"
echo ""
echo "Description:"
gh pr view "$PR_NUMBER" --json body --jq .body
} > pr_info.txt
- name: Check for duplicate PRs
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
COMMENT=$(bun script/duplicate-pr.ts -f pr_info.txt "Check the attached file for PR details and search for duplicates")
gh pr comment "$PR_NUMBER" --body "_The following comment was made by an LLM, it may be inaccurate:_
$COMMENT"
29 changes: 0 additions & 29 deletions .github/workflows/format.yml

This file was deleted.

51 changes: 51 additions & 0 deletions .github/workflows/generate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: generate

on:
push:
branches:
- dev
workflow_dispatch:

jobs:
generate:
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref_name }}

- name: Setup Bun
uses: ./.github/actions/setup-bun

- name: Generate
run: ./script/generate.ts

- name: Commit and push
run: |
if [ -z "$(git status --porcelain)" ]; then
echo "No changes to commit"
exit 0
fi
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add -A
git commit -m "chore: generate"
git push origin HEAD:${{ github.ref_name }} --no-verify
# if ! git push origin HEAD:${{ github.event.pull_request.head.ref || github.ref_name }} --no-verify; then
# echo ""
# echo "============================================"
# echo "Failed to push generated code."
# echo "Please run locally and push:"
# echo ""
# echo " ./script/generate.ts"
# echo " git add -A && git commit -m \"chore: generate\" && git push"
# echo ""
# echo "============================================"
# exit 1
# fi
Loading
Loading