a4fa0eaf5e
## Thinking Path > - Paperclip orchestrates AI agents for zero-human companies, and `github.com/paperclipai/paperclip` is the public intake for bugs and feature work > - PR #7575 (just merged) shipped a first cut of `.github/ISSUE_TEMPLATE/`: bug / feature / adapter forms plus a chooser config that disables blank issues — enough to stop greeting filers with an empty textarea > - Reviewing [PR #4189](https://github.com/paperclipai/paperclip/pull/4189) surfaced additional, complementary items worth landing now rather than later: PII handling (logs and config paste fields routinely contain agent transcripts, encrypted-secrets paths, and tokens), richer environment capture for bugs (install method, adapters, DB mode, access context), and a subsystem picker on feature/enhancement so the queue can be filtered by area > - Items 7–10 from #4189 (CONTRIBUTING.md change, AGENTS.md §11, `require-issue-link.yml`, GitHub Discussions contact link) are intentionally deferred — each is its own decision and belongs in a separate, focused PR > - The auto-label workflow that earlier revisions of this branch included was dropped per reviewer feedback — labeling on issue open is a separate concern from the template content and should land (if at all) in its own PR > - This pull request extends the merged templates with PII warnings + a mandatory privacy checkbox on `bug_report.yml`, additional optional env fields, a required subsystem dropdown on `feature_request.yml`, and two net-new templates (`enhancement.yml`, `docs_issue.yml`) > - The benefit is that newly filed issues land with enough environment context and subsystem hint to triage on first read, and paste-field PII is gated by an explicit reviewer-readable checkbox ## Linked Issues or Issue Description Refs #7575 PAPA-521 (follow-up). This is the second half of the issue-templates work — PR #7575 shipped the baseline, this PR adopts items 1, 2, 3, 4, and 6 from PR #4189 on top. Item 5 (auto-label workflow) was dropped per reviewer feedback. ## What Changed - `bug_report.yml` — added PII privacy notice with redaction guidance and anonymizer links; pre-submission preflight checkboxes; optional fields for install method, adapter checkbox list (Claude Code / Codex / Cursor / Droid / Hermes / external plugin / core), database mode (PGlite / external Postgres), and access context (board / agent); inline PII warnings on the logs and config paste fields; mandatory privacy checklist at submission time - `feature_request.yml` — added a required subsystem dropdown (`server/` · `ui/` · `packages/db` · `packages/shared` · `packages/adapters` · `packages/plugins` · cross-cutting · unsure) - `enhancement.yml` — new template for improvements to existing behaviour, with current-vs-proposed-behaviour fields and a required breaking-changes field - `docs_issue.yml` — new lightweight doc-issue form (type / location / description / suggestion) No workflow changes in this PR. ## Verification - All 4 changed YAML files round-trip through `js-yaml` cleanly - Diff vs. master: 4 files changed, +254/-3 (`.github/ISSUE_TEMPLATE/` only) - Post-merge reviewer steps: 1. Visit `github.com/paperclipai/paperclip/issues/new/choose` — expect five template cards (bug, feature, enhancement, adapter, docs) and the existing Discord/Roadmap contact links; no "Open a blank issue" option 2. Open each template in turn — required fields should block submission when empty (in particular: privacy checklist on the bug form, subsystem dropdown on feature/enhancement, breaking-changes field on enhancement) ## Risks - Low risk overall. Files are `.github/ISSUE_TEMPLATE/` config only — no runtime effect on the server, UI, CLI, or any package, and no workflows touched - If a YAML form has a schema quirk that `js-yaml` accepts but GitHub's form renderer rejects, GitHub silently falls back to a blank issue for that template. The reviewer render check above is the mitigation > For core feature work, check [`ROADMAP.md`](ROADMAP.md) first and discuss it in `#dev` before opening the PR. Feature PRs that overlap with planned core work may need to be redirected — check the roadmap first. See `CONTRIBUTING.md`. ## Model Used Claude Opus 4.7 — provider Anthropic, exact model ID `claude-opus-4-7`, extended-thinking + tool use, running inside the Paperclip Claude Code harness. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above (refs #7575, #4189) - [x] I have either (a) linked existing issues with `Fixes: #` / `Closes #` / `Refs #` OR (b) described the issue in-PR following the relevant issue template - [x] I have run tests locally and they pass (n/a — `.github/ISSUE_TEMPLATE/` content only; `js-yaml` parse check run instead) - [ ] I have added or updated tests where applicable (n/a — repo has no test coverage for `.github/` content) - [ ] If this change affects the UI, I have included before/after screenshots (n/a — only the GitHub.com "New issue" page is affected; render check happens post-merge on github.com) - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [ ] All Paperclip CI gates are green (will verify after open) - [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups (greploop will run after open) - [x] I will address all Greptile and reviewer comments before requesting merge
93 lines
3.2 KiB
YAML
93 lines
3.2 KiB
YAML
name: Enhancement proposal
|
|
description: Propose an improvement to an existing Paperclip feature
|
|
labels: [enhancement]
|
|
body:
|
|
- type: markdown
|
|
attributes:
|
|
value: |
|
|
An enhancement improves something that already exists — better output, broader edge-case handling, clearer UX, performance. It does not add new commands, endpoints, or concepts. If you are proposing something new, use the **Feature request** template instead.
|
|
|
|
- type: checkboxes
|
|
id: preflight
|
|
attributes:
|
|
label: Pre-submission checklist
|
|
description: Please confirm each of these before filing.
|
|
options:
|
|
- label: I have confirmed this improves existing behavior — it does not add a new command, endpoint, or concept.
|
|
required: true
|
|
- label: I have searched existing open and closed issues and this has not already been proposed.
|
|
required: true
|
|
|
|
- type: input
|
|
id: what_is_improved
|
|
attributes:
|
|
label: What existing behavior does this improve?
|
|
description: Name the specific command, endpoint, UI view, or behavior being enhanced.
|
|
placeholder: "e.g. /api/companies response shape, board task list sorting, adapter startup log output"
|
|
validations:
|
|
required: true
|
|
|
|
- type: dropdown
|
|
id: subsystem
|
|
attributes:
|
|
label: Subsystem affected
|
|
options:
|
|
- server/ — REST API & orchestration services
|
|
- ui/ — React + Vite board UI
|
|
- packages/db — Drizzle schema, migrations
|
|
- packages/shared — types, constants, validators, API paths
|
|
- packages/adapters — agent adapter implementations
|
|
- packages/plugins — plugin system
|
|
- Cross-cutting (multiple of the above)
|
|
- Unsure
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: current_behavior
|
|
attributes:
|
|
label: Current behavior
|
|
description: Describe exactly how it works today. Include example output or a screenshot if helpful.
|
|
placeholder: |
|
|
Currently, when I call ..., the response is ...
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: proposed_behavior
|
|
attributes:
|
|
label: Proposed behavior
|
|
description: Describe exactly how it should work after the enhancement. Include example output.
|
|
placeholder: |
|
|
After this enhancement, the response would be ...
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: reason
|
|
attributes:
|
|
label: Reason and benefit
|
|
description: |
|
|
Why is the current behavior a problem, and what is the concrete benefit of the proposed behavior?
|
|
|
|
Vague answers like "it would be better" or "more user-friendly" are not enough.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: breaking_changes
|
|
attributes:
|
|
label: Breaking changes
|
|
description: |
|
|
Does this change any behavior, response shape, or output format that users or agents might rely on?
|
|
If yes, describe exactly what changes and how backward compatibility is maintained.
|
|
Write "None" only if you are certain.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: additional_context
|
|
attributes:
|
|
label: Additional context
|
|
description: Screenshots, related issues, or anything else.
|