Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2879 commits
Select commit Hold shift + click to select a range
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
62e1335
fix(opencode): allow oc://renderer origin in cors middleware (#25099)
OpeOginni Apr 30, 2026
dddfcbf
test: port instance HttpApi path/vcs read coverage to Effect
kitlangton Apr 30, 2026
29b1060
chore: generate
opencode-agent[bot] Apr 30, 2026
fe0c182
upgrade opentui to 0.2.0 (#24810)
kommander Apr 30, 2026
53e9cac
refactor(core): convert control-plane workspace to Effect (#25018)
jlongster Apr 30, 2026
8f57a2a
chore: generate
opencode-agent[bot] Apr 30, 2026
65c15af
test: use testEffect for instruction tests (#25046)
kitlangton Apr 30, 2026
375444a
chore: update nix node_modules hashes
opencode-agent[bot] Apr 30, 2026
ffe0314
fix: ensure disabling OPENCODE_DISABLE_CLAUDE_CODE_SKILLS doesnt disa…
rekram1-node Apr 30, 2026
fef7981
test: use Effect runtime in runner deadlock case (#25045)
kitlangton Apr 30, 2026
ce63ca4
test: use testEffect for system prompt test (#25047)
kitlangton Apr 30, 2026
92e80b4
test: use Effect test helper for app runtime logger (#25049)
kitlangton Apr 30, 2026
79e23b7
test: use testEffect for instance state (#25115)
kitlangton Apr 30, 2026
e4ac936
test: use testEffect for plugin workspace adaptor (#25052)
kitlangton Apr 30, 2026
ec3ab4a
test: use testEffect for retry policy (#25050)
kitlangton Apr 30, 2026
f384675
test: use Effect test helper for run-service (#25048)
kitlangton Apr 30, 2026
feeebbe
Preserve workspace context in session HTTP routes (#25136)
kitlangton Apr 30, 2026
19271fc
Use workspace service in HTTP routes (#25139)
kitlangton Apr 30, 2026
320527a
Support multiple Zed selections in TUI context (#25140)
kitlangton Apr 30, 2026
f4ce240
Use PTY service directly in HTTP routes (#25138)
kitlangton Apr 30, 2026
87cd944
test: use testEffect for plugin triggers (#25053)
kitlangton Apr 30, 2026
cedff6f
Isolate TUI thread cwd resolution test (#25147)
kitlangton Apr 30, 2026
b315a70
test: use Effect test helper for agent colors (#25051)
kitlangton Apr 30, 2026
0e9d928
Refactor workspace service boundaries (#25152)
kitlangton Apr 30, 2026
3250b81
Fix HttpApi raw route authorization (#25154)
kitlangton Apr 30, 2026
fbcbd24
Add SyncEvent service (#25158)
kitlangton Apr 30, 2026
feb275d
Remove covered workspace websocket todo (#25161)
kitlangton Apr 30, 2026
b80f52f
tweak: adjust codex plugin to use the models hook (#25157)
rekram1-node Apr 30, 2026
924ba97
chore: generate
opencode-agent[bot] Apr 30, 2026
5518eca
Fix HttpApi web UI fallback (#25163)
kitlangton Apr 30, 2026
560baae
fix: ensure user config takes precendence over plugin hooks for model…
rekram1-node Apr 30, 2026
76a0f0f
docs(httpapi): update migration spec to current state (#25173)
kitlangton Apr 30, 2026
e0305e4
Protect HttpApi web UI fallback with auth (#25169)
kitlangton Apr 30, 2026
247284b
chore: generate
opencode-agent[bot] Apr 30, 2026
a123333
fix(provider): split providerOptions key on dot for openai-compatible…
Sewer56 Apr 30, 2026
3aaac00
chore: generate
opencode-agent[bot] Apr 30, 2026
fc155e9
Build HttpApi UI route from services (#25177)
kitlangton Apr 30, 2026
8805104
chore: generate
opencode-agent[bot] Apr 30, 2026
e3134a2
refactor(session): align prompt input types with their schemas (#25178)
kitlangton Apr 30, 2026
510f016
chore: generate
opencode-agent[bot] Apr 30, 2026
2dd1f2d
Avoid request-time HttpApi layer provisioning (#25179)
kitlangton Apr 30, 2026
96a0dd6
chore: generate
opencode-agent[bot] Apr 30, 2026
96f4da1
Serve instance events through HttpApiBuilder (#25182)
kitlangton May 1, 2026
1b76bec
chore: generate
opencode-agent[bot] May 1, 2026
451650b
refactor(httpapi): preserve typed errors in session prompt handlers (…
kitlangton May 1, 2026
a499fe2
refactor(tool/read): yield InstanceState.context instead of reading A…
kitlangton May 1, 2026
5c2e06f
Document HttpApi route patterns (#25188)
kitlangton May 1, 2026
668d77b
refactor(tool): yield InstanceState context (#25199)
kitlangton May 1, 2026
bc805b3
Pass CORS options to HttpApi backend (#25201)
kitlangton May 1, 2026
a9d3996
fix(desktop): Prevent Model response Interruption when opening settin…
OpeOginni May 1, 2026
6d4629b
chore: generate
opencode-agent[bot] May 1, 2026
8aa8798
refactor(session): yield instance context in llm (#25200)
kitlangton May 1, 2026
e8a194a
test(effect): stabilize runner active shell check (#25203)
kitlangton May 1, 2026
ce3b098
refactor(project): yield instance context in bootstrap (#25204)
kitlangton May 1, 2026
a083c88
refactor(sync): capture instance context for publish (#25206)
kitlangton May 1, 2026
c2a97a7
refactor(file): yield instance context in watcher (#25205)
kitlangton May 1, 2026
5984d91
refactor(session): yield instance context in system prompt (#25207)
kitlangton May 1, 2026
6434918
chore: generate
opencode-agent[bot] May 1, 2026
3544ea0
refactor(httpapi): drop session prompt bridge (#25210)
kitlangton May 1, 2026
bce4def
chore: generate
opencode-agent[bot] May 1, 2026
5ba68a2
refactor(httpapi): scope async prompt fiber (#25213)
kitlangton May 1, 2026
4c70ea2
fix(tui): scope Zed editor context to containing workspaces (#25211)
kitlangton May 1, 2026
3c24d22
fix(httpapi): omit absent optional response fields (#25214)
kitlangton May 1, 2026
8b56d17
refactor(session): pass project to list (#25215)
kitlangton May 1, 2026
dd3aa96
test(httpapi): cover more safe GET parity (#25217)
kitlangton May 1, 2026
8b56d77
chore: generate
opencode-agent[bot] May 1, 2026
ff55a40
core: remove @effect/language-service plugin and optimize hot path ty…
thdxr May 1, 2026
6bd91c6
chore: generate
opencode-agent[bot] May 1, 2026
461e734
chore: update nix node_modules hashes
opencode-agent[bot] May 1, 2026
33f7f59
fix: tui list jank issue (#25219)
rekram1-node May 1, 2026
2283979
Preapprove agent tmp directory access (#25226)
thdxr May 1, 2026
3615d8e
core: clarify that temp directory already exists for AI agents
thdxr May 1, 2026
c68c33d
docs: remove deprecated modes.mdx pages (#25227)
rekram1-node May 1, 2026
163290b
desktop: sentry integration (#15300)
Brendonovich May 1, 2026
4e451a4
chore: update nix node_modules hashes
opencode-agent[bot] May 1, 2026
08895c3
docs: fix tui and keybinds documentation (#25233)
rekram1-node May 1, 2026
4eae8ec
chore: generate
opencode-agent[bot] May 1, 2026
563177c
fix: fix issue if tool returned image and empty text and it caused ap…
rekram1-node May 1, 2026
a5aa72b
fix: update provider store after loading providers in bootstrap (#25236)
Brendonovich May 1, 2026
21f8027
sync release versions for v1.14.31
May 1, 2026
28a9d1c
merge upstream (conflicts auto-accepted - needs review)
github-actions[bot] May 1, 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
8 changes: 7 additions & 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 All @@ -36,3 +36,9 @@ jobs:
PLANETSCALE_SERVICE_TOKEN_NAME: ${{ secrets.PLANETSCALE_SERVICE_TOKEN_NAME }}
PLANETSCALE_SERVICE_TOKEN: ${{ secrets.PLANETSCALE_SERVICE_TOKEN }}
STRIPE_SECRET_KEY: ${{ github.ref_name == 'production' && secrets.STRIPE_SECRET_KEY_PROD || secrets.STRIPE_SECRET_KEY_DEV }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
SENTRY_PROJECT: ${{ vars.WEB_SENTRY_PROJECT }}
SENTRY_RELEASE: web@${{ github.sha }}
VITE_SENTRY_DSN: ${{ vars.WEB_SENTRY_DSN }}
VITE_SENTRY_RELEASE: web@${{ github.sha }}
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