Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2735 commits
Select commit Hold shift + click to select a range
1593c3e
refactor(core): migrate MessageV2 internal Cursor to Effect Schema (#…
kitlangton Apr 22, 2026
ed802fd
refactor(core): migrate MessageV2 errors to Schema-backed named error…
kitlangton Apr 22, 2026
b045558
chore: generate
opencode-agent[bot] Apr 22, 2026
69b8ea0
chore: bump Bun to 1.3.13 (#23791)
Hona Apr 22, 2026
06066db
fix(app): improve icon override handling in project edit dialog (#23768)
Brendonovich Apr 22, 2026
c819804
chore: update nix node_modules hashes
opencode-agent[bot] Apr 22, 2026
8113a43
fix: preserve BOM in text tool round-trips (#23797)
Hona Apr 22, 2026
894e638
chore: generate
opencode-agent[bot] Apr 22, 2026
20756e0
test: fix cross-spawn stderr race on Windows CI (#23808)
Hona Apr 22, 2026
71d196d
chore: generate
opencode-agent[bot] Apr 22, 2026
d884ab7
fix: consolidate project avatar source logic (#23819)
Brendonovich Apr 22, 2026
6196b81
fix(tui): fail fast on invalid session startup (#23837)
nexxeln Apr 22, 2026
fa8b7bc
chore: generate
opencode-agent[bot] Apr 22, 2026
574b2c2
fix(session): improve session compaction (#23870)
nexxeln Apr 22, 2026
504fd1b
chore: generate
opencode-agent[bot] Apr 22, 2026
3a082a0
fix(project): use git common dir for bare repo project cache (#19054)
StevenTCramer Apr 22, 2026
e9b1d3b
docs: add MiMo V2.5 to Go pages (#23876)
MrMushrooooom Apr 22, 2026
5d133f2
chore: generate
opencode-agent[bot] Apr 22, 2026
58db41b
chore: update nix bun version (#23881)
gigamonster256 Apr 22, 2026
e383df4
feat: support pull diagnostics in the LSP client (C#, Kotlin, etc) (#…
Hona Apr 22, 2026
1cd4c92
chore: generate
opencode-agent[bot] Apr 22, 2026
6387b35
log session sdk errors (#23652)
Hona Apr 23, 2026
ac26394
fix(beta): PR resolvers/smoke check should typecheck all pacakges (#2…
Hona Apr 23, 2026
9730008
tweak: codex model logic (#23925)
rekram1-node Apr 23, 2026
df27baa
refactor: remove redundant pending check from working memo (#23929)
Brendonovich Apr 23, 2026
871789c
sync release versions for v1.14.21
Apr 23, 2026
a419f1c
zen: hy3 preview
fwang Apr 23, 2026
785f358
fix: add keyed prop to Show components for proper reactivity (#23935)
Brendonovich Apr 23, 2026
6002500
feat(project): add icon_url_override field to projects (#23955)
Brendonovich Apr 23, 2026
3ae74cb
chore: generate
opencode-agent[bot] Apr 23, 2026
9b6db08
chore: add to TEAM_MEMBERS (#23975)
simonklee Apr 23, 2026
38deb0f
fix(npm): respect npmrc config (#24001)
nexxeln Apr 23, 2026
bbf67d0
fix(tui): render all non-synthetic text parts of a user message (#24009)
jlongster Apr 23, 2026
0517ab4
refactor(session): migrate session domain to Effect Schema (#24005)
kitlangton Apr 23, 2026
2cd89d6
chore: generate
opencode-agent[bot] Apr 23, 2026
eb7555d
sync release versions for v1.14.22
Apr 23, 2026
9df7c78
fix(npm): respect npmrc for version lookups (#24016)
nexxeln Apr 23, 2026
353532b
chore: generate
opencode-agent[bot] Apr 23, 2026
c50d65b
refactor(sync): make session events schema-first (#24019)
kitlangton Apr 23, 2026
aed0307
chore: generate
opencode-agent[bot] Apr 23, 2026
8b2f835
docs(schema): mark sync/index.ts migrated with compat-bridge note (#2…
kitlangton Apr 23, 2026
1e439b8
sync
fwang Apr 23, 2026
93940a1
refactor(provider): migrate provider domain to Effect Schema (#24027)
kitlangton Apr 23, 2026
0590452
refactor(schema): use Schema.Int and consolidate PositiveInt/NonNegat…
kitlangton Apr 23, 2026
cd93533
refactor(bus): migrate BusEvent to Effect Schema (#24040)
kitlangton Apr 23, 2026
2489255
chore: generate
opencode-agent[bot] Apr 23, 2026
3910a6e
refactor(tool): migrate tool framework + all 18 built-in tools to Eff…
kitlangton Apr 23, 2026
3f8c659
chore: generate
opencode-agent[bot] Apr 23, 2026
98ea5b6
feat(tui): support builtin protocol for handling context from editors…
jlongster Apr 23, 2026
4c3e65c
chore: generate
opencode-agent[bot] Apr 23, 2026
814e83f
docs: update effect schema migration tracker (#24054)
kitlangton Apr 23, 2026
31d01d4
refactor(control-plane): migrate workspace DTO schemas (#24056)
kitlangton Apr 23, 2026
a771859
chore: generate
opencode-agent[bot] Apr 23, 2026
8732194
chore: update copilot readme to symlink to an agents md to prevent du…
rekram1-node Apr 23, 2026
334ab47
fix: account for additional openai retry case (#24063)
rekram1-node Apr 23, 2026
e50a688
feat(httpapi): bridge workspace read endpoints (#24062)
kitlangton Apr 23, 2026
f8c6ddd
feat(truncate): allow configuring tool output truncation limits (#23770)
1rgs Apr 23, 2026
5c5069b
chore: generate
opencode-agent[bot] Apr 23, 2026
3bfe6a1
ci: add platform-specific bun install flags (#23822)
Brendonovich Apr 24, 2026
2e156b8
fix(desktop): avoid relaunching without installing updates (#23806)
Brendonovich Apr 24, 2026
6c1268f
chore: generate
opencode-agent[bot] Apr 24, 2026
4712f0f
feat(prompt): add shell mode UI with cancel button, custom icon, and …
Brendonovich Apr 24, 2026
f4616c8
sync
fwang Apr 24, 2026
a4bd88a
zen: deepseek v4 pro
fwang Apr 24, 2026
f033d2d
fix(app): conditionally show model variant selector (#24115)
Brendonovich Apr 24, 2026
2cda629
test(prompt): align shell placeholder expectation (#24147)
simonklee Apr 24, 2026
a882e95
fix: deepseek variants (#24157)
rekram1-node Apr 24, 2026
923af96
fix: preserve empty reasoning_content for DeepSeek V4 thinking mode (…
heimoshuiyu Apr 24, 2026
f8e939d
fix: support `max` for deepseek (#24163)
rekram1-node Apr 24, 2026
9f7ecd6
feat(httpapi): bridge file read endpoints (#24098)
kitlangton Apr 24, 2026
a8c8d2d
sync release versions for v1.14.23
Apr 24, 2026
011c237
feat(httpapi): bridge mcp status endpoint (#24100)
kitlangton Apr 24, 2026
d89bfc3
chore: generate
opencode-agent[bot] Apr 24, 2026
3062d3e
fix: use existingModel as fallback for interleaved field (#24172)
07akioni Apr 24, 2026
86715fe
fix: ensure assistant messages always have reasoning on them for deep…
rekram1-node Apr 24, 2026
3a5507d
Use OpenTUI theme detection for initial TUI mode, again (#23846)
kommander Apr 24, 2026
66936b0
chore: update nix node_modules hashes
opencode-agent[bot] Apr 24, 2026
28f7d31
zen: deepseek v4 pro
fwang Apr 24, 2026
1220f78
chore: generate
opencode-agent[bot] Apr 24, 2026
28025a0
sync release versions for v1.14.24
Apr 24, 2026
d01ad4c
zen: gpt-5.5
fwang Apr 24, 2026
3776d85
zen: gpt-5.5
fwang Apr 24, 2026
4dab2a8
zen: gpt-5.5
fwang Apr 24, 2026
0405bc7
zen: gpt-5.5
fwang Apr 24, 2026
435becb
Refactor HttpApi auth middleware wiring (#24168)
kitlangton Apr 24, 2026
cf45a8d
refactor(schema): decode effect schemas directly (#24169)
kitlangton Apr 24, 2026
7a02eee
chore: generate
opencode-agent[bot] Apr 24, 2026
361d700
Clarify HttpApi migration plan (#24211)
kitlangton Apr 24, 2026
872cdff
ignore: denounce ai spammer
rekram1-node Apr 24, 2026
c4e33d3
chore: generate
opencode-agent[bot] Apr 24, 2026
4a67905
fix: ensure gpt-5.5 compacts at correct context size when using opena…
rekram1-node Apr 24, 2026
bb3509b
fix(opencode): clarify git amend condition to require verifying commi…
altendky Apr 24, 2026
5a04de2
refactor(ripgrep): migrate result schemas to effect (#24213)
kitlangton Apr 24, 2026
97eb9fd
test(httpapi): cover hono bridge middleware (#24216)
kitlangton Apr 24, 2026
5cd178b
chore: generate
opencode-agent[bot] Apr 24, 2026
1e4b7b5
Add Roslyn support for Razor and C# scripts (#24228)
Hona Apr 25, 2026
386091b
fix: validate beta before pushing (#24230)
Hona Apr 25, 2026
ec20162
chore: generate
opencode-agent[bot] Apr 25, 2026
cdc7d5f
chore: group beta PR logs (#24236)
Hona Apr 25, 2026
4989433
fix(build): add prettier to devDependencies (#23255)
b0o Apr 25, 2026
e29058c
chore: update nix node_modules hashes
opencode-agent[bot] Apr 25, 2026
f7d527c
ci: adjust auto close issue script to use not planned instead of comp…
rekram1-node Apr 25, 2026
4877ecc
Fix shell cwd after login startup (#24215)
kitlangton Apr 25, 2026
9ff999c
tool/lsp: include request details in permission metadata (#24139)
simonklee Apr 25, 2026
66f9303
fix permission config order (#24222)
thdxr Apr 25, 2026
fc88ed1
chore: generate
opencode-agent[bot] Apr 25, 2026
d748c71
ci: centralize opentui dependencies in workspace catalog
thdxr Apr 25, 2026
1b92c95
core: permission config schema now provides full IntelliSense for all…
thdxr Apr 25, 2026
bad732c
sync release versions for v1.14.25
Apr 25, 2026
d5bfaef
feat(httpapi): bridge instance read endpoints (#24258)
kitlangton Apr 25, 2026
5b0e828
chore: generate
opencode-agent[bot] Apr 25, 2026
37aa844
refactor: remove lazy cross-spawn runtime (#24305)
thdxr Apr 25, 2026
62ef2a2
refactor: rename shared package to core (#24309)
thdxr Apr 25, 2026
1d728fc
feat: add startup debug command (#24310)
thdxr Apr 25, 2026
62651c7
chore: update nix node_modules hashes
opencode-agent[bot] Apr 25, 2026
a9740b9
fix(config): preserve permission order with Effect decode (#24308)
kitlangton Apr 25, 2026
1a734ad
core: consolidate shared infrastructure into core package
thdxr Apr 25, 2026
27353df
chore: generate
opencode-agent[bot] Apr 25, 2026
fc8dae2
chore: update nix node_modules hashes
opencode-agent[bot] Apr 25, 2026
716cf74
ci: adjust review flow (#24355)
rekram1-node Apr 25, 2026
705f792
core: move Global module to @opencode-ai/core for centralized path ma…
thdxr Apr 25, 2026
eb02199
feat(httpapi): bridge catalog read endpoints (#24353)
kitlangton Apr 25, 2026
3bc0c36
chore: generate
opencode-agent[bot] Apr 25, 2026
625aca4
feat(tui): read Zed editor context from state db (#24352)
kitlangton Apr 25, 2026
05661c6
feat(httpapi): bridge file search endpoints (#24356)
kitlangton Apr 25, 2026
f91b73b
ci: fix model name
rekram1-node Apr 25, 2026
ff4b60e
chore: generate
opencode-agent[bot] Apr 25, 2026
3eee2f6
core: move cross-spawn-spawner from opencode to core package
thdxr Apr 25, 2026
1e98167
core: move cross-spawn-spawner to root and remove unused types
thdxr Apr 25, 2026
f5dce6d
core: move npm service to core package for shared dependency management
thdxr Apr 25, 2026
95d4bb2
feat(httpapi): bridge experimental read endpoints (#24365)
kitlangton Apr 25, 2026
3b74077
chore: generate
opencode-agent[bot] Apr 25, 2026
60fa708
chore: update nix node_modules hashes
opencode-agent[bot] Apr 25, 2026
b749866
feat(httpapi): bridge worktree read endpoint (#24366)
kitlangton Apr 25, 2026
9af46df
chore: generate
opencode-agent[bot] Apr 25, 2026
cd64b67
feat(tui): show /connect tip when user has no models configured (#24014)
kitlangton Apr 25, 2026
b4f4134
feat(httpapi): bridge instance dispose endpoint (#24368)
kitlangton Apr 25, 2026
474024f
chore: generate
opencode-agent[bot] Apr 25, 2026
a369130
feat(httpapi): bridge worktree mutations (#24371)
kitlangton Apr 25, 2026
75a22f8
chore: generate
opencode-agent[bot] Apr 25, 2026
df9e1d9
feat(httpapi): bridge config update endpoint (#24387)
kitlangton Apr 25, 2026
5904f59
feat(httpapi): bridge project git init endpoint (#24394)
kitlangton Apr 25, 2026
27b0877
chore: generate
opencode-agent[bot] Apr 25, 2026
58c6587
feat(httpapi): bridge project update endpoint (#24398)
kitlangton Apr 25, 2026
a14c22d
feat(httpapi): bridge mcp control endpoints (#24403)
kitlangton Apr 25, 2026
3e35c97
chore: generate
opencode-agent[bot] Apr 25, 2026
450128f
feat(httpapi): bridge mcp oauth endpoints (#24405)
kitlangton Apr 25, 2026
f77277a
chore: generate
opencode-agent[bot] Apr 25, 2026
7cab682
feat(httpapi): bridge experimental tool routes (#24407)
kitlangton Apr 26, 2026
097d930
chore: generate
opencode-agent[bot] Apr 26, 2026
f2d4d81
test(provider): avoid plugin dependency install timeout (#24416)
kitlangton Apr 26, 2026
2893588
sync
fwang Apr 26, 2026
fc6d4b4
core: Add User-Agent header to identify client version in HTTP requests
thdxr Apr 26, 2026
e7053c4
fix: bump openrouter sdk version to resolve deepseek reasoning issue …
rekram1-node Apr 26, 2026
95c43fc
chore: update nix node_modules hashes
opencode-agent[bot] Apr 26, 2026
5a5a2e5
fix: correct typo in comment (#24420)
ariane-emory Apr 26, 2026
6daa2b9
feat(httpapi): bridge experimental session list (#24478)
kitlangton Apr 26, 2026
37c5eab
chore: generate
opencode-agent[bot] Apr 26, 2026
aa5999b
feat(httpapi): bridge workspace mutations (#24483)
kitlangton Apr 26, 2026
854d4b7
chore: generate
opencode-agent[bot] Apr 26, 2026
7feb6ab
fix(docs): correct OpenCode Go DeepSeek endpoints (#24500)
MrMushrooooom Apr 26, 2026
d03e6ce
ci: update team assignments in github-triage
thdxr Apr 26, 2026
da61b02
feat(httpapi): bridge sync routes (#24484)
kitlangton Apr 26, 2026
de413c5
chore: generate
opencode-agent[bot] Apr 26, 2026
e0d1ff4
feat(httpapi): bridge session read routes (#24485)
kitlangton Apr 26, 2026
daff119
chore: generate
opencode-agent[bot] Apr 26, 2026
daaa2e5
feat(httpapi): bridge session lifecycle routes (#24486)
kitlangton Apr 26, 2026
55adcdf
chore: generate
opencode-agent[bot] Apr 26, 2026
151df05
feat(httpapi): bridge session message mutations (#24487)
kitlangton Apr 26, 2026
301ecb1
chore: generate
opencode-agent[bot] Apr 26, 2026
c5b6792
feat(httpapi): bridge remaining session routes (#24510)
kitlangton Apr 26, 2026
41f5e8a
chore: generate
opencode-agent[bot] Apr 26, 2026
79c66e3
sync
fwang Apr 26, 2026
5186c69
sync
fwang Apr 26, 2026
bbb56c2
chore: generate
opencode-agent[bot] Apr 26, 2026
00d1a7e
chore: rm empty file
rekram1-node Apr 26, 2026
dcee1c3
fix(editor): reject lock files with no workspace match for cwd (#24323)
jjjermiah Apr 26, 2026
3beadee
feat(go): add Go model listing endpoint (#24304)
MrMushrooooom Apr 26, 2026
21e01db
upgrade opentui to 0.1.104 (#24531)
kommander Apr 26, 2026
fad2618
chore: update nix node_modules hashes
opencode-agent[bot] Apr 26, 2026
af3998c
sync release versions for v1.14.26
Apr 26, 2026
c68907e
fix(tui): update toast duration handling to use default value (#23395)
OpeOginni Apr 26, 2026
e9071b0
tui: remove excessive debug logging from workspace creation flow to r…
thdxr Apr 26, 2026
58244eb
feat(httpapi): bridge event stream (#24518)
kitlangton Apr 26, 2026
c4d8a81
chore: generate
opencode-agent[bot] Apr 26, 2026
141f33d
feat: configurable shell selection + desktop settings UI (#20602)
Hona Apr 27, 2026
216dd36
feat(httpapi): bridge pty routes (#24547)
kitlangton Apr 27, 2026
60ebd07
core: refactor Installation service to use a single consolidated resu…
thdxr Apr 27, 2026
418a1cf
feat(httpapi): bridge tui routes (#24548)
kitlangton Apr 27, 2026
5f8a72b
fix(tui): hide provider checks before onboarding (#24551)
thdxr Apr 27, 2026
a3128e3
upgrade opentui to 0.1.105 (#24555)
kommander Apr 27, 2026
35734b4
chore: update nix node_modules hashes
opencode-agent[bot] Apr 27, 2026
244d1de
sync release versions for v1.14.27
Apr 27, 2026
5cf195e
go: models endpoint
fwang Apr 27, 2026
059e6c4
Update VOUCHED list
github-actions[bot] Apr 27, 2026
3525e61
fix: ignore GitHub Actions changelog contributor (#24567)
Hona Apr 27, 2026
a9b62d6
Refactor npm config handling (#24565)
thdxr Apr 27, 2026
5d8971c
go: add deepseek icon
fwang Apr 27, 2026
0cecb1b
chore: generate
opencode-agent[bot] Apr 27, 2026
e578c44
sync release versions for v1.14.28
Apr 27, 2026
025a639
fix: default tool call streaming to false for google vertex (#24573)
rekram1-node Apr 27, 2026
4a1ef32
sync
fwang Apr 27, 2026
f19d863
ignore: split up reasoning transforms (#24574)
rekram1-node Apr 27, 2026
1e191ba
update Go DeepSeek request estimates for cache pricing changes (#24575)
MrMushrooooom Apr 27, 2026
0efc616
fix(opencode): agent create generates permissions field with deny ins…
21pounder Apr 27, 2026
1770162
chore: generate
opencode-agent[bot] Apr 27, 2026
e8c2023
zen: coupons
fwang Apr 27, 2026
52b55b8
Merge branch 'fix/usage-chart' into dev
fwang Apr 27, 2026
c8b2f98
chore: generate
opencode-agent[bot] Apr 27, 2026
8718b98
fix: pass workspace symbol query to experimental LSP tool (#24576)
Hona Apr 27, 2026
2789b77
chore: generate
opencode-agent[bot] Apr 27, 2026
61eabfc
update Go DeepSeek flash limits for cache pricing drop (#24592)
MrMushrooooom Apr 27, 2026
ede354b
docs: fix duplicated word in CLI env var table (#24614)
SeashoreShi Apr 27, 2026
26cc537
chore: generate
opencode-agent[bot] Apr 27, 2026
738b306
tweak: make interleaved reasoning_content default to true for openai …
rekram1-node Apr 27, 2026
dc6991e
fix(httpapi): mount workspace bridge routes (#24626)
kitlangton Apr 27, 2026
55ecb06
fix(httpapi): accept empty session create body (#24640)
kitlangton Apr 27, 2026
f25f148
refactor: remove module barrels (#24554)
thdxr Apr 27, 2026
ccb7669
chore: generate
opencode-agent[bot] Apr 27, 2026
c361c29
fix: ensure toolStreaming is set to off by default when using non ant…
rekram1-node Apr 27, 2026
5290e9c
fix(tui): stabilize Zed editor context polling (#24656)
kitlangton Apr 27, 2026
7a1c846
chore: generate
opencode-agent[bot] Apr 27, 2026
51fc10e
fix(httpapi): enforce instance route parity (#24660)
kitlangton Apr 27, 2026
fab1768
feat(core): file context improvements and option to disable (#24661)
jlongster Apr 27, 2026
45eac58
fix(tui): preserve Zed context on terminal focus (#24662)
kitlangton Apr 27, 2026
f584f80
test(httpapi): verify reflected route mounts (#24663)
kitlangton Apr 27, 2026
9cd2e3a
chore: generate
opencode-agent[bot] Apr 27, 2026
e0f3df8
fix(tui): consume Enter in dialog useKeyboard handlers (#23390)
CasualDeveloper Apr 27, 2026
139c4fd
fix(session): harden shell cancellation (#24553)
kitlangton Apr 27, 2026
acd15dc
test(httpapi): cover full OpenAPI route inventory (#24667)
kitlangton Apr 27, 2026
dfc0075
chore: generate
opencode-agent[bot] Apr 27, 2026
576efed
fix(httpapi): preserve optional session fields (#24671)
kitlangton Apr 27, 2026
c4a2353
fix(session): omit undefined optional fields (#24676)
kitlangton Apr 27, 2026
ce78a42
fix(session): remove compaction summary dividers (#24677)
kitlangton Apr 27, 2026
c103202
test(httpapi): cover session json parity (#24682)
kitlangton Apr 27, 2026
faca24d
fix(httpapi): align session boolean query parsing (#24693)
kitlangton Apr 28, 2026
0eaa47d
chore: generate
opencode-agent[bot] Apr 28, 2026
892fd85
fix(httpapi): preserve provider oauth authorize parity (#24703)
kitlangton Apr 28, 2026
bad4599
chore: generate
opencode-agent[bot] Apr 28, 2026
704eb00
chore: bump effect beta (#24705)
kitlangton Apr 28, 2026
937a7c4
chore: update nix node_modules hashes
opencode-agent[bot] Apr 28, 2026
4d74849
fix(tui): keep Zed context polling responsive (#24711)
kitlangton Apr 28, 2026
796b652
fix(httpapi): preserve mcp oauth error parity (#24706)
kitlangton Apr 28, 2026
cd7ec93
chore: generate
opencode-agent[bot] Apr 28, 2026
c8d9f7a
refactor(app): load sync state through TanStack Query (#23792)
Brendonovich Apr 28, 2026
528fb1d
fix: sanitize tools for moonshot (#24730)
rekram1-node Apr 28, 2026
bb9e445
chore: generate
opencode-agent[bot] Apr 28, 2026
b420952
Update VOUCHED list
github-actions[bot] Apr 28, 2026
9d1f17d
fix(ui): remove redundant flex overrides in tool components (#24749)
Brendonovich Apr 28, 2026
8e1615f
merge upstream (conflicts auto-accepted - needs review)
github-actions[bot] Apr 28, 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
  •  
  •  
  •  
16 changes: 16 additions & 0 deletions .github/TEAM_MEMBERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
adamdotdevin
Brendonovich
fwang
Hona
iamdavidhill
jayair
jlongster
kitlangton
kommander
MrMushrooooom
nexxeln
R44VC0RP
rekram1-node
RhysSullivan
thdxr
simonklee
17 changes: 17 additions & 0 deletions .github/VOUCHED.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,31 @@
# - 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
-carycooper777
-danieljoshuanazareth
-danieljoshuanazareth
-davidbernat looks to be a clawdbot that spams team and sends super weird emails, doesnt appear to be a real person
edemaine
-florianleibert
fwang
iamdavidhill
jayair
kitlangton
kommander
-opencode2026
-opencodeengineer bot that spams issues
r44vc0rp
rekram1-node
-ricardo-m-l
-robinmordasiewicz
rubdos
shantur
simonklee
-spider-yamet clawdbot/llm psychosis, spam pinging the team
-terisuke
thdxr
-toastythebot
53 changes: 46 additions & 7 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,58 @@
name: "Setup Bun"
description: "Setup Bun with caching and install dependencies"
inputs:
install-flags:
description: "Additional flags to pass to 'bun install'"
required: false
default: ""
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 ${{ inputs.install-flags }}
else
bun install ${{ inputs.install-flags }}
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