Improve triage agent definition (#1498)
This commit is contained in:
+79
-11
@@ -20,21 +20,89 @@ Only use labels that already exist in this repository. Do not create labels.
|
||||
|
||||
## Triage Rules
|
||||
|
||||
Classify the issue by the strongest matching area:
|
||||
### Step 1: Type label (pick the strongest match)
|
||||
|
||||
- UI: shared React UI, chat, settings, terminal UI, theme, typography, layout, and user-facing behavior.
|
||||
- Web: web server, HTTP/SSE APIs, OpenCode server integration, filesystem routes, Git/GitHub/quota/notification/terminal/TTS/skills modules.
|
||||
- Electron: desktop shell, native menus, dialogs, notifications, updater, deep links, quit behavior, and Electron packaging.
|
||||
- VS Code: extension host, webview, bridge/runtime behavior, and VS Code packaging.
|
||||
- Release: GitHub Actions, release builds, auto-update, installers, signing, publishing, and packaging pipelines.
|
||||
- Docs: documentation, README, changelog, guides, and unclear instructions.
|
||||
- Question or support: user needs help, setup guidance, or clarification rather than a code change.
|
||||
| Label | When to apply |
|
||||
|---|---|
|
||||
| `bug` | Something is broken or not working as expected |
|
||||
| `enhancement` | New feature request or improvement suggestion |
|
||||
| `documentation` | README, guides, changelog, or unclear docs |
|
||||
| `question` | User needs help, setup guidance, or clarification (not a code change) |
|
||||
|
||||
### Step 2: Area label (pick the strongest match, use `area:*` labels)
|
||||
|
||||
| Label | Covers |
|
||||
|---|---|
|
||||
| `area:chat-ui` | Chat messages, rendering, markdown, bubbles |
|
||||
| `area:chat-input` | Chat input box, IME, message composing |
|
||||
| `area:sessions` | Session lifecycle, list, status, history |
|
||||
| `area:settings` | Settings UI, config, preferences |
|
||||
| `area:agents` | Agents, subagents, multi-run, agent manager |
|
||||
| `area:providers` | Model providers, API keys, model selection |
|
||||
| `area:git` | Git operations, worktrees, branches, diffs, commits |
|
||||
| `area:sidebar` | Sidebar, session list, folders, project list |
|
||||
| `area:remote` | Remote instances, SSH, VPS, tunnels |
|
||||
| `area:terminal` | Integrated terminal, PTY, xterm |
|
||||
| `area:vscode` | VS Code extension, webview, extension host |
|
||||
| `area:notifications` | Push/mobile/web notifications |
|
||||
| `area:streaming` | SSE streaming, spinner, real-time updates |
|
||||
| `area:sync` | State sync, cross-runtime consistency |
|
||||
| `area:auth` | Authentication, passwords, OAuth, tunnels |
|
||||
| `area:installation` | Install, Docker, Nix, deployment |
|
||||
| `area:desktop` | Desktop shell (Electron/Tauri), window management |
|
||||
| `area:keyboard` | Keyboard shortcuts, keybinds, input handling |
|
||||
| `area:permissions` | Permission prompts, allow/deny flows |
|
||||
| `area:compact` | Context compaction, /compact command |
|
||||
| `area:i18n` | Internationalization, translations, locale |
|
||||
| `area:queue` | Message queuing, queued messages |
|
||||
| `area:files` | File viewer, file picker, file tree |
|
||||
| `area:scheduled-tasks` | Scheduled/recurring tasks |
|
||||
|
||||
### Step 3: Platform label (if clearly platform-specific)
|
||||
|
||||
| Label | Covers |
|
||||
|---|---|
|
||||
| `platform:web` | Desktop web browser (incl. CLI serve) |
|
||||
| `platform:macos` | macOS desktop (Electron/Tauri) |
|
||||
| `platform:linux` | Linux desktop |
|
||||
| `platform:windows` | Windows desktop / WSL |
|
||||
| `platform:mobile` | Mobile web/PWA (iOS/Android) |
|
||||
| `platform:vscode` | VS Code extension |
|
||||
|
||||
### Step 4: Provider label (if clearly provider-specific)
|
||||
|
||||
| Label | Covers |
|
||||
|---|---|
|
||||
| `api:anthropic` | Anthropic/Claude provider |
|
||||
| `api:openai` | OpenAI provider |
|
||||
| `api:openrouter` | OpenRouter provider |
|
||||
| `api:copilot` | GitHub Copilot provider |
|
||||
| `api:google` | Google/Gemini provider |
|
||||
|
||||
### Step 5: Priority and quality labels (apply when evidence supports it)
|
||||
|
||||
| Label | When to apply |
|
||||
|---|---|
|
||||
| `priority:high` | Blocks core workflows, data loss, or many users |
|
||||
| `priority:medium` | Significant UX issue or common feature gap |
|
||||
| `priority:low` | Minor UX polish, niche feature request |
|
||||
| `data-loss` | Risk of losing user data or overwriting files |
|
||||
| `regression` | Bug that worked in a previous release |
|
||||
| `has-repro` | Confirmed reproducible with clear steps |
|
||||
| `needs-repro` | No clear reproduction steps provided |
|
||||
| `needs-info` | Needs more info from reporter to reproduce |
|
||||
|
||||
### General guidelines
|
||||
|
||||
- Apply at most 1 type label, 1-2 area labels, 1 platform label, and 1 provider label.
|
||||
- Only add priority/quality labels when the issue clearly warrants them.
|
||||
- Do not add labels speculatively; skip any category where the match is ambiguous.
|
||||
|
||||
## Output
|
||||
|
||||
For each issue:
|
||||
|
||||
- Add a small set of accurate existing labels when appropriate.
|
||||
- Leave one helpful comment with a short summary, likely affected area, and any missing information needed from the reporter.
|
||||
- Add a small set of accurate existing labels following the steps above.
|
||||
- In a single comment summarize the issue and ask the reporter for any additional information needed to complete the request.
|
||||
- Keep the comment friendly and concise.
|
||||
- If there is not enough information, ask for the smallest useful reproduction details.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user