diff --git a/.opencode/agent/triage.md b/.opencode/agent/triage.md index 6a020532f1..11517061ce 100644 --- a/.opencode/agent/triage.md +++ b/.opencode/agent/triage.md @@ -1,7 +1,7 @@ --- mode: primary hidden: true -model: opencode/gpt-5-nano +model: opencode/claude-haiku-4-5 tools: "*": false "github-triage": true @@ -10,3 +10,61 @@ tools: You are a triage agent responsible for triaging github issues. Use your github-triage tool to triage issues. + +## Labels + +#### perf + +Performance-related issues: + +- Slow performance +- High RAM usage +- High CPU usage + +**Only** add if it's likely a RAM or CPU issue. **Do not** add for LLM slowness. + +#### desktop + +Desktop app issues: + +- `opencode web` command +- The desktop app itself + +**Only** add if it's specifically about the Desktop application or `opencode web` view. **Do not** add for terminal, TUI, or general opencode issues. + +#### nix + +**Only** add if the issue explicitly mentions nix. + +#### zen + +**Only** add if the issue mentions "zen" or "opencode zen". Zen is our gateway for coding models. **Do not** add for other gateways or inference providers. + +#### docs + +Add if the issue requests better documentation or docs updates. + +#### opentui + +TUI issues potentially caused by our underlying TUI library: + +- Keybindings not working +- Scroll speed issues (too fast/slow/laggy) +- Screen flickering +- Crashes with opentui in the log + +**Do not** add for general TUI bugs. + + +When assigning to people here are the following rules: + +adamdotdev: +ONLY assign adam if the issue will have the "desktop" label. + +fwang: +ONLY assign fwang if the issue will have the "zen" label. + +jayair: +ONLY assign jayair if the issue will have the "docs" label. + +In all other cases use best judgment. Avoid assigning to kommander needlessly, when in doubt assign to rekram1-node. diff --git a/.opencode/bun.lock b/.opencode/bun.lock index f152a1646f..e2b8a4eebd 100644 --- a/.opencode/bun.lock +++ b/.opencode/bun.lock @@ -5,7 +5,7 @@ "": { "dependencies": { "@octokit/rest": "^22.0.1", - "@opencode-ai/plugin": "0.0.0-dev-202512160508", + "@opencode-ai/plugin": "0.0.0-dev-202512161535", }, }, }, @@ -34,9 +34,9 @@ "@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - "@opencode-ai/plugin": ["@opencode-ai/plugin@0.0.0-dev-202512160508", "", { "dependencies": { "@opencode-ai/sdk": "0.0.0-dev-202512160508", "zod": "4.1.8" } }, "sha512-GLnvMQhEWRHG9E84FyyQKPKi54bGUkytXPfZYjwNy9W6djw8zAW/kpeYPrdIJHPdTHk4OjIHEwoB1SXZzGaLFQ=="], + "@opencode-ai/plugin": ["@opencode-ai/plugin@0.0.0-dev-202512161535", "", { "dependencies": { "@opencode-ai/sdk": "0.0.0-dev-202512161535", "zod": "4.1.8" } }, "sha512-aHPm0T9EtKUYs5mTZKpYwcDTk3jP/YMSZGPfCAwruKitnktRFu0TxJQdEJwDfUokI4f1nkoGDkBgsbHw+pBHsA=="], - "@opencode-ai/sdk": ["@opencode-ai/sdk@0.0.0-dev-202512160508", "", {}, "sha512-ICpZ1bX528yQKqYGGyUJQMu3RY0F1pQ6RCoTJ4ESLiYmcXUY1EldgIidiwPA+A/zpEXLu2lPwPZ1LYn/bX6aFA=="], + "@opencode-ai/sdk": ["@opencode-ai/sdk@0.0.0-dev-202512161535", "", {}, "sha512-koVbuyuhNnEWMJtkIxSTcg8HQ34c4ShvBHv4dwebvVB2+ftjN/wcqPDx4RAwaxyFaY050qf1qobHHMXWWzDRwQ=="], "before-after-hook": ["before-after-hook@4.0.0", "", {}, "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="], diff --git a/.opencode/package.json b/.opencode/package.json index 88fd8e8911..685332a7e0 100644 --- a/.opencode/package.json +++ b/.opencode/package.json @@ -1,6 +1,6 @@ { "dependencies": { "@octokit/rest": "^22.0.1", - "@opencode-ai/plugin": "0.0.0-dev-202512160508" + "@opencode-ai/plugin": "0.0.0-dev-202512161535" } } diff --git a/.opencode/tool/github-triage.ts b/.opencode/tool/github-triage.ts index f0437e6232..30905a9381 100644 --- a/.opencode/tool/github-triage.ts +++ b/.opencode/tool/github-triage.ts @@ -1,3 +1,4 @@ +/// import { Octokit } from "@octokit/rest" import { tool } from "@opencode-ai/plugin" import DESCRIPTION from "./github-triage.txt" @@ -16,9 +17,9 @@ export default tool({ .describe("The username of the assignee") .default("rekram1-node"), labels: tool.schema - .array(tool.schema.enum(["nix", "opentui", "perf", "web", "zen", "docs"])) + .array(tool.schema.enum(["nix", "opentui", "perf", "desktop", "zen", "docs"])) .describe("The labels(s) to add to the issue") - .optional(), + .default([]), }, async execute(args) { const issue = getIssueNumber() @@ -28,6 +29,18 @@ export default tool({ const results: string[] = [] + if (args.assignee === "adamdotdevin" && !args.labels.includes("desktop")) { + throw new Error("Only desktop issues should be assigned to adamdotdevin") + } + + if (args.assignee === "fwang" && !args.labels.includes("zen")) { + throw new Error("Only zen issues should be assigned to fwang") + } + + if (args.assignee === "kommander" && !args.labels.includes("opentui")) { + throw new Error("Only opentui issues should be assigned to kommander") + } + await octokit.rest.issues.addAssignees({ owner, repo, @@ -36,12 +49,14 @@ export default tool({ }) results.push(`Assigned @${args.assignee} to issue #${issue}`) - if (args.labels && args.labels.length > 0) { + const labels: string[] = args.labels.map((label) => (label === "desktop" ? "web" : label)) + + if (labels.length > 0) { await octokit.rest.issues.addLabels({ owner, repo, issue_number: issue, - labels: args.labels, + labels, }) results.push(`Added labels: ${args.labels.join(", ")}`) } diff --git a/.opencode/tool/github-triage.txt b/.opencode/tool/github-triage.txt index 14844a19f7..0aa7670e65 100644 --- a/.opencode/tool/github-triage.txt +++ b/.opencode/tool/github-triage.txt @@ -50,9 +50,13 @@ Then assign the issue to Him. ### rekram1-node +ALL BUGS SHOULD BE assigned to rekram1-node unless they have the `opentui` label. + Assign Aiden to an issue as a catch all, if you can't assign anyone else. Most of the time this will be bugs/polish things. If no one else makes sense to assign, assign rekram1-node to it. +Always assign to aiden if the issue mentions "acp", "zed", or model performance issues + ## Breakdown of Labels: ### nix @@ -67,9 +71,9 @@ Anything relating to the TUI itself should have an opentui label Anything related to slow performance, high ram, high cpu usage, or any other performance related issue should have a perf label -### web +### desktop -Anything related to `opencode web` or the desktop app should have a web label. Never add this label for anything terminal/tui related +Anything related to `opencode web` command or the desktop app should have a desktop label. Never add this label for anything terminal/tui related ### zen