From 07cc82a42369a9588b1a735cd5333b95f333d031 Mon Sep 17 00:00:00 2001 From: Sawyer Cutler Date: Sun, 13 Sep 2026 11:01:43 -0700 Subject: [PATCH 1/3] Add bug report and feature request issue templates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit .github had a pull-request template and nothing for issues, so a new issue opened as an empty box and arrived without the version, platform, provider, or model needed to start on it. The bug report is an issue form, so version, platform, install method, reproduction, and whether it reproduces on a clean config are required rather than suggested. Provider and model are required too, answerable with "not inference" — the field only costs something when it matters. The feature request stays markdown: a form there is friction on someone doing us a favour. Blank issues stay enabled. Discussions is not turned on for this repository, so disabling them would leave anyone with a question pushed into the wrong template. Templates link to CONTRIBUTING.md rather than restating it, and route security reports to private disclosure. CL-7890 --- .github/ISSUE_TEMPLATE/bug-report.yml | 92 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 15 ++++ .github/ISSUE_TEMPLATE/feature-request.md | 23 ++++++ 3 files changed, 130 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.md diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 000000000..08be756a3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,92 @@ +name: Bug report +description: Something in Corbits Code does not work the way it should +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Before filing, please search existing issues — including closed ones. + + Never paste API keys, tokens, or the contents of `~/.corbits/settings.json`. + Redact anything that looks like a credential before you submit. + + - type: textarea + id: what-happened + attributes: + label: What happened + description: What you did, and what Corbits Code did instead. + placeholder: | + I ran `corbits exec "..."` and the session stopped after the first tool call. + validations: + required: true + + - type: textarea + id: expected + attributes: + label: What you expected instead + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: The shortest sequence that shows the problem. A fixture repo or a minimal project beats a description. + placeholder: | + 1. ... + 2. ... + 3. ... + validations: + required: true + + - type: input + id: version + attributes: + label: Version + description: Output of `corbits --version`. + validations: + required: true + + - type: input + id: platform + attributes: + label: OS and architecture + placeholder: macOS 15.2 arm64 + validations: + required: true + + - type: input + id: install-method + attributes: + label: How you installed it + placeholder: Homebrew, or built from source at + validations: + required: true + + - type: input + id: provider-model + attributes: + label: Provider and model + description: Required when the bug involves inference — a wrong answer, a hang, a protocol error, token or cost accounting. Write "not inference" if it does not. + placeholder: opencode-go, muse-spark-1.3-contributor + validations: + required: true + + - type: textarea + id: output + attributes: + label: Relevant output + description: The error and the lines around it — not a whole session transcript. This is rendered as a code block, so no backticks needed. + render: text + + - type: dropdown + id: clean-config + attributes: + label: Does it reproduce on a clean config? + description: A fresh profile, without your plugins, skills, MCP servers, or hooks. This is the single most useful thing you can tell us. + options: + - "Yes — reproduces on a clean config" + - "No — only with my config" + - "Not tried" + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..f36313563 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,15 @@ +# Blank issues stay enabled deliberately: GitHub Discussions is not turned on for +# this repository, so disabling them would leave anyone with a question — rather +# than a bug or a feature request — with nowhere to go but the wrong template. +# Turn this off if Discussions is ever enabled. +blank_issues_enabled: true +contact_links: + - name: Security vulnerability + url: https://github.com/corbitsdev/corbits-code/security/advisories/new + about: Do not report security issues publicly. Use private vulnerability reporting. + - name: Documentation + url: https://github.com/corbitsdev/corbits-code/tree/main/docs + about: Architecture, implementation, TUI behavior, plugins, MCP, hooks, and telemetry. + - name: Contributing + url: https://github.com/corbitsdev/corbits-code/blob/main/CONTRIBUTING.md + about: Commit, pull request, and issue-linking conventions. Read before opening a pull request. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 000000000..81506f08c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,23 @@ +--- +name: Feature request +about: Suggest a capability Corbits Code does not have +labels: ["feature"] +--- + +## The problem + +What are you trying to do, and what stops you? Describe the problem before the +solution — the best fix is often not the one either of us thought of first. + +## What you do today instead + +The workaround, however ugly. This tells us how much the problem costs you. + +## What you have already ruled out + +Approaches you considered and rejected, and why. Saves us proposing them back +to you. + +## Anything else + +Prior art in other tools, links, sketches. From 7357a932678eb8e4d449e78ba1e0753c2a8e98fc Mon Sep 17 00:00:00 2001 From: Sawyer Cutler Date: Sun, 13 Sep 2026 11:27:08 -0700 Subject: [PATCH 2/3] Stop requiring fields the reporter cannot always answer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Provider and model was marked required while its own description told non-inference reporters to type "not inference" to get past it. GitHub issue forms have no conditional-required, so that combination just forces boilerplate. It is optional now, with the description doing the asking. Install method comes off the required list for the same reason: it is rarely what unblocks a triager, and gating submission on it buys noise. "What happened" and the reproduction box were collecting the same paragraph twice; the first now asks only for the observed behavior. Four fields still gate submission: what happened, what was expected, reproduction, and version — plus platform and the clean-config answer. CL-7890 --- .github/ISSUE_TEMPLATE/bug-report.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 08be756a3..3603338d5 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -14,7 +14,7 @@ body: id: what-happened attributes: label: What happened - description: What you did, and what Corbits Code did instead. + description: What Corbits Code actually did. Keep the reproduction steps for the next box. placeholder: | I ran `corbits exec "..."` and the session stopped after the first tool call. validations: @@ -60,17 +60,13 @@ body: attributes: label: How you installed it placeholder: Homebrew, or built from source at - validations: - required: true - type: input id: provider-model attributes: label: Provider and model - description: Required when the bug involves inference — a wrong answer, a hang, a protocol error, token or cost accounting. Write "not inference" if it does not. + description: Fill this in if the bug involves inference at all — a wrong answer, a hang, a protocol error, token or cost accounting. Leave it blank otherwise. placeholder: opencode-go, muse-spark-1.3-contributor - validations: - required: true - type: textarea id: output From 64527c7c5d22d32350142d766b8e9b7e67a12bf2 Mon Sep 17 00:00:00 2001 From: Sawyer Cutler Date: Sun, 13 Sep 2026 11:47:28 -0700 Subject: [PATCH 3/3] Use the existing enhancement label in the feature template --- .github/ISSUE_TEMPLATE/feature-request.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 81506f08c..5b2b07ad5 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -1,7 +1,7 @@ --- name: Feature request about: Suggest a capability Corbits Code does not have -labels: ["feature"] +labels: ["enhancement"] --- ## The problem