Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
a69969b
Migrate config template tests to instance fixtures (#28211)
kitlangton May 18, 2026
bc58eae
Migrate config agent tests to instance fixtures (#28213)
kitlangton May 18, 2026
279aeb3
test(cli): subprocess integration tests for opencode serve (#28263)
kitlangton May 19, 2026
007cfdf
chore: generate
opencode-agent[bot] May 19, 2026
a636634
Migrate config update tests to instance fixtures (#28266)
kitlangton May 19, 2026
5dc8d01
Migrate config .opencode file tests to instance fixtures (#28268)
kitlangton May 19, 2026
1b3bfd1
test: migrate config legacy tool fixtures
kitlangton May 19, 2026
8e50c46
chore: add log collector script
May 19, 2026
a0f9dc0
Merge remote-tracking branch 'refs/remotes/origin/dev' into dev
May 19, 2026
6e63c01
test: migrate remaining simple config fixtures
kitlangton May 19, 2026
7eeaafb
test: migrate managed config fixtures
kitlangton May 19, 2026
b14c4a4
test: migrate plugin config fixtures
kitlangton May 19, 2026
21aca8e
feat(httpapi): add v2 public error schemas (#28297)
nexxeln May 19, 2026
fa0fccd
fix(httpapi): preserve v2 openapi errors (#28298)
nexxeln May 19, 2026
41f03c6
chore: generate
opencode-agent[bot] May 19, 2026
a03f628
feat(i18n): add Ukrainian (uk) locale support (#28061)
MYMDO May 19, 2026
3f07299
chore: generate
opencode-agent[bot] May 19, 2026
7da7da0
chore(team): add starptech to the team members list (#28320)
StarpTech May 19, 2026
b009fee
chore(docs): remove beta zen go (#28317)
StarpTech May 19, 2026
f27a04d
Fix legacy pgup/pgdown TUI keybind aliases (#28275)
kommander May 19, 2026
d33f675
test(cli): subprocess integration tests for opencode acp (#28265)
kitlangton May 19, 2026
3b37cdd
feat(native-llm): route Anthropic API-key models through native runti…
kitlangton May 19, 2026
af3a41e
chore: generate
opencode-agent[bot] May 19, 2026
4c780aa
refactor(app): remove Accessor wrapping from timeline row renders (#2…
Brendonovich May 19, 2026
8a6d625
fix(app): invalidate provider queries after config update to show cus…
tianxiaoliang May 19, 2026
d6f5d93
test(cli): help-text snapshots for every CLI command (#28267)
kitlangton May 19, 2026
3391bf4
use keymap state for layer visibility (#26246)
kommander May 19, 2026
75d30af
fix(tool): tolerate plugin tool defs with missing args (#28357)
kitlangton May 19, 2026
7e7f1fe
test(lib): extract snapshot normalizer utility for cross-OS stability…
kitlangton May 19, 2026
f98aa93
chore: generate
opencode-agent[bot] May 19, 2026
4bb8acd
test(opencode/run): skip Windows-only scrollback replay failure (#28261)
kitlangton May 19, 2026
d5399af
test(cli): tier-A read-only command smoke tests (#28274)
kitlangton May 19, 2026
f197b4d
Migrate MCP config tests to instance fixtures (#28338)
kitlangton May 19, 2026
fabdfc0
feat(go): referral support (#28345)
vimtor May 19, 2026
e162c0f
chore: generate
opencode-agent[bot] May 19, 2026
85f1178
Migrate remaining legacy tools config tests (#28363)
kitlangton May 19, 2026
50b6f72
chore(go): referral improvements (#28368)
vimtor May 19, 2026
71fdb67
chore: generate
opencode-agent[bot] May 19, 2026
6488767
sync
fwang May 19, 2026
f9ec991
go: update referral invite ui style
fwang May 19, 2026
cffab45
chore: generate
opencode-agent[bot] May 19, 2026
7427053
Reduce snapshot batch test fixture sizes (#28381)
kitlangton May 19, 2026
1210e78
chore(triage): add 'starptech' to core and inference teams (#28376)
StarpTech May 19, 2026
eb099f9
refactor(test/cli): migrate harness short-lived path to AppProcess + …
kitlangton May 19, 2026
68d0c95
chore: generate
opencode-agent[bot] May 19, 2026
c05c833
Skip LLM server for prompt tests without LLM calls (#28391)
kitlangton May 19, 2026
87a197e
fix(config): tolerate invalid OPENCODE_PERMISSION JSON (#28388)
kitlangton May 19, 2026
293a2da
fix(config): resolve agent/command names from relative paths (#28359)
kitlangton May 19, 2026
5ad42d9
fix(action): remove orphan symlink breaking GitHub Action staging (#2…
kitlangton May 19, 2026
9900a3d
Run CLI subprocess tests concurrently (#28399)
kitlangton May 19, 2026
9b5d2fb
Skip snapshot seed file commits (#28405)
kitlangton May 19, 2026
4e17a2d
Skip git setup for processor tool test (#28406)
kitlangton May 19, 2026
3fa2e53
fix(opencode): Update directory and path fields of imported session (…
OpeOginni May 20, 2026
9289981
Add Windows desktop app menu (#28420)
Hona May 20, 2026
8c4490c
chore: generate
opencode-agent[bot] May 20, 2026
afa2ee3
app: Initial tabs impl (#28436)
Brendonovich May 20, 2026
88b2d62
chore: generate
opencode-agent[bot] May 20, 2026
f0282df
run: add shell mode to prompt (#28315)
simonklee May 20, 2026
2ce6a1c
chore: generate
opencode-agent[bot] May 20, 2026
32853b5
feat(tui): initial impl of diff viewer (#28476)
jlongster May 20, 2026
54ddf3f
chore: generate
opencode-agent[bot] May 20, 2026
cdfdb25
fix(cli): default console login url (#28474)
thdxr May 20, 2026
4965c2e
fix(enterprise): message nav hovercard and active state (#23964)
OpeOginni May 20, 2026
2991551
handle permanent file plugin errors (#27344)
kommander May 20, 2026
bb49ac3
chore: simplify referral codes (#28491)
vimtor May 20, 2026
030ae7c
zen: add gemini 3.5 flash
fwang May 20, 2026
21cdfba
chore: generate
opencode-agent[bot] May 20, 2026
2da1470
fix(httpapi): expose v2 request errors (#28495)
nexxeln May 20, 2026
6003f89
chore: generate
opencode-agent[bot] May 20, 2026
3d52604
fix(sdk): unbreak typecheck on dev after v2 error widening (#28503)
kitlangton May 20, 2026
5711a8c
run: replace subagent tabs with on-demand picker (#28508)
simonklee May 20, 2026
847a0c4
chore: generate
opencode-agent[bot] May 20, 2026
f7cb0ed
chore: update Effect beta (#28505)
kitlangton May 20, 2026
5afd831
chore: update nix node_modules hashes
opencode-agent[bot] May 20, 2026
7445cd0
fix(httpapi): expose v2 catalog errors (#28498)
nexxeln May 20, 2026
3531a7a
chore: generate
opencode-agent[bot] May 20, 2026
2beec79
chore: update Drizzle RC (#28506)
kitlangton May 20, 2026
d0d3595
feat(tui): focus first file in file tree (#28513)
jlongster May 20, 2026
bfa3166
chore: update nix node_modules hashes
opencode-agent[bot] May 20, 2026
e12e4fd
feat(tui): collapse directories when possible in file tree (#28512)
jlongster May 20, 2026
96bce7e
chore: generate
opencode-agent[bot] May 20, 2026
3c26979
upgrade opentui to 0.2.15 (#28510)
kommander May 20, 2026
8318e73
chore: generate
opencode-agent[bot] May 20, 2026
fc2e04c
test(server): port event-diagnostics to Effect runner (#28520)
kitlangton May 20, 2026
3aeb067
chore: generate
opencode-agent[bot] May 20, 2026
479a674
fix(tui): gate Zed context on terminal env (#28517)
kitlangton May 20, 2026
c06ac29
fix(tui): simplify thinking toggle styling (#28487)
rekram1-node May 20, 2026
909d2f3
chore: generate
opencode-agent[bot] May 20, 2026
515b952
chore: update nix node_modules hashes
opencode-agent[bot] May 20, 2026
4469b92
sync release versions for v1.15.6
May 20, 2026
102ef94
fix(tui): default new sessions always to local project (#28541)
jlongster May 20, 2026
b8bdc41
chore: generate
opencode-agent[bot] May 20, 2026
d633894
zen: grok build 0.1
fwang May 20, 2026
1bb598d
sync
fwang May 20, 2026
14585c2
feat(effect-drizzle-sqlite): add vendored sqlite adapter (#28547)
kitlangton May 21, 2026
d782bfa
Refactor LLM route-first provider API (#28523)
kitlangton May 21, 2026
9a77359
chore: update nix node_modules hashes
opencode-agent[bot] May 21, 2026
df1c864
Rename v2 auth service to account (#28260)
thdxr May 21, 2026
34b3a32
chore: generate
opencode-agent[bot] May 21, 2026
806859e
fix(llm): restore OpenAI reasoning streams (#28552)
kitlangton May 21, 2026
27c77cb
fix(opencode): register account events in EventV2 bridge (#28555)
kitlangton May 21, 2026
7916e0a
chore: generate
opencode-agent[bot] May 21, 2026
8a9151f
fix(tui): separate question checkmark labels (#28558)
kitlangton May 21, 2026
cac5c5f
refactor(opencode): extract session LLM request prep (#28560)
kitlangton May 21, 2026
7424e48
fix(provider): support PDF attachments for xAI/Grok (#28561)
rekram1-node May 21, 2026
80bf84b
chore: generate
opencode-agent[bot] May 21, 2026
135bc56
test(opencode): remove redundant global event casts (#28564)
kitlangton May 21, 2026
76bac6c
fix(tui): use colon for collapsed thinking labels (#28562)
rekram1-node May 21, 2026
4ff8e54
chore: generate
opencode-agent[bot] May 21, 2026
7bf936e
chore: update nix node_modules hashes
opencode-agent[bot] May 21, 2026
6e9fd8a
fix(question): surface schema failures as friendly tool errors (#28563)
kitlangton May 21, 2026
d4760fb
test(opencode): port amazon-bedrock.test.ts to it.instance (#28559)
kitlangton May 21, 2026
19efc39
chore: generate
opencode-agent[bot] May 21, 2026
27d2bc5
test(opencode): port provider.test.ts to it.instance (#28565)
kitlangton May 21, 2026
cf1bd29
chore: generate
opencode-agent[bot] May 21, 2026
f21ab2c
test(server): port event SSE tests to it.instance + testEffectShared …
kitlangton May 21, 2026
2a0a33e
refactor(question): tool-arg errors at the boundary, drop redundant i…
kitlangton May 21, 2026
487b005
test(control-plane): port workspace.test.ts to it.instance (#28572)
kitlangton May 21, 2026
dd524cf
chore: generate
opencode-agent[bot] May 21, 2026
95cf118
fix(opencode): support native OpenAI OAuth fetch (#28571)
kitlangton May 21, 2026
e713491
chore: generate
opencode-agent[bot] May 21, 2026
cfa9993
refactor(permission): drop redundant inner decode in Permission.ask (…
kitlangton May 21, 2026
e3ba15b
refactor(opencode): roll out serviceUse proxy across 14 services + te…
kitlangton May 21, 2026
c0ba036
chore: generate
opencode-agent[bot] May 21, 2026
e49824d
test(session): port llm.test.ts to it.instance (#28578)
kitlangton May 21, 2026
adb48c1
chore: generate
opencode-agent[bot] May 21, 2026
4d9675f
fix(opencode): dedupe concurrent Codex OAuth refreshes (#28236)
cooper-oai May 21, 2026
e4d940e
feat(desktop): Add Export Logs (#26262)
Hona May 21, 2026
bc0284e
chore: generate
opencode-agent[bot] May 21, 2026
91fad8a
chore: update nix node_modules hashes
opencode-agent[bot] May 21, 2026
beece19
feat(opencode): add xAI Grok OAuth (SuperGrok) + device-code login (#…
Jaaneek May 21, 2026
ad39394
chore: generate
opencode-agent[bot] May 21, 2026
8f3868b
feat(app): add desktop v2 home, session entry, and titlebar (#28442)
Hona May 21, 2026
c7648f4
chore: generate
opencode-agent[bot] May 21, 2026
b0a52aa
zen: fix affiliated header
fwang May 21, 2026
05b9443
app: more new designs (#28603)
Brendonovich May 21, 2026
363703b
fix(ui): preserve target attribute in DOMPurify config for markdown l…
kagura-agent May 21, 2026
06c45e3
fix(httpapi): expose v2 session not found (#28511)
nexxeln May 21, 2026
506a5b1
chore: generate
opencode-agent[bot] May 21, 2026
24db1ac
opencode: provide channel to web build (#28612)
Brendonovich May 21, 2026
6267114
fix(httpapi): expose unavailable v2 session mutations (#28624)
nexxeln May 21, 2026
e94e6cb
chore: generate
opencode-agent[bot] May 21, 2026
9ccbf54
docs: sync TUI config translations and Zen pricing (#28620)
MrMushrooooom May 21, 2026
4fcfac9
fix(httpapi): add unknown error references (#28629)
nexxeln May 21, 2026
11b6228
chore: generate
opencode-agent[bot] May 21, 2026
d5b5497
fix(httpapi): remove config error middleware special case (#28631)
nexxeln May 21, 2026
6ca448a
feat(desktop): add pinch zoom setting (#28632)
Brendonovich May 21, 2026
5954ba4
chore: generate
opencode-agent[bot] May 21, 2026
0046b1e
fix(httpapi): handle corrupt v2 session messages (#28633)
nexxeln May 21, 2026
4ca2c2b
chore: generate
opencode-agent[bot] May 21, 2026
2e7241a
chore: upgrade sst version (#26224)
vimtor May 21, 2026
179b353
sync release versions for v1.15.7
May 21, 2026
44addd3
fix(llm): preserve native continuation metadata (#28678)
kitlangton May 21, 2026
c30dc4a
test(control-plane): finish porting workspace.test.ts to it.instance …
kitlangton May 21, 2026
ebc2210
chore: generate
opencode-agent[bot] May 21, 2026
6f1556d
chore(deps): bump gitlab-ai-provider to 6.7.0 (#28218)
vglafirov May 21, 2026
b0d8217
fix(httpapi): return session busy error bodies (#28684)
nexxeln May 21, 2026
d5f22f6
chore: generate
opencode-agent[bot] May 21, 2026
67e1ae2
chore: update nix node_modules hashes
opencode-agent[bot] May 21, 2026
1808794
sync
fwang May 21, 2026
b04db9f
sync
fwang May 21, 2026
957f2cf
test(opencode): cover native reasoning continuation (#28683)
kitlangton May 21, 2026
6299ea0
sync
fwang May 21, 2026
8ee75fd
sync
fwang May 21, 2026
d5b8b08
test(config): port env-var config tests to it.instance (#28706)
kitlangton May 21, 2026
1249e2f
chore: generate
opencode-agent[bot] May 21, 2026
025f246
sync
fwang May 21, 2026
f2b28cb
refactor(opencode): fetch remote config with http client (#28661)
kitlangton May 21, 2026
d38edfa
sync
fwang May 21, 2026
0875961
sync
fwang May 21, 2026
b731b5c
sync
fwang May 21, 2026
4bbfa5c
refactor(server): drop dead Fence.wait + redundant casts (#28710)
kitlangton May 21, 2026
3780749
refactor(server): rename Fence.waitEffect to Fence.wait (#28717)
kitlangton May 21, 2026
fa410d0
sync
fwang May 21, 2026
ddda30f
fix(opencode): update spinner color logic (#28032)
OpeOginni May 21, 2026
941dd54
chore: drop dead imports across opencode/core/llm (#28720)
kitlangton May 21, 2026
4fecd40
sync
fwang May 21, 2026
a68a45a
fix: exempt team members from compliance cleanup
rekram1-node May 21, 2026
e716821
sync
fwang May 21, 2026
620fc3b
feat(tui): design revamp of diff viewer (#28728)
jlongster May 21, 2026
347aee2
chore: generate
opencode-agent[bot] May 21, 2026
e4c3998
sync
fwang May 21, 2026
7035806
sync
fwang May 21, 2026
e0038bd
sync
fwang May 21, 2026
e71b890
sync
fwang May 21, 2026
21334c8
sync
fwang May 21, 2026
4a5b447
tweak(tui): remove italics from thinking labels (#28737)
rekram1-node May 22, 2026
01ef58a
fix(vertex): Vertex (Antropic) provider: use .rep.googleapis.com for …
JPFrancoia May 22, 2026
63a7b0c
chore: generate
opencode-agent[bot] May 22, 2026
0ffc1c9
app: wrap provider data in Map to avoid store (#28765)
Brendonovich May 22, 2026
645f072
refactor(app): simplify session routing and tab close handling (#28767)
Brendonovich May 22, 2026
5539df0
refactor(app): move tab navigation to titlebar and conditionally regi…
Brendonovich May 22, 2026
da93435
refactor(app): consolidate sdk and sync contexts (#28782)
Brendonovich May 22, 2026
bd5e2af
fix(app): debounce vcs refresh in session page (#28784)
Brendonovich May 22, 2026
74d942f
fix(httpapi): return request not found errors (#28693)
nexxeln May 22, 2026
1dbf1d9
chore: generate
opencode-agent[bot] May 22, 2026
efcfa80
fix(mcp): include scope in clientMetadata and add callbackPort option…
sebin May 22, 2026
f390341
chore: generate
opencode-agent[bot] May 22, 2026
fd63b2e
feat(tui): copy worktree path from palette (#28823)
nexxeln May 22, 2026
73a3ce1
fix(httpapi): return mcp server not found errors (#28817)
nexxeln May 22, 2026
ee56b6a
chore: generate
opencode-agent[bot] May 22, 2026
abf3fe3
fix(desktop): correct user code extraction when URL contains colons (…
OpeOginni May 22, 2026
ce4a6a8
fix(tui): enable diff viewer by default
thdxr May 22, 2026
ad4796c
chore: generate
opencode-agent[bot] May 22, 2026
4ec165b
fix(httpapi): return pty error bodies (#28838)
nexxeln May 22, 2026
ee5357c
chore: generate
opencode-agent[bot] May 22, 2026
92e538b
ci: "fix: exempt team members from compliance cleanup" (#28865)
rekram1-node May 22, 2026
cadf6bb
fix(tui): restore question prompt key handling (#28835)
nexxeln May 22, 2026
16c85c0
fix(llm): emit structured input_image content for tool-result media i…
kitlangton May 22, 2026
3355bff
fix(llm): emit structured image blocks for tool-result media in Anthr…
kitlangton May 22, 2026
a7b8c33
chore: generate
opencode-agent[bot] May 22, 2026
3dee827
fix(tui): interaction improvements to diff viewer (#28851)
jlongster May 22, 2026
3b21d60
chore: generate
opencode-agent[bot] May 22, 2026
b5b5c29
fix(httpapi): return project not found errors (#28856)
nexxeln May 22, 2026
83c56fe
chore: generate
opencode-agent[bot] May 22, 2026
90c68cf
fix(llm): surface code, type, and nested fields on provider stream er…
kitlangton May 22, 2026
b03ec8c
chore: generate
opencode-agent[bot] May 22, 2026
827814d
fix(repository): type expected reference failures (#28880)
nexxeln May 22, 2026
2b55320
chore: generate
opencode-agent[bot] May 22, 2026
da9172b
fix(sync): map workspace warp not found (#28882)
nexxeln May 22, 2026
9dbf1ed
chore: generate
opencode-agent[bot] May 22, 2026
fd639cf
fix(installation): type upgrade failures (#28883)
nexxeln May 22, 2026
797b813
fix(skill): type expected skill failures (#28885)
nexxeln May 22, 2026
2146047
chore: generate
opencode-agent[bot] May 22, 2026
bba1dc3
fix(tui): empty states, context, and minor improvements to diff viewe…
jlongster May 22, 2026
4499db8
chore: generate
opencode-agent[bot] May 22, 2026
02d3854
fix(pty): expose missing session errors (#28884)
nexxeln May 22, 2026
44c0748
fix(provider): type default model failures (#28881)
nexxeln May 22, 2026
b69080c
chore: generate
opencode-agent[bot] May 22, 2026
2de46e7
fix(tui): refine diff view keyboard shortcuts (#28896)
jlongster May 22, 2026
e8422b0
fix(tui): when diff viewer closes always return to last route (#28903)
jlongster May 22, 2026
a400c45
chore: generate
opencode-agent[bot] May 22, 2026
67e3a35
sync release versions for v1.15.9
May 22, 2026
31696a8
chore: update nix node_modules hashes
opencode-agent[bot] May 22, 2026
57c7efe
fix(llm): stabilize anthropic tool result typecheck (#28909)
rekram1-node May 22, 2026
066c811
fix(app): restore desktop prod legacy flows (#28919)
Hona May 23, 2026
1d6cb5e
release: v1.15.10
May 23, 2026
72b3034
resolve
May 25, 2026
e7e72ed
add openspec
May 25, 2026
1af5e7d
disable tui upgrade
May 28, 2026
e862b9a
chore: change url and logo
Jun 2, 2026
2510b3f
chore: change default model url
Jun 2, 2026
04c880b
chore: disable share function
Jun 2, 2026
d7ab15f
chore: add skills and command assets for desktop installer
Jun 2, 2026
10e05ed
chore: modify github action publish flow
Jun 3, 2026
0deaa10
chore: auto determine origin version
Jun 3, 2026
1a64f4f
chore: disable sign-cli-windows
Jun 3, 2026
8e5b261
chore: disable ai changelog
Jun 3, 2026
508d28b
chore: disable ai changelog
Jun 3, 2026
dad3517
chore: add lzcode publish workflow
Jun 4, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
charset = utf-8
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
max_line_length = 80
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# web + desktop packages
packages/app/ @adamdotdevin
packages/tauri/ @adamdotdevin
packages/desktop/src-tauri/ @brendonovich
packages/desktop/ @adamdotdevin
66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Bug report
description: Report an issue that should be fixed
body:
- type: textarea
id: description
attributes:
label: Description
description: Describe the bug you encountered
placeholder: What happened?
validations:
required: true

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

- type: input
id: opencode-version
attributes:
label: LzCode version
description: What version of LzCode are you using?
validations:
required: false

- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: How can we reproduce this issue?
placeholder: |
1.
2.
3.
validations:
required: false

- type: textarea
id: screenshot-or-link
attributes:
label: Screenshot and/or share link
description: Run `/share` to get a share link, or attach a screenshot
placeholder: Paste link or drag and drop screenshot here
validations:
required: false

- type: input
id: os
attributes:
label: Operating System
description: what OS are you using?
placeholder: e.g., macOS 26.0.1, Ubuntu 22.04, Windows 11
validations:
required: false

- type: input
id: terminal
attributes:
label: Terminal
description: what terminal are you using?
placeholder: e.g., iTerm2, Ghostty, Alacritty, Windows Terminal
validations:
required: false
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 💬 Discord Community
url: https://discord.gg/opencode
about: For quick questions or real-time discussion. Note that issues are searchable and help others with the same question.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: 🚀 Feature Request
description: Suggest an idea, feature, or enhancement
title: "[FEATURE]:"

body:
- type: checkboxes
id: verified
attributes:
label: Feature hasn't been suggested before.
options:
- label: I have verified this feature I'm about to request hasn't been suggested before.
required: true

- type: textarea
attributes:
label: Describe the enhancement you want to request
description: What do you want to change or add? What are the benefits of implementing this? Try to be detailed so we can understand your request better :)
validations:
required: true
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Question
description: Ask a question
body:
- type: textarea
id: question
attributes:
label: Question
description: What's your question?
validations:
required: true
17 changes: 17 additions & 0 deletions .github/TEAM_MEMBERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
adamdotdevin
Brendonovich
fwang
Hona
iamdavidhill
jayair
jlongster
kitlangton
kommander
MrMushrooooom
nexxeln
R44VC0RP
rekram1-node
thdxr
simonklee
vimtor
starptech
66 changes: 66 additions & 0 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
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: 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@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
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: Restore Bun dependencies
id: bun-cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
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: |
# 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

- name: Save Bun dependencies
if: steps.bun-cache.outputs.cache-hit != 'true' && github.event_name != 'pull_request' && github.event_name != 'pull_request_target'
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.cache.outputs.dir }}
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
43 changes: 43 additions & 0 deletions .github/actions/setup-git-committer/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: "Setup Git Committer"
description: "Create app token and configure git user"
inputs:
opencode-app-id:
description: "LzCode GitHub App ID"
required: true
opencode-app-secret:
description: "LzCode GitHub App private key"
required: true
outputs:
token:
description: "GitHub App token"
value: ${{ steps.apptoken.outputs.token }}
app-slug:
description: "GitHub App slug"
value: ${{ steps.apptoken.outputs.app-slug }}
runs:
using: "composite"
steps:
- name: Create app token
id: apptoken
uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2.2.2
with:
app-id: ${{ inputs.opencode-app-id }}
private-key: ${{ inputs.opencode-app-secret }}
owner: ${{ github.repository_owner }}

- name: Configure git user
run: |
slug="${{ steps.apptoken.outputs.app-slug }}"
git config --global user.name "${slug}[bot]"
git config --global user.email "${slug}[bot]@users.noreply.github.com"
shell: bash

- name: Clear checkout auth
run: |
git config --local --unset-all http.https://github.com/.extraheader || true
shell: bash

- name: Configure git remote
run: |
git remote set-url origin https://x-access-token:${{ steps.apptoken.outputs.token }}@github.com/${{ github.repository }}
shell: bash
71 changes: 71 additions & 0 deletions .github/publish-python-sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#
# This file is intentionally in the wrong dir, will move and add later....
#

# name: publish-python-sdk

# on:
# release:
# types: [published]
# workflow_dispatch:

# jobs:
# publish:
# runs-on: ubuntu-latest
# permissions:
# contents: read
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4

# - name: Setup Bun
# uses: oven-sh/setup-bun@v1
# with:
# bun-version: 1.2.21

# - name: Install dependencies (JS/Bun)
# run: bun install

# - name: Install uv
# shell: bash
# run: curl -LsSf https://astral.sh/uv/install.sh | sh

# - name: Generate Python SDK from OpenAPI (CLI)
# shell: bash
# run: |
# ~/.local/bin/uv run --project packages/sdk/python python packages/sdk/python/scripts/generate.py --source cli

# - name: Sync Python dependencies
# shell: bash
# run: |
# ~/.local/bin/uv sync --dev --project packages/sdk/python

# - name: Set version from release tag
# shell: bash
# run: |
# TAG="${GITHUB_REF_NAME:-}"
# if [ -z "$TAG" ]; then
# TAG="$(git describe --tags --abbrev=0 || echo 0.0.0)"
# fi
# echo "Using version: $TAG"
# VERSION="$TAG" ~/.local/bin/uv run --project packages/sdk/python python - <<'PY'
# import os, re, pathlib
# root = pathlib.Path('packages/sdk/python')
# pt = (root / 'pyproject.toml').read_text()
# version = os.environ.get('VERSION','0.0.0').lstrip('v')
# pt = re.sub(r'(?m)^(version\s*=\s*")[^"]+("\s*)$', f"\\1{version}\\2", pt)
# (root / 'pyproject.toml').write_text(pt)
# # Also update generator config override for consistency
# cfgp = root / 'openapi-python-client.yaml'
# if cfgp.exists():
# cfg = cfgp.read_text()
# cfg = re.sub(r'(?m)^(package_version_override:\s*)\S+$', f"\\1{version}", cfg)
# cfgp.write_text(cfg)
# PY

# - name: Build and publish to PyPI
# env:
# PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
# shell: bash
# run: |
# ~/.local/bin/uv run --project packages/sdk/python python packages/sdk/python/scripts/publish.py
29 changes: 29 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +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, 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._
37 changes: 37 additions & 0 deletions .github/workflows/beta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: beta

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

jobs:
sync:
runs-on: ubuntu-24.04
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0

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

- name: Setup Git Committer
id: setup-git-committer
uses: ./.github/actions/setup-git-committer
with:
opencode-app-id: ${{ vars.OPENCODE_APP_ID }}
opencode-app-secret: ${{ secrets.OPENCODE_APP_SECRET }}

- name: Install LzCode
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
Loading