en un clic
issue-triage
// Triage a Deno GitHub issue — reproduce bugs, classify, label, and comment with findings. Use when asked to triage an issue or when an issue number/URL is provided for triage.
// Triage a Deno GitHub issue — reproduce bugs, classify, label, and comment with findings. Use when asked to triage an issue or when an issue number/URL is provided for triage.
| name | issue-triage |
| description | Triage a Deno GitHub issue — reproduce bugs, classify, label, and comment with findings. Use when asked to triage an issue or when an issue number/URL is provided for triage. |
| argument-hint | <issue-number-or-url> |
| allowed-tools | Bash(gh *) Bash(deno *) Bash(git *) Bash(mktemp *) Bash(rm *) Bash(cat *) Read Write Glob Grep Agent |
Triage issue $ARGUMENTS on the denoland/deno repository.
gh issue view $ARGUMENTS --repo denoland/deno --json number,title,body,author,labels,state,comments,createdAt,url
Determine what kind of issue this is:
gh issue list --search "keywords" --state all)If the issue is clearly a question, duplicate, or invalid, skip reproduction and go straight to Step 5.
A valid bug report needs:
deno --version output)If any of these are missing, label as needs info and comment asking the author
to provide the missing details. Do not attempt reproduction without a clear
repro case.
Only attempt reproduction for bug reports that have a clear repro case.
Prefer running reproductions inside a Docker container for isolation. Fall back to a local temp directory only if Docker is unavailable.
Docker (preferred):
# Run repro with latest canary
docker run --rm -v "$REPRO_DIR":/repro -w /repro denoland/deno:canary deno run repro.ts
# Run repro with a specific version (e.g., 2.1.4)
docker run --rm -v "$REPRO_DIR":/repro -w /repro denoland/deno:2.1.4 deno run repro.ts
Use docker run --rm so containers are cleaned up automatically. Mount the
repro files via -v.
Local fallback (if Docker is not available):
REPRO_DIR=$(mktemp -d)
deno run "$REPRO_DIR/repro.ts"
Try to reproduce with both:
Use the appropriate Docker image tag for each version (e.g.,
denoland/deno:2.1.4, denoland/deno:canary).
If the issue specifies a particular Deno version and the bug does NOT reproduce on canary, note that it may already be fixed. Check git log for relevant fixes.
deno subcommand and flagsIf the reproduction involves specific npm packages, deno.json config, or
multi-file setups, recreate the full environment as described.
rm -rf "$REPRO_DIR"
Note:
Add labels based on your classification. Keep it minimal — usually a single area label is sufficient. Do not over-label.
| Label | When to use |
|---|---|
bug | Confirmed bug — always add for verified bug reports |
feat | Accepted new feature |
suggestion | Feature request not yet accepted |
question | Usage question |
duplicate | Duplicate of another issue |
invalid | Not actionable |
panic | Deno panics/crashes |
regression | Something that used to work but is now broken |
| Label | Area |
|---|---|
node compat | General Node.js compatibility |
node API | Specific node:* module APIs |
ext/node, ext/fs, ext/net, ext/http, ext/fetch, ext/web, ext/crypto, ext/console, ext/url, ext/websocket, ext/kv | Specific extension |
cli | CLI behavior, flags, subcommands |
lsp | Language server |
runtime | Runtime crate |
permissions | Permission system |
compile | deno compile |
testing | deno test and coverage |
task runner | deno task |
install | deno install / deno add |
tsc | TypeScript compiler |
types | TypeScript type issues |
config | deno.json configuration |
node resolution | Node/npm module resolution |
publish | deno publish |
lint | deno lint |
wasm | WebAssembly |
| Label | When to use |
|---|---|
high priority | Severe impact, blocks users, security issue |
quick fix | Obviously simple fix |
gh issue edit $ARGUMENTS --repo denoland/deno --add-label "bug"
Remove the needs triage or triage required 👀 label if present:
gh issue edit $ARGUMENTS --repo denoland/deno --remove-label "needs triage" --remove-label "triage required 👀"
Post a triage comment with your findings. Structure:
For confirmed bugs:
Confirmed on [version]. [Brief description of what you observed.]
[If tested on canary: "Also reproduces on canary." or "Does not reproduce on canary — may already be fixed."]
For needs info:
Thanks for reporting. Could you provide [missing info]? This will help us investigate.
For duplicates:
This looks like a duplicate of #XXXX. Closing in favor of that issue.
For questions:
This is a usage question rather than a bug. [Brief answer or pointer to docs.] Closing this — feel free to ask on https://discord.gg/deno if you have more questions.
gh issue comment $ARGUMENTS --repo denoland/deno --body "comment text"
Close the issue if it's a duplicate, question, or invalid:
gh issue close $ARGUMENTS --repo denoland/deno --reason "not planned"
Run a Node.js compatibility test, diagnose failures, and either fix the implementation, skip, or ignore the test. Use when asked to work on node compat tests.
Format all code in the repository. Run before opening a PR or committing changes.
Lint all code (Rust + JS/TS). Use before opening a PR when Rust code was changed.
Lint JS/TS code only. Use before opening a PR when only JavaScript or TypeScript files were changed (no Rust).
Review a Deno runtime pull request for correctness, tests, security, and conventions. Use when asked to review a PR or when a PR number/URL is provided for review.