Summary
The repo currently has a single, narrowly-scoped issue template — .github/ISSUE_TEMPLATE/desktop-crash.yml — and nothing else. There is no general bug report template, no feature request template, and no pull request template. As a result:
- Every non-desktop-crash issue opens as a blank text box, so reporters routinely omit the details maintainers need to reproduce (version, OS, source type, steps). The existing desktop-crash template proves the team values structured intake — that structure just doesn't extend to the general case.
- PRs arrive with no checklist, so it's easy for contributors to miss the things this repo specifically requires:
bun run format / lint / typecheck, CI passing, and (for anything touching tool sources/auth) e2e consideration.
What exists today
| File |
Present? |
.github/ISSUE_TEMPLATE/desktop-crash.yml |
✅ (desktop crash only) |
.github/ISSUE_TEMPLATE/bug_report.yml |
❌ |
.github/ISSUE_TEMPLATE/feature_request.yml |
❌ |
.github/PULL_REQUEST_TEMPLATE.md |
❌ |
Proposal
Add three files, matching the conventions of the existing desktop-crash.yml (form-based YAML issue templates, version + OS fields, secret-handling warnings):
-
bug_report.yml — general bug intake. Captures version, OS, the source/integration involved (OpenAPI / MCP / GraphQL / Google Discovery / plugin), reproduction steps, expected vs. actual, and logs. Reuses the same per-OS log-path guidance and the "don't paste secrets" warning as the desktop template.
-
feature_request.yml — structured feature intake. Problem statement, proposed solution, alternatives considered, and an "is this tied to a specific source/tool type" field so requests can be triaged against the plugin system.
-
PULL_REQUEST_TEMPLATE.md — a contributor checklist wired to this repo's actual commands: bun run format, bun run lint, bun run typecheck, bun run test, plus prompts for a changeset, e2e notes, and a self-review. This directly complements the separate "test suite is Linux-only" concern by giving contributors a place to note when they've verified behavior on more than one OS.
I've drafted all three below (ready to drop in). Happy to open a PR adding them if that's welcome.
1. .github/ISSUE_TEMPLATE/bug_report.yml
name: Bug report
description: Something in Executor isn't working as expected.
title: "[bug] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to file a bug! A few things first:
- Update to the latest version if you can — the issue may already be fixed.
- **Never paste API keys, tokens, or secrets.** Executor stores credentials
locally; we don't need them to reproduce a bug.
- For desktop app crashes specifically, use the
**[Desktop app crash](?template=desktop-crash.yml)** template instead.
- type: input
id: version
attributes:
label: Executor version
description: From `executor --version`, or the About/Settings page in the desktop app.
placeholder: "1.5.19"
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating system
options:
- macOS (Apple Silicon)
- macOS (Intel)
- Windows
- Linux
- Other
validations:
required: true
- type: dropdown
id: surface
attributes:
label: How are you running Executor?
options:
- CLI (`executor ...`)
- Desktop app
- MCP server (`executor mcp`)
- Self-host (Docker)
- Embedded (the TypeScript runtime / library)
multiple: true
validations:
required: true
- type: dropdown
id: source-type
attributes:
label: Source / integration involved (if any)
description: The type of tool source you were using when the bug happened.
options:
- OpenAPI
- MCP
- GraphQL
- Google Discovery
- Custom / plugin
- N/A
multiple: true
validations:
required: false
- type: textarea
id: what-happened
attributes:
label: What happened?
description: A clear description of the bug. What did you do, what did you expect, and what happened instead?
value: |
**Steps to reproduce:**
1.
2.
3.
**Expected:**
**Actual:**
validations:
required: true
- type: textarea
id: repro
attributes:
label: Minimal reproduction
description: |
The smallest setup that triggers the bug — a source URL, the `executor` command(s) you ran, and any config.
A repo or gist we can clone makes this much faster to track down.
render: shell
- type: textarea
id: logs
attributes:
label: Logs / diagnostics
description: |
Relevant output and, if useful, the log file:
- macOS: `~/Library/Logs/Executor/main.log`
- Windows: `%APPDATA%\Executor\logs\main.log`
- Linux: `~/.config/Executor/logs/main.log`
- CLI: re-run with `executor --verbose <command>` and paste the output.
Redact anything sensitive. **Don't attach files from `~/.executor` — that's where your data and secrets live.**
render: shell
- type: checkboxes
id: checks
attributes:
label: Before submitting
options:
- label: I've reproduced this on the latest version of Executor.
required: true
- label: I've redacted any secrets, tokens, or credentials from the logs above.
required: true
2. .github/ISSUE_TEMPLATE/feature_request.yml
name: Feature request
description: Suggest a new capability, source type, or improvement for Executor.
title: "[feature] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Got an idea? Great — tell us what you're trying to do and why the current
Executor can't do it. Concrete use-cases beat abstract proposals.
- type: textarea
id: problem
attributes:
label: What problem are you trying to solve?
description: The real-world task that's hard or impossible today. "I want to ___ but Executor currently ___."
validations:
required: true
- type: textarea
id: solution
attributes:
label: What would help?
description: The change you'd like to see, as concretely as you can. CLI shape, config keys, UI flow — whatever applies.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives you've considered
description: Workarounds you tried, other tools you looked at, and why they fell short.
- type: dropdown
id: source-type
attributes:
label: Is this tied to a specific source type?
description: If your request is about a particular integration flavor, pick it here so we can triage against the plugin system.
options:
- OpenAPI
- MCP
- GraphQL
- Google Discovery
- Custom / plugin (new source type)
- No — it's cross-cutting
multiple: true
validations:
required: false
- type: dropdown
id: surface
attributes:
label: Where should this land?
options:
- CLI
- Desktop app / web UI
- MCP server
- Self-host
- TypeScript runtime / library
- Not sure
multiple: true
validations:
required: false
- type: checkboxes
id: checks
attributes:
label: Before submitting
options:
- label: I've searched the existing issues and this isn't a duplicate.
required: true
3. .github/PULL_REQUEST_TEMPLATE.md
## Summary
<!-- One or two sentences: what does this change do, and why? -->
## Related Issues
Fixes #(issue number)
## Type of Change
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Refactoring (no functional changes)
## How it was tested
<!-- How did you verify this works? Be specific about commands and OS. -->
- [ ] `bun run format:check`
- [ ] `bun run lint`
- [ ] `bun run typecheck`
- [ ] `bun run test`
- [ ] e2e (describe which scenarios, if applicable)
> CI runs the test suite on **Linux only** today. If your change touches anything
> OS-specific (CLI sidecar builds, Electron, file paths, native bindings), note
> whether you checked it on macOS / Windows too.
## Checklist
- [ ] PR title is descriptive (it becomes the squash-commit message).
- [ ] Self-reviewed my own diff.
- [ ] Added or updated tests for the behavior.
- [ ] Updated docs / README / inline comments where relevant.
- [ ] No secrets, tokens, or credentials in the diff.
## Screenshots (if applicable)
Add screenshots if you can .
Summary
The repo currently has a single, narrowly-scoped issue template —
.github/ISSUE_TEMPLATE/desktop-crash.yml— and nothing else. There is no general bug report template, no feature request template, and no pull request template. As a result:bun run format/lint/typecheck, CI passing, and (for anything touching tool sources/auth) e2e consideration.What exists today
.github/ISSUE_TEMPLATE/desktop-crash.yml.github/ISSUE_TEMPLATE/bug_report.yml.github/ISSUE_TEMPLATE/feature_request.yml.github/PULL_REQUEST_TEMPLATE.mdProposal
Add three files, matching the conventions of the existing
desktop-crash.yml(form-based YAML issue templates, version + OS fields, secret-handling warnings):bug_report.yml— general bug intake. Captures version, OS, the source/integration involved (OpenAPI / MCP / GraphQL / Google Discovery / plugin), reproduction steps, expected vs. actual, and logs. Reuses the same per-OS log-path guidance and the "don't paste secrets" warning as the desktop template.feature_request.yml— structured feature intake. Problem statement, proposed solution, alternatives considered, and an "is this tied to a specific source/tool type" field so requests can be triaged against the plugin system.PULL_REQUEST_TEMPLATE.md— a contributor checklist wired to this repo's actual commands:bun run format,bun run lint,bun run typecheck,bun run test, plus prompts for a changeset, e2e notes, and a self-review. This directly complements the separate "test suite is Linux-only" concern by giving contributors a place to note when they've verified behavior on more than one OS.I've drafted all three below (ready to drop in). Happy to open a PR adding them if that's welcome.
1.
.github/ISSUE_TEMPLATE/bug_report.yml2.
.github/ISSUE_TEMPLATE/feature_request.yml3.
.github/PULL_REQUEST_TEMPLATE.md