Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
87481f2
fix: gpt-5.5+ in combination with azure fails with reasoningEffort (#…
frederiknsgo Aug 3, 2026
7becbbf
feat(app): refine diff viewer (#40285)
arvsrn Aug 3, 2026
b0b1149
test(opencode): cover Azure completion reasoning (#40340)
opencode-agent[bot] Aug 3, 2026
def14d9
Revert "fix slow queries"
fwang Aug 4, 2026
7fe9938
sync release versions for v1.18.12
Aug 4, 2026
7e94dda
fix(github): include pull request identity in context (#40363)
opencode-agent[bot] Aug 4, 2026
0efa33c
feat(desktop): expand and audit locale translations (#40362)
opencode-agent[bot] Aug 4, 2026
b005a15
chore: generate
opencode-agent[bot] Aug 4, 2026
638788f
fix(app): move markdown parsing to worker (#40356)
Hona Aug 4, 2026
26aefa6
chore: update nix node_modules hashes
opencode-agent[bot] Aug 4, 2026
0c380f3
feat(app): support locale plural rules (#40370)
opencode-agent[bot] Aug 4, 2026
60e23fe
chore: generate
opencode-agent[bot] Aug 4, 2026
6c32991
feat(app): add minimal RTL support (#40372)
opencode-agent[bot] Aug 4, 2026
e857350
feat(i18n): localize hardcoded application copy (#40377)
opencode-agent[bot] Aug 4, 2026
edc8d1d
chore: generate
opencode-agent[bot] Aug 4, 2026
c75e3b5
fix(app): supply fallback session titles (#40385)
Brendonovich Aug 4, 2026
8721a27
fix(app): complete shared RTL primitives (#40388)
opencode-agent[bot] Aug 4, 2026
c387fe1
feat(app): add debug layout direction toggle (#40393)
Hona Aug 4, 2026
6c97a46
fix(stats): hide zero-usage countries (#40400)
opencode-agent[bot] Aug 4, 2026
de1bd36
fix(app): correct RTL layout interactions (#40410)
Hona Aug 4, 2026
dc67b7a
docs: add Poolside provider setup (#39187)
amypoolside Aug 4, 2026
44614c7
fix(acp): drain updates before end turn (#40422)
nexxeln Aug 4, 2026
aefaf14
sync release versions for v1.18.13
Aug 4, 2026
703d09f
fix(server): don't forward host directory to remote workspace (#40136)
jamesmurdza Aug 4, 2026
f0afb67
fix(server): log upstream 5xx bodies from proxied workspace requests …
jamesmurdza Aug 4, 2026
98dd65c
fix(app): collapse deletion-only edit parts (#40536)
opencode-agent[bot] Aug 5, 2026
66fdd51
docs: add RTL development skill (#40543)
Hona Aug 5, 2026
cb88db6
tweak(opencode): make xAI OAuth device-only to reduce confusion w/ he…
rekram1-node Aug 5, 2026
5b4fb1f
chore: generate
opencode-agent[bot] Aug 5, 2026
9f38562
fix(opencode): include cache writes in ACP usage (#40450)
opencode-agent[bot] Aug 5, 2026
82a5796
test(app): harden flaky e2e synchronization (#40556)
Hona Aug 5, 2026
b8ea3ea
chore: generate
opencode-agent[bot] Aug 5, 2026
2f17fc9
docs(zen): add LongCat free model (#40585)
MrMushrooooom Aug 5, 2026
4a57013
fix(app): show pending tool details (#40603)
opencode-agent[bot] Aug 5, 2026
f929f8f
refactor(opencode): simplify retry error matching (#40694)
rekram1-node Aug 5, 2026
61aefc0
fix(opencode): expand retryable error patterns (#40707)
rekram1-node Aug 5, 2026
057b5a9
chore: generate
opencode-agent[bot] Aug 5, 2026
b84c63d
fix(stats): reduce html payloads
adamdotdevin Aug 5, 2026
3355b78
chore: generate
opencode-agent[bot] Aug 5, 2026
709c195
fix(opencode): preserve compatible stream errors (#40718)
rekram1-node Aug 5, 2026
082fe93
chore: generate
opencode-agent[bot] Aug 5, 2026
b1f8cc0
chore: update nix node_modules hashes
opencode-agent[bot] Aug 5, 2026
146720e
fix(stats): improve page speed
adamdotdevin Aug 5, 2026
04513d9
chore: generate
opencode-agent[bot] Aug 5, 2026
ebf6fc0
sync release versions for v1.18.14
Aug 5, 2026
23bbc5c
fix(server): allow blob attachments in web UI (#40692)
rexdotsh Aug 5, 2026
24470e5
fix(desktop): embed version in server sidecar (#40764)
Hona Aug 5, 2026
f1adabc
feat(app): export session as json from ui (#40781)
Hona Aug 6, 2026
b8bd889
chore: generate
opencode-agent[bot] Aug 6, 2026
847771f
fix log processor
fwang Aug 6, 2026
f6c5afe
fix(desktop): disable packaged console logging (#40794)
opencode-agent[bot] Aug 6, 2026
def7220
fix(tui): support copying over ssh with `set-clipboard on` tmux confi…
ayubun Aug 6, 2026
b379d71
fix(stats): update github stars
adamdotdevin Aug 6, 2026
03bff65
fix(app): update homepage stats
adamdotdevin Aug 6, 2026
dc898ca
sync
fwang Aug 6, 2026
69f2cba
chore: generate
opencode-agent[bot] Aug 6, 2026
b7f9363
fix(opencode): serialize orphaned compaction history (#40800)
opencode-agent[bot] Aug 7, 2026
8d65dbd
fix(app): complete translation coverage (#40981)
opencode-agent[bot] Aug 7, 2026
31c5c4e
fix(app): keep locale names native (#40985)
opencode-agent[bot] Aug 7, 2026
d468201
fix(opencode): use file times for truncation cleanup (#40987)
opencode-agent[bot] Aug 7, 2026
a54a693
fix(opencode): use chronological message boundaries (#40991)
opencode-agent[bot] Aug 7, 2026
db581e4
fix(opencode): order legacy message loop by time (#40990)
opencode-agent[bot] Aug 7, 2026
20750c3
fix(web): order shared messages by creation time (#40995)
opencode-agent[bot] Aug 7, 2026
8bf5062
feat(tui): add cursor style configuration (#32295)
dangooddd Aug 7, 2026
28bcc0e
fix(app): sort sessions by persisted time (#41000)
opencode-agent[bot] Aug 7, 2026
23cc677
fix(tui): order messages by creation time (#40994)
opencode-agent[bot] Aug 7, 2026
9113255
fix(app): order stored messages by creation time (#41001)
opencode-agent[bot] Aug 7, 2026
5aa5cb3
fix(app): use chronological message boundaries (#41006)
opencode-agent[bot] Aug 7, 2026
4abddbb
feat(go): promote DeepSeek V4 Flash usage (#40988)
MrMushrooooom Aug 7, 2026
741244b
feat(app): add global locale coverage (#40992)
opencode-agent[bot] Aug 7, 2026
3255297
sync
fwang Aug 7, 2026
265472e
fix(ui): use tokens for button loading state (#40884)
arvsrn Aug 7, 2026
1ec6bdc
sync release versions for v1.18.15
Aug 7, 2026
b467518
fix(desktop): preserve macOS app on window close (#40974)
opencode-agent[bot] Aug 7, 2026
5347b5e
fix(app): register new home projects (#41018)
Brendonovich Aug 7, 2026
be25c90
docs(zen): replace Ling Flash with Tiny (#41027)
MrMushrooooom Aug 7, 2026
b05a0d1
fix(i18n): use 词元 instead of 令牌 for token in zh locale (#40977)
Speechlessmanbilibili Aug 7, 2026
284214c
feat(app): open project menu on right-click (#41013)
arvsrn Aug 7, 2026
2ea728f
fix(app): populate project picker from home (#41158)
Brendonovich Aug 8, 2026
fe82a1b
chore: generate
opencode-agent[bot] Aug 8, 2026
38e10eb
fix(opencode): ignore unknown config fields (#41312)
opencode-agent[bot] Aug 8, 2026
0bff28d
fix(stats): fall back after full sync failure (#41411)
opencode-agent[bot] Aug 9, 2026
d90532a
sync release versions for v1.18.16
Aug 10, 2026
941e71d
fix(app): use current default model (#38603)
Brendonovich Aug 10, 2026
550d1ff
fix(i18n): use widely recognized developer terminology (#41532)
opencode-agent[bot] Aug 10, 2026
b9f3b38
fix(session): route all Muse family models to the Meta system prompt …
mreso Aug 10, 2026
3a90639
fix(ui): correct OC-2 weak icon color (#41504)
OpeOginni Aug 10, 2026
5d95348
fix(provider): scope DeepSeek V4 Flash sampling defaults (#41620)
opencode-agent[bot] Aug 11, 2026
d62e500
chore: build beta from v2 (#41627)
Hona Aug 11, 2026
d041eee
chore: use DeepSeek for beta conflicts (#41669)
opencode-agent[bot] Aug 11, 2026
9fdd482
docs(zen): add Nemotron 3.5 Lightning (#41750)
MrMushrooooom Aug 11, 2026
0d927ba
chore: generate
opencode-agent[bot] Aug 11, 2026
6afef2f
fix(console): update blocked account message (#41819)
opencode-agent[bot] Aug 11, 2026
36b2053
docs(zen): add Hy3 Free (#41814)
MrMushrooooom Aug 11, 2026
2b8a596
feat(console): add go usage endpoint (#16513)
peculiarnewbie Aug 11, 2026
561afb4
fix(opencode): detect Copilot PDF input support (#41522)
stevenao Aug 11, 2026
d470434
refactor(console): simplify go usage response
vimtor Aug 11, 2026
c789868
fix(opencode): cap session retries with jitter (#41939)
rekram1-node Aug 12, 2026
1f94d8a
docs(zen): remove expired free models (#41943)
MrMushrooooom Aug 12, 2026
46a14e6
feat(stats): query r2 data catalog
adamdotdevin Aug 12, 2026
d92d1e6
docs(zen): add Grok 4.6
fwang Aug 12, 2026
8571a92
fix(provider): add Merge Gateway reasoning variants (#41867)
MatthewFeroz Aug 12, 2026
ca3df21
docs: fix broken DigitalOcean and Daytona links (#42048)
skyzhao1223 Aug 12, 2026
959c8bd
docs: fix provider display name and PAT typos (#42034)
skyzhao1223 Aug 12, 2026
7e0353c
fix(stats): correct r2 daily totals
adamdotdevin Aug 12, 2026
284187a
fix(ci): authenticate pulumi downloads
adamdotdevin Aug 12, 2026
6d3ae4d
chore: generate
opencode-agent[bot] Aug 12, 2026
df09c3e
update ds v4 pro
fwang Aug 12, 2026
069165e
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 12, 2026
521906f
docs(go): clarify DeepSeek ZDR coverage (#42085)
opencode-agent[bot] Aug 12, 2026
999be62
chore: generate
opencode-agent[bot] Aug 12, 2026
39fb919
chore: add neriousy to team members (#42107)
opencode-agent[bot] Aug 12, 2026
dab2637
fix(compaction): adjust instructions and structure to be more clear t…
rekram1-node Aug 12, 2026
37fe5c8
sync release versions for v1.18.17
Aug 12, 2026
502310f
fix(xai): pass through reasoning effort (#42160)
opencode-agent[bot] Aug 12, 2026
beeabe2
fix(mistral): pass through reasoning effort (#42164)
opencode-agent[bot] Aug 12, 2026
6fea419
fix(groq): pass through reasoning effort (#42166)
opencode-agent[bot] Aug 12, 2026
91df883
fix(opencode): select Kimi prompt by provider (#42161)
opencode-agent[bot] Aug 12, 2026
14b37df
chore: update nix node_modules hashes
opencode-agent[bot] Aug 12, 2026
cc4b456
sync release versions for v1.18.18
Aug 13, 2026
864889a
docs: remove Ling 3.0 Tiny free model (#42314)
MrMushrooooom Aug 13, 2026
62387f3
fix(skills): Update global config path in documentation (#42337)
TechyAditya Aug 13, 2026
ab7cbc8
chore: generate
opencode-agent[bot] Aug 13, 2026
6c035e1
fix(core): preserve unicode in grep previews (#42356)
kitlangton Aug 13, 2026
c7af47f
update grok endpoint
fwang Aug 13, 2026
d0c2b41
docs(go): use responses API for Grok 4.5 (#42373)
MrMushrooooom Aug 13, 2026
f06e949
feat(go): add Gemini 3.7 Flash (#42390)
MrMushrooooom Aug 13, 2026
3e25e80
chore: generate
opencode-agent[bot] Aug 13, 2026
2449581
fix(go): remove Gemini 3.7 Flash (#42393)
MrMushrooooom Aug 13, 2026
8a55ba7
chore: generate
opencode-agent[bot] Aug 13, 2026
d8bf792
fix(opencode): preserve v1 database compatibility (#42444)
thdxr Aug 14, 2026
0e34745
docs: sort Gemini 3.7 before 3.6 (#42473)
opencode-agent[bot] Aug 14, 2026
6d63500
chore(deps): update ai-gateway-provider to 3.2.0 (#42488)
rekram1-node Aug 14, 2026
722e717
chore: update nix node_modules hashes
opencode-agent[bot] Aug 14, 2026
886fd98
docs(zen): add Muse Spark 1.2 (#42508)
MrMushrooooom Aug 14, 2026
92d29ba
chore: generate
opencode-agent[bot] Aug 14, 2026
e23586a
feat(go): add GLM 5.3 (#42518)
MrMushrooooom Aug 14, 2026
4643e65
fix(opencode): enable web search for Go (#42630)
opencode-agent[bot] Aug 14, 2026
976c185
docs(go): remove DeepSeek Flash promotion (#42858)
MrMushrooooom Aug 16, 2026
3fd77ae
zen: peak pricing
fwang Aug 16, 2026
fb8344f
chore: remove scheduled beta sync
thdxr Aug 16, 2026
a0f8dcc
docs: update DeepSeek V4 pricing (#42881)
MrMushrooooom Aug 16, 2026
1c96545
fix(stats): correct YouTube footer link (#42941)
opencode-agent[bot] Aug 16, 2026
cba6b5f
feat(opencode): native OpenAI and Anthropic passthroughs for Cloudfla…
rekram1-node Aug 17, 2026
5a0e07e
chore: generate
opencode-agent[bot] Aug 17, 2026
4d68d30
tweak: match codex limits for openai models exactly when using chatgp…
GameOn223 Aug 17, 2026
2cba7e2
fix(cli): update default console URL (#43043)
opencode-agent[bot] Aug 17, 2026
a97fec8
fix: codex data residency (#42432)
neriousy Aug 17, 2026
7af274a
fix(core): fall back on oversized websocket requests (#43099)
neriousy Aug 17, 2026
e14acea
update ds flash limit
fwang Aug 17, 2026
57075d8
fix(provider): update Google Vertex SDK (#43108)
opencode-agent[bot] Aug 17, 2026
65c3597
chore: update nix node_modules hashes
opencode-agent[bot] Aug 17, 2026
040b856
fix(cli): stop legacy preview publishing
thdxr Aug 18, 2026
3232040
fix(app): keep server details editable (#43169)
opencode-agent[bot] Aug 18, 2026
4e81a0b
fix(console): preserve inference sessions (#43124)
adamdotdevin Aug 18, 2026
9b0dd36
fix(session): ignore malformed model costs (#43248)
nexxeln Aug 18, 2026
ad905f8
fix(opencode): properly show authed providers on /connect command (#3…
OpeOginni Aug 18, 2026
0033bb3
fix(core): restore session request headers (#43188)
neriousy Aug 18, 2026
8b65fa2
fix(opencode): remove Qwen sampling defaults (#43310)
opencode-agent[bot] Aug 18, 2026
7774461
docs: add SCX.ai to the providers list (#42520)
bhuvan2134686 Aug 19, 2026
64b4f7d
sync
fwang Aug 19, 2026
72824fe
sync
fwang Aug 19, 2026
e2a2bc3
sync
fwang Aug 19, 2026
da3ba63
sync
fwang Aug 19, 2026
fbcd4fa
sync
fwang Aug 19, 2026
4e29e04
sync
fwang Aug 19, 2026
fb772e8
sync
fwang Aug 19, 2026
3477d28
Merge branch 'muse-spark' of github.com:anomalyco/opencode into muse-…
fwang Aug 19, 2026
0a63972
Merge branch 'muse-spark' into dev
fwang Aug 19, 2026
1b18a50
chore: generate
opencode-agent[bot] Aug 19, 2026
20ad497
docs(console): end Luna usage promotion (#43351)
MrMushrooooom Aug 19, 2026
101ff6d
chore: generate
opencode-agent[bot] Aug 19, 2026
18fc3ee
update zen model name
fwang Aug 19, 2026
da4730e
chore: generate
opencode-agent[bot] Aug 19, 2026
d545d8f
feat(go): promote Hy3 usage (#43429)
MrMushrooooom Aug 19, 2026
16af134
update go models
fwang Aug 19, 2026
6386e67
chore: generate
opencode-agent[bot] Aug 19, 2026
a466a35
Revert "chore: generate"
fwang Aug 19, 2026
e2505d4
Revert "update go models"
fwang Aug 19, 2026
4c5960d
feat(stats): include free tier usage
adamdotdevin Aug 20, 2026
1b77242
country check for muse spark in free
fwang Aug 20, 2026
3d26b12
zen: muse spark contributor
fwang Aug 20, 2026
fc80874
chore: generate
opencode-agent[bot] Aug 20, 2026
be469f3
sync
fwang Aug 20, 2026
5ccb1e8
fix(stats): normalize routed model ids (#43582)
opencode-agent[bot] Aug 20, 2026
e0e9bd7
fix(tui): show encrypted reasoning status (#43578)
opencode-agent[bot] Aug 20, 2026
f715478
doc muse regions
fwang Aug 20, 2026
f4a8968
fix(tui): remove encrypted label from thought header (#43588)
rekram1-node Aug 20, 2026
03d65f3
sync
fwang Aug 20, 2026
ccccd75
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 20, 2026
d06bf48
sync
fwang Aug 20, 2026
b155b15
sync release versions for v1.18.19
Aug 20, 2026
71d08e9
fix(opencode): retry xAI capacity stream errors (#43640)
opencode-agent[bot] Aug 20, 2026
ad192a5
fix(stats): clarify market share providers (#43647)
adamdotdevin Aug 20, 2026
82dee24
docs(zen): add Ox Alpha free model (#43690)
MrMushrooooom Aug 20, 2026
11e8110
fix(docs): align Ox Alpha free model ID (#43695)
MrMushrooooom Aug 20, 2026
5cc5b62
update muse country list
fwang Aug 20, 2026
5e75e5e
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 20, 2026
08faeb3
fix(opencode): answer subagent permissions in run (#43675)
opencode-agent[bot] Aug 21, 2026
e49772a
fix(opencode): preserve Cerebras completion limit (#43736)
opencode-agent[bot] Aug 21, 2026
c313504
fix(opencode): surface resumable subagent errors (#43657)
opencode-agent[bot] Aug 21, 2026
2859603
chore: generate
opencode-agent[bot] Aug 21, 2026
7b11ef5
docs(go): add Ox Alpha Free (#43798)
MrMushrooooom Aug 21, 2026
e11dbd0
chore: generate
opencode-agent[bot] Aug 21, 2026
40282c1
fix(opencode): retry network error variants (#43806)
opencode-agent[bot] Aug 21, 2026
c9dc1a1
feat(go): add Ox Alpha to usage graph (#43809)
MrMushrooooom Aug 21, 2026
1e4c153
chore: generate
opencode-agent[bot] Aug 21, 2026
e0b9e68
fix(opencode): retry raw network finish errors (#43813)
opencode-agent[bot] Aug 21, 2026
62cb3f7
test(opencode): remove flaky subagent test (#43819)
opencode-agent[bot] Aug 21, 2026
35fe5b7
fix(opencode): surface subagent tool errors (#43821)
rekram1-node Aug 21, 2026
a9cac91
sync release versions for v1.18.20
Aug 21, 2026
f357e70
fix(app): register archive session command in both layouts (#41741)
NathanTCode Aug 21, 2026
b6a1f95
fix(app): preserve file search results while loading (#43836)
Brendonovich Aug 21, 2026
ba72a6f
fix(go): align Ox Alpha model ID (#43837)
MrMushrooooom Aug 21, 2026
813e6f3
docs(go): add DeepSeek vision model (#43866)
MrMushrooooom Aug 21, 2026
fa8f170
chore: generate
opencode-agent[bot] Aug 21, 2026
361a71f
fix(opencode): route Vertex multi-regions through REP (#42648)
opencode-agent[bot] Aug 21, 2026
8ecd4c2
chore: generate
opencode-agent[bot] Aug 21, 2026
0af9dd6
fix(stats): merge renamed model data (#43883)
adamdotdevin Aug 21, 2026
57fa34f
fix(opencode): continue unknown finish responses (#43892)
opencode-agent[bot] Aug 21, 2026
487d584
docs(zen): reflect GPT 5.6 Sol discount (#43874)
opencode-agent[bot] Aug 21, 2026
ad0bb6d
sync release versions for v1.18.21
Aug 21, 2026
1b937c8
test(opencode): align unknown finish coverage (#43895)
opencode-agent[bot] Aug 21, 2026
9cb6fb6
fix(console): cache desktop downloads
thdxr Aug 21, 2026
bcf1103
docs(zen): update GPT 5.6 Sol pricing (#43986)
opencode-agent[bot] Aug 21, 2026
e2ec62d
fix: bump Amazon Bedrock provider (#43909)
opencode-agent[bot] Aug 21, 2026
ff3ef6e
chore: update nix node_modules hashes
opencode-agent[bot] Aug 21, 2026
34a83b2
fix(stats): improve chart tooltip truncation
adamdotdevin Aug 21, 2026
3a4c253
fix(provider): guard textVerbosity injection for @ai-sdk/openai-compa…
joelstucki-taulia Aug 21, 2026
e00890c
fix: resolve console device URLs (#44029)
kitlangton Aug 22, 2026
3a31c4e
fix(app): keep model provider headers visible (#44115)
Brendonovich Aug 22, 2026
dc13c6b
fix(console): reduce zen request memory (#44403)
thdxr Aug 23, 2026
e3bd6e0
chore: generate
opencode-agent[bot] Aug 23, 2026
9d466cd
fix(stats): normalize model casing
thdxr Aug 23, 2026
32c3637
fix(console): stream zen request bodies (#44429)
thdxr Aug 23, 2026
bb72277
chore: generate
opencode-agent[bot] Aug 23, 2026
3d31e4b
fix(console): revert streamed zen request bodies (#44444)
thdxr Aug 23, 2026
17b4730
feat(console): add unblock workspace action
fwang Aug 23, 2026
fa11755
fix(console): scan zen model before streaming (#44463)
thdxr Aug 23, 2026
c11c41b
chore: generate
opencode-agent[bot] Aug 23, 2026
dd3f915
fix(console): release streamed zen prefixes (#44465)
thdxr Aug 23, 2026
ca10088
chore: generate
opencode-agent[bot] Aug 23, 2026
b3bad6b
fix(console): revert scanned zen request streaming (#44470)
thdxr Aug 23, 2026
63a883a
refactor(console): stream zen bodies without modifiers (#44472)
thdxr Aug 23, 2026
03bba46
chore: generate
opencode-agent[bot] Aug 23, 2026
b1ce938
fix(console): support DeepSeek weekend pricing (#44305)
opencode-agent[bot] Aug 24, 2026
f2a1d54
fix(console): set duplex for streamed zen requests
fwang Aug 24, 2026
7bbfe42
always allow ox alpha in go
fwang Aug 24, 2026
4161695
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 24, 2026
264640b
Merge remote-tracking branch 'upstream/dev' into sync/upstream-2026-0…
Aug 24, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/TEAM_MEMBERS
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ kitlangton
kommander
ludvigrask
MrMushrooooom
neriousy
nexxeln
R44VC0RP
rekram1-node
Expand Down
63 changes: 63 additions & 0 deletions .opencode/skills/rtl-aware-development/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
name: rtl-aware-development
description: OpenCode Desktop should be RTL-aware. Use when implementing or reviewing RTL/LTR behavior in the web app, desktop app, CSS, menus, scrolling, resizing, icons, mixed-direction text, or Electron title bars.
---

# RTL-Aware Development

Treat direction as independent from language. Test English in both directions as well as real RTL and mixed-script content.

## Guidelines

- Set `lang` and `dir` on the document, and propagate direction through component providers used by portaled menus and popovers. Do not change the selected locale merely to force RTL.
- Keep DOM and focus order semantic. Flexbox and Grid already follow `dir`; do not add `row-reverse`, CSS `order`, or reversed markup just to mirror a layout.
- Prefer logical CSS for semantic layout. Reserve physical coordinates for pointer positions, canvas geometry, native window controls, and other genuinely physical placement.

```css
/* Avoid */
padding-left: 12px;
right: 0;
border-right: 1px solid;
text-align: left;

/* Prefer */
padding-inline-start: 12px;
inset-inline-end: 0;
border-inline-end: 1px solid;
text-align: start;
```

- Isolate mixed-direction text. Use `dir="auto"` or `<bdi>` for unknown text; keep code, URLs, IDs, and filesystem paths LTR without forcing the surrounding component LTR.

```html
<span class="file-row"><bdi dir="auto">README.md</bdi></span> <bdi dir="ltr"><code>C:\src\app.ts</code></bdi>
```

- Mirror directional meaning, not every image. Back/forward, previous/next, disclosure, indentation, and directional progress may need mirroring. Do not mirror brands, clocks, media controls, charts, or text. Reverse physical gradients, `translateX`, SVG transforms, and animation deltas explicitly.
- Map interactions through direction. `clientX` remains physical; resizing a logical edge needs an RTL-aware delta. Logical previous/next keyboard controls may swap ArrowLeft/ArrowRight. Follow the relevant WAI-ARIA widget pattern.
- Do not assume LTR scrolling. RTL `scrollLeft` can start at `0` and become negative. Prefer `scrollIntoView({ inline: "nearest" })` or a tested direction-normalizing helper.
- For Electron title bars, prefer native caption controls and use `titleBarOverlay` plus `env(titlebar-area-*)` for the safe content rectangle. Keep Windows/macOS native-control avoidance and `trafficLightPosition` physical; keep app navigation inside that rectangle logical. Mark interactive titlebar children `app-region: no-drag`.
- Verify behavior, not screenshots alone. Check computed styles, pseudo-element geometry, hit zones, focus order, keyboard behavior, submenu direction, zoom/scaling, and both LTR and RTL scroll endpoints.

## Test Matrix

- English + LTR
- English + forced RTL
- A real RTL locale + RTL
- Mixed RTL/LTR content, long labels, numbers, code, and paths
- Keyboard, pointer resize, scrolling, menus/submenus, and Electron titlebar controls in both directions

## References

- [RTL Styling 101, Ahmad Shadeed](https://rtlstyling.com/posts/rtl-styling/)
- [CSS-Tricks: RTL Styling 101](https://css-tricks.com/rtl-styling-101/)
- [CSS-Tricks: CSS Logical Properties and Values](https://css-tricks.com/css-logical-properties-and-values/)
- [W3C: Structural markup and right-to-left text](https://www.w3.org/International/questions/qa-html-dir)
- [W3C: Inline bidirectional markup](https://www.w3.org/International/articles/inline-bidi-markup/)
- [MDN: CSS logical properties and values](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Logical_properties_and_values)
- [MDN: `dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/dir)
- [MDN: `scrollLeft`](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft)
- [web.dev: Logical properties](https://web.dev/learn/css/logical-properties/)
- [Electron: Custom title bar](https://www.electronjs.org/docs/latest/tutorial/custom-title-bar)
- [WAI-ARIA: Window splitter pattern](https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/)
- [Kobalte: I18n Provider](https://kobalte.dev/docs/core/components/i18n-provider/)
2 changes: 1 addition & 1 deletion .opencode/tool/github-triage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { tool } from "@opencode-ai/plugin"
const TEAM = {
tui: ["kommander", "simonklee"],
desktop_web: ["Hona", "Brendonovich"],
core: ["jlongster", "rekram1-node", "nexxeln", "kitlangton"],
core: ["jlongster", "rekram1-node", "neriousy", "nexxeln", "kitlangton"],
inference: ["fwang", "MrMushrooooom", "starptech"],
windows: ["Hona"],
} as const
Expand Down
27 changes: 0 additions & 27 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,33 +252,6 @@ These are not strictly enforced, they are just general guidelines:

For net-new functionality, start with a design conversation. Open an issue describing the problem, your proposed approach (optional), and why it belongs in OpenCode. The core team will help decide whether it should move forward; please wait for that approval instead of opening a feature PR directly.

## Trust & Vouch System

This project uses [vouch](https://github.com/mitchellh/vouch) to manage contributor trust. The vouch list is maintained in [`.github/VOUCHED.td`](.github/VOUCHED.td).

### How it works

- **Vouched users** are explicitly trusted contributors.
- **Denounced users** are explicitly blocked. Issues and pull requests from denounced users are automatically closed. If you have been denounced, you can request to be unvouched by reaching out to a maintainer on [Discord](https://opencode.ai/discord)
- **Everyone else** can participate normally — you don't need to be vouched to open issues or PRs.

### For maintainers

Collaborators with write access can manage the vouch list by commenting on any issue:

- `vouch` — vouch for the issue author
- `vouch @username` — vouch for a specific user
- `denounce` — denounce the issue author
- `denounce @username` — denounce a specific user
- `denounce @username <reason>` — denounce with a reason
- `unvouch` / `unvouch @username` — remove someone from the list

Changes are committed automatically to `.github/VOUCHED.td`.

### Denouncement policy

Denouncement is reserved for users who repeatedly submit low-quality AI-generated contributions, spam, or otherwise act in bad faith. It is not used for disagreements or honest mistakes.

## Issue Requirements

All issues **must** use one of our issue templates:
Expand Down
Loading