From 8f383655b5c4df6a94542f6f99e0c9db18303a7d Mon Sep 17 00:00:00 2001 From: chengyongru <2755839590@qq.com> Date: Sat, 18 Apr 2026 23:48:05 +0800 Subject: [PATCH] feat: add issue and PR templates Add structured issue templates for bug reports and feature requests, with dropdown menus for channel, LLM provider, Python version, and OS. Redirect questions to Discussions. Add PR template with checklist. Ref: https://github.com/HKUDS/nanobot/discussions/3284 --- .github/ISSUE_TEMPLATE/bug_report.yml | 135 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/feature_request.yml | 55 +++++++++ .github/PULL_REQUEST_TEMPLATE.md | 24 ++++ 4 files changed, 219 insertions(+) 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 create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..b6172a29 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,135 @@ +name: Bug Report +description: Report a bug or unexpected behavior +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for reporting a bug! Please fill out the sections below to help us diagnose the issue. + + - type: textarea + id: description + attributes: + label: Bug Description + description: A clear description of what went wrong. + validations: + required: true + + - type: textarea + id: steps + attributes: + label: Steps to Reproduce + description: How can we reproduce this behavior? + placeholder: | + 1. Configure nanobot with ... + 2. Send message ... + 3. See error ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What did you expect to happen? + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Relevant Logs + description: | + Paste any relevant log output. You can run nanobot with `--log-level DEBUG` for more verbose logs. + **Remember to redact any sensitive information (tokens, API keys, passwords, etc.)** + render: shell + + - type: input + id: version + attributes: + label: nanobot Version + description: Run `nanobot --version` or `pip show nanobot-ai` + placeholder: e.g., 0.1.5 + validations: + required: true + + - type: dropdown + id: python_version + attributes: + label: Python Version + description: What Python version are you using? + options: + - "3.11" + - "3.12" + - "3.13" + - Other (specify below) + validations: + required: true + + - type: dropdown + id: os + attributes: + label: Operating System + options: + - Windows + - macOS + - Linux + - Docker + - Other (specify below) + validations: + required: true + + - type: dropdown + id: channel + attributes: + label: Channel / Platform + description: Which messaging platform are you using? + options: + - Weixin (Personal WeChat) + - WeCom (Enterprise WeChat) + - Feishu (Lark) + - DingTalk + - Telegram + - Discord + - Slack + - QQ + - WhatsApp + - Email + - MS Teams + - Matrix + - WebSocket + - API Server + - Other (specify below) + validations: + required: true + + - type: dropdown + id: llm_provider + attributes: + label: LLM Provider + description: Which LLM provider are you using? + options: + - OpenAI + - Anthropic (Claude) + - DeepSeek + - Google (Gemini) + - Ollama (Local) + - OpenRouter + - Azure OpenAI + - Other (specify below) + validations: + required: true + + - type: textarea + id: config + attributes: + label: Configuration (Optional) + description: | + Relevant parts of your nanobot configuration. **Remember to redact any sensitive information.** + render: yaml + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other context, screenshots, or information that might help. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..8057511b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Question / Support + url: https://github.com/HKUDS/nanobot/discussions + about: Ask questions and get help from the community in Discussions. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..0a43df33 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,55 @@ +name: Feature Request +description: Suggest a new feature or enhancement +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting a feature! Please describe your idea clearly. + + - type: textarea + id: problem + attributes: + label: Problem / Motivation + description: What problem does this feature solve? What are you trying to accomplish? + placeholder: I'm always frustrated when ... + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: How would you like this to work? + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: What other approaches have you considered? + + - type: dropdown + id: component + attributes: + label: Related Component + description: Which part of nanobot does this relate to? + options: + - Channel (WeChat, Feishu, Telegram, etc.) + - LLM Provider + - Agent / Prompts + - Skills / Plugins + - Configuration + - CLI + - API Server + - Documentation + - Other + validations: + required: true + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other context, examples from other projects, screenshots, etc. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..ac82f99d --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,24 @@ +## Summary + + + +## Related Issue + + + +## Changes + + + +- + +## Checklist + +- [ ] I have read the [Contributing Guide](../CONTRIBUTING.md) +- [ ] My changes follow the existing code style +- [ ] I have tested my changes locally +- [ ] I have updated documentation if applicable + +## Screenshots / Logs (if applicable) + +