Skip to content

Commit 0b06ff1

Browse files
authored
Merge branch 'dev' into feat/canceled-prompts-in-history
2 parents 01ff5b5 + 6d58d89 commit 0b06ff1

124 files changed

Lines changed: 2108 additions & 531 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/publish.yml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ jobs:
4141

4242
- uses: ./.github/actions/setup-bun
4343

44+
- name: Setup git committer
45+
id: committer
46+
uses: ./.github/actions/setup-git-committer
47+
with:
48+
opencode-app-id: ${{ vars.OPENCODE_APP_ID }}
49+
opencode-app-secret: ${{ secrets.OPENCODE_APP_SECRET }}
50+
4451
- name: Install OpenCode
4552
if: inputs.bump || inputs.version
4653
run: bun i -g opencode-ai
@@ -49,14 +56,16 @@ jobs:
4956
run: |
5057
./script/version.ts
5158
env:
52-
GH_TOKEN: ${{ github.token }}
59+
GH_TOKEN: ${{ steps.committer.outputs.token }}
5360
OPENCODE_BUMP: ${{ inputs.bump }}
5461
OPENCODE_VERSION: ${{ inputs.version }}
5562
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
63+
GH_REPO: ${{ (github.ref_name == 'beta' && 'anomalyco/opencode-beta') || github.repository }}
5664
outputs:
5765
version: ${{ steps.version.outputs.version }}
5866
release: ${{ steps.version.outputs.release }}
5967
tag: ${{ steps.version.outputs.tag }}
68+
repo: ${{ steps.version.outputs.repo }}
6069

6170
build-cli:
6271
needs: version
@@ -69,14 +78,22 @@ jobs:
6978

7079
- uses: ./.github/actions/setup-bun
7180

81+
- name: Setup git committer
82+
id: committer
83+
uses: ./.github/actions/setup-git-committer
84+
with:
85+
opencode-app-id: ${{ vars.OPENCODE_APP_ID }}
86+
opencode-app-secret: ${{ secrets.OPENCODE_APP_SECRET }}
87+
7288
- name: Build
7389
id: build
7490
run: |
7591
./packages/opencode/script/build.ts
7692
env:
7793
OPENCODE_VERSION: ${{ needs.version.outputs.version }}
7894
OPENCODE_RELEASE: ${{ needs.version.outputs.release }}
79-
GH_TOKEN: ${{ github.token }}
95+
GH_REPO: ${{ needs.version.outputs.repo }}
96+
GH_TOKEN: ${{ steps.committer.outputs.token }}
8097

8198
- uses: actions/upload-artifact@v4
8299
with:
@@ -189,21 +206,30 @@ jobs:
189206
if: contains(matrix.settings.host, 'ubuntu')
190207
run: cargo tauri --version
191208

209+
- name: Setup git committer
210+
id: committer
211+
uses: ./.github/actions/setup-git-committer
212+
with:
213+
opencode-app-id: ${{ vars.OPENCODE_APP_ID }}
214+
opencode-app-secret: ${{ secrets.OPENCODE_APP_SECRET }}
215+
192216
- name: Build and upload artifacts
193217
uses: tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a
194218
timeout-minutes: 60
195219
with:
196220
projectPath: packages/desktop
197221
uploadWorkflowArtifacts: true
198222
tauriScript: ${{ (contains(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }}
199-
args: --target ${{ matrix.settings.target }} --config ./src-tauri/tauri.prod.conf.json --verbose
223+
args: --target ${{ matrix.settings.target }} --config ${{ (github.ref_name == 'beta' && './src-tauri/tauri.beta.conf.json') || './src-tauri/tauri.prod.conf.json' }} --verbose
200224
updaterJsonPreferNsis: true
201225
releaseId: ${{ needs.version.outputs.release }}
202226
tagName: ${{ needs.version.outputs.tag }}
203227
releaseDraft: true
204228
releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext]
229+
repo: ${{ (github.ref_name == 'beta' && 'opencode-beta') || '' }}
230+
releaseCommitish: ${{ github.sha }}
205231
env:
206-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
232+
GITHUB_TOKEN: ${{ steps.committer.outputs.token }}
207233
TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true
208234
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
209235
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
@@ -280,4 +306,5 @@ jobs:
280306
OPENCODE_RELEASE: ${{ needs.version.outputs.release }}
281307
AUR_KEY: ${{ secrets.AUR_KEY }}
282308
GITHUB_TOKEN: ${{ steps.committer.outputs.token }}
309+
GH_REPO: ${{ needs.version.outputs.repo }}
283310
NPM_CONFIG_PROVENANCE: false

.opencode/agent/translator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: Translate content for a specified locale while preserving technical terms
33
mode: subagent
4-
model: opencode/gemini-3-pro
4+
model: opencode/gemini-3.1-pro
55
---
66

77
You are a professional translator and localization specialist.

.opencode/tool/github-triage.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,16 @@ import DESCRIPTION from "./github-triage.txt"
55
const TEAM = {
66
desktop: ["adamdotdevin", "iamdavidhill", "Brendonovich", "nexxeln"],
77
zen: ["fwang", "MrMushrooooom"],
8-
tui: ["thdxr", "kommander", "rekram1-node"],
9-
core: ["thdxr", "rekram1-node", "jlongster"],
8+
tui: [
9+
"thdxr",
10+
"kommander",
11+
// "rekram1-node" (on vacation)
12+
],
13+
core: [
14+
"thdxr",
15+
// "rekram1-node", (on vacation)
16+
"jlongster",
17+
],
1018
docs: ["R44VC0RP"],
1119
windows: ["Hona"],
1220
} as const
@@ -42,10 +50,7 @@ async function githubFetch(endpoint: string, options: RequestInit = {}) {
4250
export default tool({
4351
description: DESCRIPTION,
4452
args: {
45-
assignee: tool.schema
46-
.enum(ASSIGNEES as [string, ...string[]])
47-
.describe("The username of the assignee")
48-
.default("rekram1-node"),
53+
assignee: tool.schema.enum(ASSIGNEES as [string, ...string[]]).describe("The username of the assignee"),
4954
labels: tool.schema
5055
.array(tool.schema.enum(["nix", "opentui", "perf", "web", "desktop", "zen", "docs", "windows", "core"]))
5156
.describe("The labels(s) to add to the issue")
@@ -68,7 +73,8 @@ export default tool({
6873
results.push("Dropped label: nix (issue does not mention nix)")
6974
}
7075

71-
const assignee = nix ? "rekram1-node" : web ? pick(TEAM.desktop) : args.assignee
76+
// const assignee = nix ? "rekram1-node" : web ? pick(TEAM.desktop) : args.assignee
77+
const assignee = web ? pick(TEAM.desktop) : args.assignee
7278

7379
if (labels.includes("zen") && !zen) {
7480
throw new Error("Only add the zen label when issue title/body contains 'zen'")

.opencode/tool/github-triage.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ Choose labels and assignee using the current triage policy and ownership rules.
44
Pick the most fitting labels for the issue and assign one owner.
55

66
If unsure, choose the team/section with the most overlap with the issue and assign a member from that team at random.
7+
8+
(Note: rekram1-node is on vacation, do not assign issues to him.)

README.ar.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
<a href="README.br.md">Português (Brasil)</a> |
3333
<a href="README.th.md">ไทย</a> |
3434
<a href="README.tr.md">Türkçe</a> |
35-
<a href="README.uk.md">Українська</a>
35+
<a href="README.uk.md">Українська</a> |
36+
<a href="README.bn.md">বাংলা</a>
3637
</p>
3738

3839
[![OpenCode Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://opencode.ai)

README.bn.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
<p align="center">
2+
<a href="https://opencode.ai">
3+
<picture>
4+
<source srcset="packages/console/app/src/asset/logo-ornate-dark.svg" media="(prefers-color-scheme: dark)">
5+
<source srcset="packages/console/app/src/asset/logo-ornate-light.svg" media="(prefers-color-scheme: light)">
6+
<img src="packages/console/app/src/asset/logo-ornate-light.svg" alt="OpenCode logo">
7+
</picture>
8+
</a>
9+
</p>
10+
<p align="center">ওপেন সোর্স এআই কোডিং এজেন্ট।</p>
11+
<p align="center">
12+
<a href="https://opencode.ai/discord"><img alt="Discord" src="https://img.shields.io/discord/1391832426048651334?style=flat-square&label=discord" /></a>
13+
<a href="https://www.npmjs.com/package/opencode-ai"><img alt="npm" src="https://img.shields.io/npm/v/opencode-ai?style=flat-square" /></a>
14+
<a href="https://github.com/anomalyco/opencode/actions/workflows/publish.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/anomalyco/opencode/publish.yml?style=flat-square&branch=dev" /></a>
15+
</p>
16+
17+
<p align="center">
18+
<a href="README.md">English</a> |
19+
<a href="README.zh.md">简体中文</a> |
20+
<a href="README.zht.md">繁體中文</a> |
21+
<a href="README.ko.md">한국어</a> |
22+
<a href="README.de.md">Deutsch</a> |
23+
<a href="README.es.md">Español</a> |
24+
<a href="README.fr.md">Français</a> |
25+
<a href="README.it.md">Italiano</a> |
26+
<a href="README.da.md">Dansk</a> |
27+
<a href="README.ja.md">日本語</a> |
28+
<a href="README.pl.md">Polski</a> |
29+
<a href="README.ru.md">Русский</a> |
30+
<a href="README.bs.md">Bosanski</a> |
31+
<a href="README.ar.md">العربية</a> |
32+
<a href="README.no.md">Norsk</a> |
33+
<a href="README.br.md">Português (Brasil)</a> |
34+
<a href="README.th.md">ไทย</a> |
35+
<a href="README.tr.md">Türkçe</a> |
36+
<a href="README.uk.md">Українська</a> |
37+
<a href="README.bn.md">বাংলা</a>
38+
</p>
39+
40+
[![OpenCode Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://opencode.ai)
41+
42+
---
43+
44+
### ইনস্টলেশন (Installation)
45+
46+
```bash
47+
# YOLO
48+
curl -fsSL https://opencode.ai/install | bash
49+
50+
# Package managers
51+
npm i -g opencode-ai@latest # or bun/pnpm/yarn
52+
scoop install opencode # Windows
53+
choco install opencode # Windows
54+
brew install anomalyco/tap/opencode # macOS and Linux (recommended, always up to date)
55+
brew install opencode # macOS and Linux (official brew formula, updated less)
56+
sudo pacman -S opencode # Arch Linux (Stable)
57+
paru -S opencode-bin # Arch Linux (Latest from AUR)
58+
mise use -g opencode # Any OS
59+
nix run nixpkgs#opencode # or github:anomalyco/opencode for latest dev branch
60+
```
61+
62+
> [!TIP]
63+
> ইনস্টল করার আগে ০.১.x এর চেয়ে পুরোনো ভার্সনগুলো মুছে ফেলুন।
64+
65+
### ডেস্কটপ অ্যাপ (BETA)
66+
67+
OpenCode ডেস্কটপ অ্যাপ্লিকেশন হিসেবেও উপলব্ধ। সরাসরি [রিলিজ পেজ](https://github.com/anomalyco/opencode/releases) অথবা [opencode.ai/download](https://opencode.ai/download) থেকে ডাউনলোড করুন।
68+
69+
| প্ল্যাটফর্ম | ডাউনলোড |
70+
| --------------------- | ------------------------------------- |
71+
| macOS (Apple Silicon) | `opencode-desktop-darwin-aarch64.dmg` |
72+
| macOS (Intel) | `opencode-desktop-darwin-x64.dmg` |
73+
| Windows | `opencode-desktop-windows-x64.exe` |
74+
| Linux | `.deb`, `.rpm`, or AppImage |
75+
76+
```bash
77+
# macOS (Homebrew)
78+
brew install --cask opencode-desktop
79+
# Windows (Scoop)
80+
scoop bucket add extras; scoop install extras/opencode-desktop
81+
```
82+
83+
#### ইনস্টলেশন ডিরেক্টরি (Installation Directory)
84+
85+
ইনস্টল স্ক্রিপ্টটি ইনস্টলেশন পাতের জন্য নিম্নলিখিত অগ্রাধিকার ক্রম মেনে চলে:
86+
87+
1. `$OPENCODE_INSTALL_DIR` - কাস্টম ইনস্টলেশন ডিরেক্টরি
88+
2. `$XDG_BIN_DIR` - XDG বেস ডিরেক্টরি স্পেসিফিকেশন সমর্থিত পাথ
89+
3. `$HOME/bin` - সাধারণ ব্যবহারকারী বাইনারি ডিরেক্টরি (যদি বিদ্যমান থাকে বা তৈরি করা যায়)
90+
4. `$HOME/.opencode/bin` - ডিফল্ট ফলব্যাক
91+
92+
```bash
93+
# উদাহরণ
94+
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
95+
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bash
96+
```
97+
98+
### এজেন্টস (Agents)
99+
100+
OpenCode এ দুটি বিল্ট-ইন এজেন্ট রয়েছে যা আপনি `Tab` কি(key) দিয়ে পরিবর্তন করতে পারবেন।
101+
102+
- **build** - ডিফল্ট, ডেভেলপমেন্টের কাজের জন্য সম্পূর্ণ অ্যাক্সেসযুক্ত এজেন্ট
103+
- **plan** - বিশ্লেষণ এবং কোড এক্সপ্লোরেশনের জন্য রিড-ওনলি এজেন্ট
104+
- ডিফল্টভাবে ফাইল এডিট করতে দেয় না
105+
- ব্যাশ কমান্ড চালানোর আগে অনুমতি চায়
106+
- অপরিচিত কোডবেস এক্সপ্লোর করা বা পরিবর্তনের পরিকল্পনা করার জন্য আদর্শ
107+
108+
এছাড়াও জটিল অনুসন্ধান এবং মাল্টিস্টেপ টাস্কের জন্য একটি **general** সাবএজেন্ট অন্তর্ভুক্ত রয়েছে।
109+
এটি অভ্যন্তরীণভাবে ব্যবহৃত হয় এবং মেসেজে `@general` লিখে ব্যবহার করা যেতে পারে।
110+
111+
এজেন্টদের সম্পর্কে আরও জানুন: [docs](https://opencode.ai/docs/agents)
112+
113+
### ডকুমেন্টেশন (Documentation)
114+
115+
কিভাবে OpenCode কনফিগার করবেন সে সম্পর্কে আরও তথ্যের জন্য, [**আমাদের ডকস দেখুন**](https://opencode.ai/docs)
116+
117+
### অবদান (Contributing)
118+
119+
আপনি যদি OpenCode এ অবদান রাখতে চান, অনুগ্রহ করে একটি পুল রিকোয়েস্ট সাবমিট করার আগে আমাদের [কন্ট্রিবিউটিং ডকস](./CONTRIBUTING.md) পড়ে নিন।
120+
121+
### OpenCode এর উপর বিল্ডিং (Building on OpenCode)
122+
123+
আপনি যদি এমন প্রজেক্টে কাজ করেন যা OpenCode এর সাথে সম্পর্কিত এবং প্রজেক্টের নামের অংশ হিসেবে "opencode" ব্যবহার করেন, উদাহরণস্বরূপ "opencode-dashboard" বা "opencode-mobile", তবে দয়া করে আপনার README তে একটি নোট যোগ করে স্পষ্ট করুন যে এই প্রজেক্টটি OpenCode দল দ্বারা তৈরি হয়নি এবং আমাদের সাথে এর কোনো সরাসরি সম্পর্ক নেই।
124+
125+
### সচরাচর জিজ্ঞাসিত প্রশ্নাবলী (FAQ)
126+
127+
#### এটি ক্লড কোড (Claude Code) থেকে কীভাবে আলাদা?
128+
129+
ক্যাপাবিলিটির দিক থেকে এটি ক্লড কোডের (Claude Code) মতই। এখানে মূল পার্থক্যগুলো দেওয়া হলো:
130+
131+
- ১০০% ওপেন সোর্স
132+
- কোনো প্রোভাইডারের সাথে আবদ্ধ নয়। যদিও আমরা [OpenCode Zen](https://opencode.ai/zen) এর মাধ্যমে মডেলসমূহ ব্যবহারের পরামর্শ দিই, OpenCode ক্লড (Claude), ওপেনএআই (OpenAI), গুগল (Google), অথবা লোকাল মডেলগুলোর সাথেও ব্যবহার করা যেতে পারে। যেমন যেমন মডেলগুলো উন্নত হবে, তাদের মধ্যকার পার্থক্য কমে আসবে এবং দামও কমবে, তাই প্রোভাইডার-অজ্ঞাস্টিক হওয়া খুবই গুরুত্বপূর্ণ।
133+
- আউট-অফ-দ্য-বক্স LSP সাপোর্ট
134+
- TUI এর উপর ফোকাস। OpenCode নিওভিম (neovim) ব্যবহারকারী এবং [terminal.shop](https://terminal.shop) এর নির্মাতাদের দ্বারা তৈরি; আমরা টার্মিনালে কী কী সম্ভব তার সীমাবদ্ধতা ছাড়িয়ে যাওয়ার চেষ্টা করছি।
135+
- ক্লায়েন্ট/সার্ভার আর্কিটেকচার। এটি যেমন OpenCode কে আপনার কম্পিউটারে চালানোর সুযোগ দেয়, তেমনি আপনি মোবাইল অ্যাপ থেকে রিমোটলি এটি নিয়ন্ত্রণ করতে পারবেন, অর্থাৎ TUI ফ্রন্টএন্ড কেবল সম্ভাব্য ক্লায়েন্টগুলোর মধ্যে একটি।
136+
137+
---
138+
139+
**আমাদের কমিউনিটিতে যুক্ত হোন** [Discord](https://discord.gg/opencode) | [X.com](https://x.com/opencode)

README.br.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
<a href="README.br.md">Português (Brasil)</a> |
3333
<a href="README.th.md">ไทย</a> |
3434
<a href="README.tr.md">Türkçe</a> |
35-
<a href="README.uk.md">Українська</a>
35+
<a href="README.uk.md">Українська</a> |
36+
<a href="README.bn.md">বাংলা</a>
3637
</p>
3738

3839
[![OpenCode Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://opencode.ai)

README.bs.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
<a href="README.br.md">Português (Brasil)</a> |
3434
<a href="README.th.md">ไทย</a> |
3535
<a href="README.tr.md">Türkçe</a> |
36-
<a href="README.uk.md">Українська</a>
36+
<a href="README.uk.md">Українська</a> |
37+
<a href="README.bn.md">বাংলা</a>
3738
</p>
3839

3940
[![OpenCode Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://opencode.ai)

README.da.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
<a href="README.br.md">Português (Brasil)</a> |
3333
<a href="README.th.md">ไทย</a> |
3434
<a href="README.tr.md">Türkçe</a> |
35-
<a href="README.uk.md">Українська</a>
35+
<a href="README.uk.md">Українська</a> |
36+
<a href="README.bn.md">বাংলা</a>
3637
</p>
3738

3839
[![OpenCode Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://opencode.ai)

README.de.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
<a href="README.br.md">Português (Brasil)</a> |
3333
<a href="README.th.md">ไทย</a> |
3434
<a href="README.tr.md">Türkçe</a> |
35-
<a href="README.uk.md">Українська</a>
35+
<a href="README.uk.md">Українська</a> |
36+
<a href="README.bn.md">বাংলা</a>
3637
</p>
3738

3839
[![OpenCode Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://opencode.ai)

0 commit comments

Comments
 (0)