Skip to content

Commit 0b1d833

Browse files
committed
docs(issues): add rich issue templates and update contributing docs
- Add .github/ISSUE_TEMPLATE/bug_report.yml with diagnostics-bundle prompt, platform/provider dropdowns, error-code and log fields - Add .github/ISSUE_TEMPLATE/feature_request.yml with scope dropdown and hard-constraints acknowledgement checkbox - Update config.yml: add Security vulnerability contact link pointing to SECURITY.md - Add "Reporting issues" section to README.md with direct template links - Update CONTRIBUTING.md filing-an-issue paragraph with concrete template URLs
1 parent a6fea69 commit 0b1d833

5 files changed

Lines changed: 198 additions & 1 deletion

File tree

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
name: Bug report
2+
description: Report something that does not work as expected
3+
title: "[Bug]: "
4+
labels: ["bug", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
**Before filing:** search [existing issues](https://github.com/OpenCoworkAI/open-codesign/issues) to avoid duplicates.
10+
11+
**Tip:** go to **Settings → Storage → Export diagnostics** to generate a redacted diagnostics bundle (API keys and prompts are automatically stripped). Attach the download link below — it dramatically speeds up triage.
12+
13+
- type: textarea
14+
id: description
15+
attributes:
16+
label: Description
17+
description: Briefly describe what went wrong.
18+
placeholder: "e.g. Clicking Export PDF crashes the app with an unhandled exception."
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: reproduce
24+
attributes:
25+
label: Steps to reproduce
26+
description: List the exact steps needed to reliably trigger the issue.
27+
placeholder: |
28+
1. Open the app and navigate to a design
29+
2. Click the Export button → PDF
30+
3. …
31+
4. See error
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: expected
37+
attributes:
38+
label: Expected behavior
39+
description: What should have happened?
40+
placeholder: "A PDF file should be saved to disk."
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: actual
46+
attributes:
47+
label: Actual behavior
48+
description: What actually happened instead?
49+
placeholder: "The app freezes and shows a blank error dialog."
50+
validations:
51+
required: true
52+
53+
- type: input
54+
id: version
55+
attributes:
56+
label: open-codesign version
57+
description: Find it in **Settings → About**.
58+
placeholder: "0.1.3 or commit sha"
59+
validations:
60+
required: true
61+
62+
- type: dropdown
63+
id: platform
64+
attributes:
65+
label: Platform
66+
options:
67+
- macOS
68+
- Windows
69+
- Linux
70+
validations:
71+
required: true
72+
73+
- type: input
74+
id: platform_version
75+
attributes:
76+
label: OS version
77+
description: e.g. macOS 15.3.2, Windows 11 24H2, Ubuntu 24.04
78+
placeholder: "macOS 15.3.2"
79+
80+
- type: dropdown
81+
id: provider
82+
attributes:
83+
label: Model provider (if relevant)
84+
options:
85+
- Anthropic
86+
- OpenAI
87+
- Google
88+
- OpenRouter
89+
- Groq
90+
- Other
91+
- "N/A"
92+
93+
- type: input
94+
id: error_code
95+
attributes:
96+
label: Error code
97+
description: >
98+
If the app shows a `CodesignError` code (e.g. `PROVIDER_HTTP_4XX`), paste it here.
99+
placeholder: "PROVIDER_HTTP_4XX"
100+
101+
- type: textarea
102+
id: diagnostics
103+
attributes:
104+
label: Diagnostics bundle
105+
description: >
106+
Paste the link from **Settings → Storage → Export diagnostics**.
107+
The zip is automatically redacted — API keys and prompt text are stripped before export.
108+
placeholder: "https://… (GitHub Gist, file.io, or similar)"
109+
110+
- type: textarea
111+
id: logs
112+
attributes:
113+
label: Logs
114+
description: >
115+
Paste relevant renderer or main-process log excerpts here.
116+
Wrap in triple backticks. Remove any sensitive tokens first.
117+
render: shell

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ contact_links:
33
- name: Question / Discussion
44
url: https://github.com/OpenCoworkAI/open-codesign/discussions
55
about: For open-ended questions, ideas, and architecture discussions, use Discussions.
6+
- name: Security vulnerability
7+
url: https://github.com/OpenCoworkAI/open-codesign/blob/main/SECURITY.md
8+
about: Do not open a public issue for security vulnerabilities. See SECURITY.md for the private disclosure process.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Feature request
2+
description: Propose a new capability or improvement
3+
title: "[Feature]: "
4+
labels: ["enhancement", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
**Before filing:** search [existing issues](https://github.com/OpenCoworkAI/open-codesign/issues) and read
10+
[`docs/VISION.md`](../blob/main/docs/VISION.md) and [`docs/ROADMAP.md`](../blob/main/docs/ROADMAP.md).
11+
If your idea contradicts a locked decision or anti-goal, open a
12+
[Discussion](https://github.com/OpenCoworkAI/open-codesign/discussions) instead.
13+
14+
- type: textarea
15+
id: problem
16+
attributes:
17+
label: Problem / pain point
18+
description: What user pain or unmet need motivates this request? Describe the problem, not the solution.
19+
placeholder: "When I try to export to PPTX with CJK characters, the font falls back to a system default that looks wrong on Windows."
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: proposal
25+
attributes:
26+
label: Proposed solution
27+
description: What would you build? Describe it at a high level.
28+
placeholder: "Add an optional CJK font embedding step to the PPTX exporter that bundles a subset of Noto Sans CJK."
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: alternatives
34+
attributes:
35+
label: Alternatives considered
36+
description: What other approaches did you think about? Why did you rule them out?
37+
placeholder: "Using system fonts — rejected because they are not portable across machines."
38+
39+
- type: dropdown
40+
id: scope
41+
attributes:
42+
label: Scope
43+
description: Which part of the product does this touch?
44+
options:
45+
- UI
46+
- Generation capability
47+
- Export
48+
- Provider / model
49+
- Other
50+
validations:
51+
required: true
52+
53+
- type: checkboxes
54+
id: breaks_constraints
55+
attributes:
56+
label: Hard-constraints check
57+
description: >
58+
Open CoDesign has a set of non-negotiable constraints (install size ≤ 80 MB, no bundled runtimes,
59+
BYOK only, local-first storage, MIT-compatible licenses, lazy-loaded heavy features).
60+
Please confirm you have reviewed them.
61+
options:
62+
- label: >
63+
I have read the [hard constraints in CLAUDE.md](../blob/main/CLAUDE.md) and this proposal
64+
does not conflict with any of them.
65+
required: true

CONTRIBUTING.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ Thanks for considering a contribution. This project is in **pre-alpha**: the arc
1111

1212
## Filing an issue
1313

14-
Use the issue templates. For bugs, include reproduction steps, OS/version, and a minimal example. For features, explain the *user problem* before proposing a solution.
14+
Use our issue templates:
15+
16+
- **[Bug report](https://github.com/OpenCoworkAI/open-codesign/issues/new?template=bug_report.yml)** — reproduction steps, OS/version, and a diagnostics bundle (Settings → Storage → Export diagnostics) speed up triage significantly.
17+
- **[Feature request](https://github.com/OpenCoworkAI/open-codesign/issues/new?template=feature_request.yml)** — explain the *user problem* before proposing a solution, and confirm the proposal does not conflict with the [hard constraints](./CLAUDE.md).
1518

1619
## Submitting a PR
1720

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,15 @@ Add a `SKILL.md` to any project to teach the model your own taste.
239239
- `@mariozechner/pi-ai` (multi-provider model abstraction)
240240
- `better-sqlite3`, `electron-builder`
241241
242+
## Reporting issues
243+
244+
Found a bug or have a feature request?
245+
246+
1. **Search** [existing issues](https://github.com/OpenCoworkAI/open-codesign/issues) first.
247+
2. **Generate a diagnostics bundle** — Settings → Storage → Export diagnostics (API keys and prompts are redacted automatically).
248+
3. **Open a new issue** using our [bug report](https://github.com/OpenCoworkAI/open-codesign/issues/new?template=bug_report.yml) or [feature request](https://github.com/OpenCoworkAI/open-codesign/issues/new?template=feature_request.yml) template.
249+
4. For security vulnerabilities, see [SECURITY.md](./SECURITY.md).
250+
242251
## Contributing
243252
244253
Read [CONTRIBUTING.md](./CONTRIBUTING.md). Open an issue before writing code, sign commits with DCO, run `pnpm lint && pnpm typecheck && pnpm test` before a PR.

0 commit comments

Comments
 (0)