Skip to content

Commit 59329a4

Browse files
committed
ci: tweak triage
1 parent 452c991 commit 59329a4

5 files changed

Lines changed: 88 additions & 11 deletions

File tree

.opencode/agent/triage.md

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
mode: primary
33
hidden: true
4-
model: opencode/gpt-5-nano
4+
model: opencode/claude-haiku-4-5
55
tools:
66
"*": false
77
"github-triage": true
@@ -10,3 +10,61 @@ tools:
1010
You are a triage agent responsible for triaging github issues.
1111

1212
Use your github-triage tool to triage issues.
13+
14+
## Labels
15+
16+
#### perf
17+
18+
Performance-related issues:
19+
20+
- Slow performance
21+
- High RAM usage
22+
- High CPU usage
23+
24+
**Only** add if it's likely a RAM or CPU issue. **Do not** add for LLM slowness.
25+
26+
#### desktop
27+
28+
Desktop app issues:
29+
30+
- `opencode web` command
31+
- The desktop app itself
32+
33+
**Only** add if it's specifically about the Desktop application or `opencode web` view. **Do not** add for terminal, TUI, or general opencode issues.
34+
35+
#### nix
36+
37+
**Only** add if the issue explicitly mentions nix.
38+
39+
#### zen
40+
41+
**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.
42+
43+
#### docs
44+
45+
Add if the issue requests better documentation or docs updates.
46+
47+
#### opentui
48+
49+
TUI issues potentially caused by our underlying TUI library:
50+
51+
- Keybindings not working
52+
- Scroll speed issues (too fast/slow/laggy)
53+
- Screen flickering
54+
- Crashes with opentui in the log
55+
56+
**Do not** add for general TUI bugs.
57+
58+
59+
When assigning to people here are the following rules:
60+
61+
adamdotdev:
62+
ONLY assign adam if the issue will have the "desktop" label.
63+
64+
fwang:
65+
ONLY assign fwang if the issue will have the "zen" label.
66+
67+
jayair:
68+
ONLY assign jayair if the issue will have the "docs" label.
69+
70+
In all other cases use best judgment. Avoid assigning to kommander needlessly, when in doubt assign to rekram1-node.

.opencode/bun.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.opencode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
33
"@octokit/rest": "^22.0.1",
4-
"@opencode-ai/plugin": "0.0.0-dev-202512160508"
4+
"@opencode-ai/plugin": "0.0.0-dev-202512161535"
55
}
66
}

.opencode/tool/github-triage.ts

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/// <reference path="../env.d.ts" />
12
import { Octokit } from "@octokit/rest"
23
import { tool } from "@opencode-ai/plugin"
34
import DESCRIPTION from "./github-triage.txt"
@@ -16,9 +17,9 @@ export default tool({
1617
.describe("The username of the assignee")
1718
.default("rekram1-node"),
1819
labels: tool.schema
19-
.array(tool.schema.enum(["nix", "opentui", "perf", "web", "zen", "docs"]))
20+
.array(tool.schema.enum(["nix", "opentui", "perf", "desktop", "zen", "docs"]))
2021
.describe("The labels(s) to add to the issue")
21-
.optional(),
22+
.default([]),
2223
},
2324
async execute(args) {
2425
const issue = getIssueNumber()
@@ -28,6 +29,18 @@ export default tool({
2829

2930
const results: string[] = []
3031

32+
if (args.assignee === "adamdotdevin" && !args.labels.includes("desktop")) {
33+
throw new Error("Only desktop issues should be assigned to adamdotdevin")
34+
}
35+
36+
if (args.assignee === "fwang" && !args.labels.includes("zen")) {
37+
throw new Error("Only zen issues should be assigned to fwang")
38+
}
39+
40+
if (args.assignee === "kommander" && !args.labels.includes("opentui")) {
41+
throw new Error("Only opentui issues should be assigned to kommander")
42+
}
43+
3144
await octokit.rest.issues.addAssignees({
3245
owner,
3346
repo,
@@ -36,12 +49,14 @@ export default tool({
3649
})
3750
results.push(`Assigned @${args.assignee} to issue #${issue}`)
3851

39-
if (args.labels && args.labels.length > 0) {
52+
const labels: string[] = args.labels.map((label) => (label === "desktop" ? "web" : label))
53+
54+
if (labels.length > 0) {
4055
await octokit.rest.issues.addLabels({
4156
owner,
4257
repo,
4358
issue_number: issue,
44-
labels: args.labels,
59+
labels,
4560
})
4661
results.push(`Added labels: ${args.labels.join(", ")}`)
4762
}

.opencode/tool/github-triage.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,13 @@ Then assign the issue to Him.
5050

5151
### rekram1-node
5252

53+
ALL BUGS SHOULD BE assigned to rekram1-node unless they have the `opentui` label.
54+
5355
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.
5456
If no one else makes sense to assign, assign rekram1-node to it.
5557

58+
Always assign to aiden if the issue mentions "acp", "zed", or model performance issues
59+
5660
## Breakdown of Labels:
5761

5862
### nix
@@ -67,9 +71,9 @@ Anything relating to the TUI itself should have an opentui label
6771

6872
Anything related to slow performance, high ram, high cpu usage, or any other performance related issue should have a perf label
6973

70-
### web
74+
### desktop
7175

72-
Anything related to `opencode web` or the desktop app should have a web label. Never add this label for anything terminal/tui related
76+
Anything related to `opencode web` command or the desktop app should have a desktop label. Never add this label for anything terminal/tui related
7377

7478
### zen
7579

0 commit comments

Comments
 (0)