From f97b0c0f745042a24d5f313326f0722fa0097103 Mon Sep 17 00:00:00 2001 From: Xinmin Zeng <135568692+fancyboi999@users.noreply.github.com> Date: Wed, 3 Jun 2026 16:42:07 +0800 Subject: [PATCH] feat(issue-templates): add structured bug & feature issue forms (#3359) Replace the single runtime-information form with: - config.yml: disable blank issues, route Q&A/ideas to Discussions, link security policy - bug-report.yml: reproducible bug form (folds in the old runtime/environment fields + affected-area picker) - feature-request.yml: scoped proposal form Uses only default labels (bug/enhancement) so it is self-contained. --- .github/ISSUE_TEMPLATE/bug-report.yml | 159 ++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 ++ .github/ISSUE_TEMPLATE/feature-request.yml | 67 ++++++++ .../ISSUE_TEMPLATE/runtime-information.yml | 128 -------------- 4 files changed, 237 insertions(+), 128 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature-request.yml delete mode 100644 .github/ISSUE_TEMPLATE/runtime-information.yml diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 000000000..bd15821bb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,159 @@ +name: 🐛 Bug report +description: Report something that isn't working so maintainers can reproduce and fix it. +title: "[bug] " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to file a bug. A clear, reproducible report is the + single biggest factor in how fast it gets fixed. + + Please fill in every required field — especially **reproduction steps** and **logs**. + + - type: checkboxes + id: preflight + attributes: + label: Before you start + options: + - label: I searched [existing issues](https://github.com/bytedance/deer-flow/issues?q=is%3Aissue) and this is not a duplicate. + required: true + - label: I can reproduce this on the latest `main`. + required: false + + - type: input + id: summary + attributes: + label: Problem summary + description: One sentence describing the bug. + placeholder: e.g. make dev fails to start the gateway service + validations: + required: true + + - type: dropdown + id: areas + attributes: + label: Affected area(s) + description: Which part of DeerFlow does this touch? Select all that apply. + multiple: true + options: + - Frontend (UI / Next.js) + - Backend API (gateway / endpoints / SSE) + - Agents / LangGraph (graph, prompts, langgraph.json) + - Sandbox / Docker + - Skills + - MCP + - Config / setup (make, config.yaml, env) + - Docs + - Not sure + validations: + required: true + + - type: textarea + id: actual + attributes: + label: What happened? + description: The actual behavior. Include the key error lines verbatim. + placeholder: When I do X, I expected Y but I got Z. + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + placeholder: What did you expect to happen instead? + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: Exact commands and sequence. Minimal steps that reliably reproduce the problem. + placeholder: | + 1. make check + 2. make install + 3. make dev + 4. ... + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Relevant logs + description: Paste key lines from logs (for example `logs/gateway.log`, `logs/frontend.log`). Redact secrets. + render: shell + validations: + required: true + + - type: dropdown + id: run_mode + attributes: + label: How are you running DeerFlow? + options: + - Local (make dev) + - Docker (make docker-start) + - CI + - Other + validations: + required: true + + - type: dropdown + id: os + attributes: + label: Operating system + options: + - macOS + - Linux + - Windows + - Other + validations: + required: true + + - type: input + id: platform_details + attributes: + label: Platform details + description: Architecture and shell, if relevant. + placeholder: e.g. arm64, zsh + + - type: input + id: python_version + attributes: + label: Python version + placeholder: e.g. Python 3.12.9 + + - type: input + id: node_version + attributes: + label: Node.js version + placeholder: e.g. v22.11.0 + + - type: input + id: pnpm_version + attributes: + label: pnpm version + placeholder: e.g. 10.26.2 + + - type: input + id: uv_version + attributes: + label: uv version + placeholder: e.g. 0.7.20 + + - type: textarea + id: git_info + attributes: + label: Git state + description: Output of `git branch --show-current` and the latest commit SHA. + placeholder: | + branch: feature/my-branch + commit: abcdef1 + + - type: textarea + id: additional + attributes: + label: Additional context + description: Screenshots, related issues, config snippets (redacted), or anything else that helps triage. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..f15f87fd6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: 💬 Questions & usage help + url: https://github.com/bytedance/deer-flow/discussions/categories/q-a + about: "How do I use X? Why does Y behave like that? Ask in Discussions — it gets answered faster and stays searchable." + - name: 💡 Ideas & proposals + url: https://github.com/bytedance/deer-flow/discussions/categories/ideas + about: Have a half-formed idea? Float it in Discussions before opening a formal feature request. + - name: 🔒 Report a security vulnerability + url: https://github.com/bytedance/deer-flow/security/policy + about: Do not open a public issue for security problems. Follow the security policy instead. diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 000000000..dffeb501b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,67 @@ +name: 💡 Feature request +description: Propose a new capability or an improvement to an existing one. +title: "[feat] " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for the suggestion. For non-trivial features, please open a + [Discussion](https://github.com/bytedance/deer-flow/discussions/categories/ideas) + first to align on scope before writing code. + + - type: checkboxes + id: preflight + attributes: + label: Before you start + options: + - label: I searched [existing issues](https://github.com/bytedance/deer-flow/issues?q=is%3Aissue) and this is not a duplicate. + required: true + + - type: textarea + id: problem + attributes: + label: Problem / motivation + description: What problem does this solve? What is painful today, or what does it unblock? + placeholder: "I'm always frustrated when ..." + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed solution + description: Describe the change from a user's / caller's perspective. + validations: + required: true + + - type: dropdown + id: areas + attributes: + label: Affected area(s) + description: Which part of DeerFlow would this touch? Select all that apply. + multiple: true + options: + - Frontend (UI / Next.js) + - Backend API (gateway / endpoints / SSE) + - Agents / LangGraph (graph, prompts, langgraph.json) + - Sandbox / Docker + - Skills + - MCP + - Config / setup + - Docs + - Not sure + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Other approaches you weighed and why you discarded them. + + - type: textarea + id: additional + attributes: + label: Additional context + description: Mockups, links, related issues, or anything else that helps. diff --git a/.github/ISSUE_TEMPLATE/runtime-information.yml b/.github/ISSUE_TEMPLATE/runtime-information.yml deleted file mode 100644 index eabd35240..000000000 --- a/.github/ISSUE_TEMPLATE/runtime-information.yml +++ /dev/null @@ -1,128 +0,0 @@ -name: Runtime Information -description: Report runtime/environment details to help reproduce an issue. -title: "[runtime] " -labels: - - needs-triage -body: - - type: markdown - attributes: - value: | - Thanks for sharing runtime details. - Complete this form so maintainers can quickly reproduce and diagnose the problem. - - - type: input - id: summary - attributes: - label: Problem summary - description: Short summary of the issue. - placeholder: e.g. make dev fails to start gateway service - validations: - required: true - - - type: textarea - id: expected - attributes: - label: Expected behavior - placeholder: What did you expect to happen? - validations: - required: true - - - type: textarea - id: actual - attributes: - label: Actual behavior - placeholder: What happened instead? Include key error lines. - validations: - required: true - - - type: dropdown - id: os - attributes: - label: Operating system - options: - - macOS - - Linux - - Windows - - Other - validations: - required: true - - - type: input - id: platform_details - attributes: - label: Platform details - description: Add architecture and shell if relevant. - placeholder: e.g. arm64, zsh - - - type: input - id: python_version - attributes: - label: Python version - placeholder: e.g. Python 3.12.9 - - - type: input - id: node_version - attributes: - label: Node.js version - placeholder: e.g. v23.11.0 - - - type: input - id: pnpm_version - attributes: - label: pnpm version - placeholder: e.g. 10.26.2 - - - type: input - id: uv_version - attributes: - label: uv version - placeholder: e.g. 0.7.20 - - - type: dropdown - id: run_mode - attributes: - label: How are you running DeerFlow? - options: - - Local (make dev) - - Docker (make docker-dev) - - CI - - Other - validations: - required: true - - - type: textarea - id: reproduce - attributes: - label: Reproduction steps - description: Provide exact commands and sequence. - placeholder: | - 1. make check - 2. make install - 3. make dev - 4. ... - validations: - required: true - - - type: textarea - id: logs - attributes: - label: Relevant logs - description: Paste key lines from logs (for example logs/gateway.log, logs/frontend.log). - render: shell - validations: - required: true - - - type: textarea - id: git_info - attributes: - label: Git state - description: Share output of git branch and latest commit SHA. - placeholder: | - branch: feature/my-branch - commit: abcdef1 - - - type: textarea - id: additional - attributes: - label: Additional context - description: Add anything else that might help triage.