Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2799 commits
Select commit Hold shift + click to select a range
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
aa07f38
fix(app): preserve per-workspace icon override from localStorage (#24…
Brendonovich Apr 28, 2026
2a4f2bf
fix(httpapi): align sync seq validation
kitlangton Apr 28, 2026
e57d0c2
fix(httpapi): document tui bad request responses
kitlangton Apr 28, 2026
3fa78a8
docs: bump GitHub stars count to 150K (#24792)
iamdavidhill Apr 28, 2026
7739cc5
refactor(httpapi): fork server startup by flag (#24799)
kitlangton Apr 28, 2026
9b68b71
chore: generate
opencode-agent[bot] Apr 28, 2026
ea3c6c3
fix(httpapi): document instance query parameters (#24809)
kitlangton Apr 28, 2026
2c2fc34
feat(core): store relative path for sessions (#24704)
jlongster Apr 28, 2026
c00058e
fix(httpapi): align request body openapi shape (#24811)
kitlangton Apr 28, 2026
d54ffbd
tui: ignore invalid custom themes to prevent startup crashes (#24645)
thdxr Apr 28, 2026
1ff8d28
fix(tui): handle Zed selection byte offsets (#24825)
kitlangton Apr 28, 2026
2e8d690
fix(httpapi): finish sdk openapi parity (#24827)
kitlangton Apr 28, 2026
1b0ed98
chore: generate
opencode-agent[bot] Apr 28, 2026
276d162
sync release versions for v1.14.29
Apr 28, 2026
0acac21
fix(copilot): ensure available variants sync from api (#24734)
rekram1-node Apr 28, 2026
58836e7
fix(httpapi): wire global and control handlers (#24835)
kitlangton Apr 28, 2026
366d11e
chore: generate
opencode-agent[bot] Apr 28, 2026
379e7f3
test(httpapi): cover sdk effect routes (#24836)
kitlangton Apr 28, 2026
9209c04
feat(core): filter sessions by path and add setting to disable (#24849)
jlongster Apr 28, 2026
ae8904c
chore: generate
opencode-agent[bot] Apr 28, 2026
d4bf70b
fix(bash): memory leak - release parsed syntax trees (#24861)
Hona Apr 28, 2026
91bd295
chore: generate
opencode-agent[bot] Apr 28, 2026
9fbeafb
fix: clear timeout after promise rejection (#24864)
Hona Apr 28, 2026
3bd890f
ignore: ideas
thdxr Apr 29, 2026
23b8ed7
ignore
thdxr Apr 29, 2026
fc0e3c6
ignore
thdxr Apr 29, 2026
f6b4f54
refactor(app): convert getProjectAvatarSource to early returns (#24896)
Brendonovich Apr 29, 2026
a8c74c0
docs: add Atomic Chat provider section (#23069)
Vect0rM Apr 29, 2026
504ca3d
feat: make it easier to toggle on/off paste summary in the tui (#24869)
rekram1-node Apr 29, 2026
d71b827
fix(session): remap compaction tail_start_id when forking (#24898)
spark4862 Apr 29, 2026
d37e5af
Disable Windows update code signature verification (#24905)
Brendonovich Apr 29, 2026
65ba1f6
fix(download): update beta asset names from electron to desktop (#24908)
Brendonovich Apr 29, 2026
6015084
Prepare Effect HttpApi backend parity (#24853)
kitlangton Apr 29, 2026
df147b6
chore: generate
opencode-agent[bot] Apr 29, 2026
d3df8e1
test(httpapi): clean up SDK parity tests
kitlangton Apr 29, 2026
a3f7ea2
chore: generate
opencode-agent[bot] Apr 29, 2026
71f9189
Update VOUCHED list
github-actions[bot] Apr 29, 2026
00bb983
tweak: adjust order of system prompt instructions: Global, Project, S…
rekram1-node Apr 29, 2026
6aa8e89
chore: rm broken codesearch tool (#24992)
rekram1-node Apr 29, 2026
c480006
chore: generate
opencode-agent[bot] Apr 29, 2026
293877c
fix(core): reconnect editor context for session directory (#24984)
jlongster Apr 29, 2026
9db5890
Refactor HttpApi workspace routing and proxy boundaries (#25006)
kitlangton Apr 29, 2026
1124ae1
chore: generate
opencode-agent[bot] Apr 29, 2026
639e27c
feat: add Mistral Medium 3.5 with reasoning support (#24996)
rubdos Apr 29, 2026
5882610
fix: make deepseek string check a bit looser (#25012)
rekram1-node Apr 29, 2026
a740d2c
fix: adjust azure defaults to closer match openai to prevent Item .. …
rekram1-node Apr 29, 2026
d7b7be1
fix(desktop): Path mismatches cause sessions missing + strong ID + ex…
Hona Apr 29, 2026
12cbfe5
chore: generate
opencode-agent[bot] Apr 29, 2026
ea89925
fix: handle invalid mcp urls (#25019)
Hona Apr 29, 2026
ac6aa43
sync release versions for v1.14.30
Apr 29, 2026
61dfae3
test: cover HttpApi websocket proxy (#25017)
kitlangton Apr 29, 2026
6f508d5
test: deflake runner cancel test (#25021)
kitlangton Apr 30, 2026
de78ded
Update VOUCHED list
github-actions[bot] Apr 30, 2026
9052e8a
test: cover HttpApi workspace routing middleware (#25027)
kitlangton Apr 30, 2026
4fe14ab
test: cover HttpApi instance context middleware (#25032)
kitlangton Apr 30, 2026
38adc13
test: cover HttpApi authorization middleware (#25033)
kitlangton Apr 30, 2026
cee9610
refactor: use Effect config for HttpApi authorization (#25035)
kitlangton Apr 30, 2026
c49bf0b
test: cover ConfigService helper (#25042)
kitlangton Apr 30, 2026
d7701db
fix(opencode): preserve `external_dir` and `deny` parent permissions …
remorses Apr 30, 2026
3ef0aaf
tweak: make azure onboarding ux a bit better (#25057)
rekram1-node Apr 30, 2026
8ba374f
ci: enable sourcemaps for beta releases
thdxr Apr 30, 2026
9bddf7f
fix app crash restoring messages without model (#25062)
Hona Apr 30, 2026
3398fd7
feat(httpapi): add CORS middleware to instance routes (#25074)
Brendonovich Apr 30, 2026
908e281
fix: invert *_ready getters to fix server status indicator (#25077)
Brendonovich Apr 30, 2026
3642bed
merge upstream (conflicts auto-accepted - needs review)
github-actions[bot] Apr 30, 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
19 changes: 19 additions & 0 deletions .github/VOUCHED.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,33 @@
# - 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
dmtrkovalenko
edemaine
fahreddinozcan
-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