From c006385a8ec755409765be014a1c357bbd89dec4 Mon Sep 17 00:00:00 2001 From: Kush Date: Fri, 14 Aug 2026 10:35:53 -0400 Subject: [PATCH] chore: add GitHub issue forms and contact links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The repo is public with issues enabled and no templates, so bug reports arrive without a version, a reproducible command, or an exit code, and support questions about accounts and provisioning land here instead of with support. Three YAML forms make the required fields required. The bug form asks for account type because Build accounts are voice-only and fail messaging, number ordering, 10DLC, and toll-free commands with exit code 4 by design — that's the most likely false bug report. The command-request form encodes the rule CONTRIBUTING already states: discuss a new command before writing it. config.yml disables blank issues and points account, billing, outage, and vulnerability traffic at support, dev docs, the status page, and the bug bounty program. --- .github/ISSUE_TEMPLATE/bug_report.yml | 122 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/command_request.yml | 60 ++++++++++ .github/ISSUE_TEMPLATE/config.yml | 14 +++ .github/ISSUE_TEMPLATE/docs_issue.yml | 43 ++++++++ 4 files changed, 239 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/command_request.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/docs_issue.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..4cce20d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,122 @@ +name: Bug report +description: Something in band isn't working the way it should +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + **Before you paste anything:** redact credentials, client secrets, account IDs, and customer phone numbers. Issues here are public. + + Found a security vulnerability? Don't open an issue — follow [SECURITY.md](https://github.com/Bandwidth/cli/blob/main/SECURITY.md) instead. + + - type: input + id: version + attributes: + label: band version + description: Output of `band version` + placeholder: band version 1.4.2 + validations: + required: true + + - type: dropdown + id: command-group + attributes: + label: Command group + description: Which command group is affected? + options: + - account + - app + - auth + - bxml + - call + - location + - message + - number + - portin + - quickstart + - recording + - shortcode + - sip + - site + - tendlc + - tfv + - tnoption + - transcription + - vcp + - Not sure / affects everything + validations: + required: true + + - type: dropdown + id: install-method + attributes: + label: How did you install band? + options: + - Homebrew + - go install + - Downloaded binary from Releases + - Docker + - Built from source + validations: + required: true + + - type: dropdown + id: os + attributes: + label: Operating system + options: + - macOS + - Linux + - Windows + - Other + validations: + required: true + + - type: dropdown + id: account-type + attributes: + label: Account type + description: Build accounts are voice-only. Messaging, number ordering, sub-accounts, VCPs, 10DLC, and toll-free verification fail with exit code 4 on Build — that's expected, not a bug. + options: + - Full Bandwidth account + - Build (voice-only trial) + - Not sure + validations: + required: true + + - type: textarea + id: command + attributes: + label: Command you ran + description: The exact command, with secrets and customer numbers redacted. + render: shell + validations: + required: true + + - type: textarea + id: expected + attributes: + label: What you expected to happen + validations: + required: true + + - type: textarea + id: actual + attributes: + label: What actually happened + description: Full output, plus the exit code from `echo $?`. + render: text + validations: + required: true + + - type: checkboxes + id: checks + attributes: + label: Before submitting + options: + - label: I removed credentials, account IDs, and customer phone numbers from everything above + required: true + - label: I searched existing issues for this problem + required: true + - label: I'm on the latest released version, or I've explained why I can't upgrade + required: true diff --git a/.github/ISSUE_TEMPLATE/command_request.yml b/.github/ISSUE_TEMPLATE/command_request.yml new file mode 100644 index 0000000..f37c51c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/command_request.yml @@ -0,0 +1,60 @@ +name: New command or flag +description: Propose a new command, or a new flag on an existing one +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + [CONTRIBUTING.md](https://github.com/Bandwidth/cli/blob/main/CONTRIBUTING.md) asks you to open an issue before writing code for a new command. This is that issue — let's agree on the design before you spend hours on a PR. + + - type: textarea + id: use-case + attributes: + label: What are you trying to accomplish? + description: Describe the task, not the command. What's the workflow that's painful or impossible today? + validations: + required: true + + - type: input + id: api + attributes: + label: Which Bandwidth API backs this? + description: Link the relevant page on dev.bandwidth.com, or name the endpoint. + placeholder: https://dev.bandwidth.com/docs/... + validations: + required: true + + - type: textarea + id: shape + attributes: + label: Proposed command shape + description: Sketch it out. Doesn't have to be final — it's a starting point for discussion. + render: shell + placeholder: band number search --area-code 919 --quantity 5 + validations: + required: true + + - type: textarea + id: existing + attributes: + label: Does an existing command almost do this? + description: If something gets you 80% of the way there, say what it is and where it falls short. A new flag beats a new command. + validations: + required: true + + - type: textarea + id: agent-native + attributes: + label: Agent-native considerations + description: This CLI is built for scripts and agents as much as humans. Does this need `--wait` for an async operation, `--if-not-exists` for safe retries, or a particular `--plain` output shape? See [AGENTS.md](https://github.com/Bandwidth/cli/blob/main/AGENTS.md). + + - type: dropdown + id: pr + attributes: + label: Would you open a PR for this? + options: + - Yes, once we agree on the design + - Yes, but I'd need some guidance + - "No, I'm just requesting it" + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..f70a0e1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: Bandwidth support + url: https://support.bandwidth.com/ + about: Account, billing, provisioning, or API problems that aren't caused by the CLI itself. + - name: API reference and guides + url: https://dev.bandwidth.com/ + about: Documentation for the Bandwidth APIs the CLI talks to. + - name: Service status + url: https://status.bandwidth.com/ + about: Check for an ongoing incident before filing a bug about failing requests. + - name: Report a security vulnerability + url: https://www.bandwidth.com/security/report-a-vulnerability/ + about: Never report vulnerabilities in a public issue — use the bug bounty program or email security@bandwidth.com. diff --git a/.github/ISSUE_TEMPLATE/docs_issue.yml b/.github/ISSUE_TEMPLATE/docs_issue.yml new file mode 100644 index 0000000..976edf4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/docs_issue.yml @@ -0,0 +1,43 @@ +name: Documentation problem +description: Something's wrong, missing, or confusing in the docs +labels: ["documentation"] +body: + - type: markdown + attributes: + value: | + Fixing a typo or tightening a sentence? Skip this form and open a PR — [CONTRIBUTING.md](https://github.com/Bandwidth/cli/blob/main/CONTRIBUTING.md) says ship it. Use this form when the fix isn't obvious or you'd rather someone else write it. + + - type: dropdown + id: surface + attributes: + label: Where is it? + options: + - README.md + - AGENTS.md + - CONTRIBUTING.md + - Command help output (`band ... --help`) + - dev.bandwidth.com + - Somewhere else + validations: + required: true + + - type: input + id: location + attributes: + label: Specific section or command + description: A heading, a line link, or the command whose help text is off. + placeholder: "README.md → \"Credential profiles\"" + + - type: textarea + id: problem + attributes: + label: What's wrong? + description: Wrong, out of date, missing, or just hard to follow — tell us which, and what you expected to find. + validations: + required: true + + - type: textarea + id: suggestion + attributes: + label: Suggested wording + description: Optional, but the fastest path to a fix.