From 87e0c7af6965fc37dfb489cdc12dbacebbcdbd96 Mon Sep 17 00:00:00 2001 From: Jiayuan Zhang Date: Sun, 12 Apr 2026 13:25:02 +0800 Subject: [PATCH] chore: add issue templates and improve PR template Add GitHub issue templates (bug report, feature request) using YAML forms, referencing hermes-agent's template structure. Update the PR template with clearer sections for changes made, related issues, and a more comprehensive checklist. --- .github/ISSUE_TEMPLATE/bug_report.yml | 122 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/feature_request.yml | 71 ++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 42 ++++--- 4 files changed, 221 insertions(+), 15 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 diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..e4cd2c89c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,122 @@ +name: "Bug Report" +description: Report a bug — something that's broken, crashes, or behaves incorrectly. +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for reporting a bug! Please fill out the sections below so we can reproduce and fix it quickly. + + **Before submitting**, please: + - Search [existing issues](https://github.com/multica-ai/multica/issues) to avoid duplicates + - Pull the latest `main` and confirm the bug still exists + + - type: textarea + id: description + attributes: + label: Bug Description + description: A clear description of what's broken. Include error messages, tracebacks, or screenshots if relevant. + placeholder: | + What happened? What did you expect to happen instead? + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to Reproduce + description: Minimal steps to trigger the bug. The more specific, the faster we can fix it. + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. See error: ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What should have happened instead? + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? Include full error output if available. + validations: + required: true + + - type: dropdown + id: component + attributes: + label: Affected Component + description: Which part of Multica is affected? + multiple: true + options: + - Web App (Next.js frontend) + - Desktop App (Electron) + - Go Backend (API server) + - CLI (multica command) + - Agent Runtime (local daemon / cloud) + - Shared Packages (core, ui, views) + - Database / Migrations + - CI / Infrastructure + - Other + validations: + required: true + + - type: input + id: os + attributes: + label: Operating System + description: e.g. Ubuntu 24.04, macOS 15.2, Windows 11 + placeholder: macOS 15.2 + validations: + required: true + + - type: input + id: node-version + attributes: + label: Node.js Version + description: Output of `node --version` + placeholder: "22.x" + + - type: input + id: go-version + attributes: + label: Go Version + description: Output of `go version` (if backend-related) + placeholder: "1.26.1" + + - type: input + id: browser + attributes: + label: Browser (if frontend-related) + description: e.g. Chrome 130, Safari 18, Firefox 133 + placeholder: Chrome 130 + + - type: textarea + id: logs + attributes: + label: Relevant Logs / Traceback + description: Paste any error output, traceback, or log messages. This will be auto-formatted as code. + render: shell + + - type: textarea + id: root-cause + attributes: + label: Root Cause Analysis (optional) + description: | + If you've dug into the code and identified the root cause, share it here. + Include file paths, line numbers, and code snippets if possible. + + - type: checkboxes + id: pr-ready + attributes: + label: Are you willing to submit a PR for this? + options: + - label: I'd like to fix this myself and submit a PR diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..0086358db --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..fa26f7868 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,71 @@ +name: "Feature Request" +description: Suggest a new feature or improvement. +title: "[Feature]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for the suggestion! Before submitting, please: + + - Search [existing issues](https://github.com/multica-ai/multica/issues) — someone may have already proposed this. + + - type: textarea + id: problem + attributes: + label: Problem or Use Case + description: What problem does this solve? What are you trying to do that you can't today? + placeholder: | + I'm trying to use Multica for [workflow/task] but currently + there's no way to... + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: How do you think this should work? Be as specific as you can — API endpoints, UI behavior, CLI flags. + placeholder: | + Add a new endpoint/page/command that enables... + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: What other approaches did you consider? Why is the proposed solution better? + + - type: dropdown + id: type + attributes: + label: Feature Type + options: + - Web App feature + - Desktop App feature + - API / Backend feature + - CLI improvement + - Agent capability + - Performance / reliability + - Developer experience (tests, docs, CI) + - Other + validations: + required: true + + - type: dropdown + id: scope + attributes: + label: Scope + description: How big is this change? + options: + - Small (single file, < 50 lines) + - Medium (few files, < 300 lines) + - Large (new module or significant refactor) + + - type: checkboxes + id: pr-ready + attributes: + label: Contribution + options: + - label: I'd like to implement this myself and submit a PR diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d89681790..91692a196 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,34 +1,46 @@ -## What +## What does this PR do? - + -## Why - -Closes # +## Related Issue + + + +Closes # ## Type of Change -- [ ] Bug fix -- [ ] New feature -- [ ] Refactor / code improvement -- [ ] Documentation +- [ ] Bug fix (non-breaking change that fixes an issue) +- [ ] New feature (non-breaking change that adds functionality) +- [ ] Refactor / code improvement (no behavior change) +- [ ] Documentation update +- [ ] Tests (adding or improving test coverage) - [ ] CI / infrastructure -- [ ] Other (describe below) + +## Changes Made + + + +- ## How to Test - + + +1. +2. +3. ## Checklist +- [ ] I searched for [existing PRs](https://github.com/multica-ai/multica/pulls) to make sure this isn't a duplicate +- [ ] My commit messages follow [Conventional Commits](https://www.conventionalcommits.org/) (`fix(scope):`, `feat(scope):`, etc.) - [ ] `make check` passes (typecheck, unit tests, Go tests, E2E) - [ ] Changes follow existing code patterns and conventions - [ ] No unrelated changes included -## AI Disclosure (optional) +## Screenshots (optional) - - - +