Overview
Implement structured GitHub Issue Templates to support JNexus's seven distinct user interfaces (Android, iOS, macOS, Swing, AWT, Terminal UI, CLI) with enforced validation and platform categorization.
1. Bug Report Template (YAML Form)
File: .github/ISSUE_TEMPLATE/bug_report.yml
name: Bug Report
description: Report a bug to help JNexus improve.
title: "[BUG]: <title>"
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
> [!IMPORTANT]
> **SECURITY WARNING:** If you have discovered a security vulnerability, please **DO NOT** report it publicly. Report it via email to: **sfloess@redhat.com**.
- type: dropdown
id: interface
attributes:
label: Target Interface
description: Which JNexus interface is affected?
options:
- "Mobile: Android"
- "Mobile: iOS"
- "Desktop Native: macOS"
- "Java GUI: Swing"
- "Java GUI: AWT"
- "Java GUI: Terminal UI (TUI)"
- "Automation: CLI"
validations:
required: true
- type: input
id: version
attributes:
label: JNexus Version
description: Enter the version in X.Y.Z format (e.g., 2.0.0).
placeholder: "2.0.0"
validations:
required: true
- type: textarea
id: behavior
attributes:
label: Description
description: Describe the Expected vs. Actual behavior.
placeholder: |
Expected: [What you expected to happen]
Actual: [What actually happened]
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: List the sequence of events to trigger the bug.
placeholder: |
1. Open JNexus
2. Navigate to...
3. Execute...
validations:
required: true
- type: dropdown
id: dry_run
attributes:
label: Dry-Run Verification
description: If this involves component deletion, did you run with --dry-run (or -n)?
options:
- "Yes: Results matched actual execution"
- "Yes: Results differed from actual execution"
- "No: Did not use dry-run"
- "N/A: Issue does not involve deletion"
- type: textarea
id: logs
attributes:
label: Logs and Context
description: Provide verbose output or error traces. For CLI issues, use the `--verbose` flag.
render: shell
2. Feature Request Template (YAML Form)
File: .github/ISSUE_TEMPLATE/feature_request.yml
name: Feature Request
description: Propose a new idea for JNexus.
title: "[FEATURE]: <title>"
labels: ["enhancement"]
body:
- type: textarea
id: problem
attributes:
label: Problem Statement
description: What limitation or problem does this feature solve?
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Detailed description of the requested functionality.
validations:
required: true
- type: checkboxes
id: target_interfaces
attributes:
label: Target Interfaces
description: Which interfaces should this feature be implemented in? (Select all that apply)
options:
- label: "Mobile (Android, iOS)"
- label: "Desktop Native (macOS)"
- label: "Java GUIs (Swing, AWT)"
- label: "CLI / Terminal UI"
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Describe any workarounds you are currently using.
3. Documentation Update Template (Markdown)
File: .github/ISSUE_TEMPLATE/documentation_update.md
---
name: Documentation Update
about: Propose improvements to JNexus documentation or automation scripts.
title: '[DOCS]: '
labels: documentation
---
### Affected Component
Select the documentation or script requiring attention:
- [ ] README.md
- [ ] CI-CD.md
- [ ] SECURITY.md
- [ ] RUNNING.md
- [ ] VERSIONING.md
- [ ] CONTRIBUTING.md
- [ ] TEST_COVERAGE.md
- [ ] COMPARISON.md
- [ ] CLAUDE.md
- [ ] CODE_OF_CONDUCT.md
- [ ] CHANGELOG.md
- [ ] Automation: ci/rev-version.sh
- [ ] Other:
### Issue Description
Describe the current issue (e.g., outdated CLI flag, typo, lack of clarity in setup).
### Suggested Correction
Provide the corrected text or the logic change required.
4. Template Configuration
File: .github/ISSUE_TEMPLATE/config.yml
blank_issues_enabled: false
contact_links:
- name: Security Vulnerability
url: mailto:sfloess@redhat.com
about: Report security issues privately via email
Implementation Checklist
Notes
Version Format Change: Original spec called for X.Y format with regex ^[0-9]+\\.[0-9]+$, but project now uses semantic versioning (X.Y.Z). Updated to match current version 2.0.0.
Platform Coverage: Templates cover all 7 JNexus interfaces:
- Android mobile
- iOS mobile
- macOS native
- Swing GUI
- AWT GUI
- Terminal UI
- CLI
Validation Benefits:
- Enforces structured bug reports with platform identification
- Prevents invalid version numbers
- Requires reproduction steps
- Highlights dry-run safety for delete operations
- Disables blank issues to maintain data quality
Testing
After implementation, verify:
- Navigate to repository Issues → New Issue
- Confirm template chooser appears (no blank issue option)
- Test each template:
- Bug Report: Try invalid version format (should block)
- Feature Request: Verify multi-select checkboxes work
- Documentation: Confirm markdown rendering
- Verify security warning displays prominently in Bug Report
Overview
Implement structured GitHub Issue Templates to support JNexus's seven distinct user interfaces (Android, iOS, macOS, Swing, AWT, Terminal UI, CLI) with enforced validation and platform categorization.
1. Bug Report Template (YAML Form)
File:
.github/ISSUE_TEMPLATE/bug_report.yml2. Feature Request Template (YAML Form)
File:
.github/ISSUE_TEMPLATE/feature_request.yml3. Documentation Update Template (Markdown)
File:
.github/ISSUE_TEMPLATE/documentation_update.md4. Template Configuration
File:
.github/ISSUE_TEMPLATE/config.ymlImplementation Checklist
.github/ISSUE_TEMPLATE/directory if it doesn't existbug_report.ymlwith version validation for X.Y.Z format (semver)feature_request.ymlwith multi-platform checkboxesdocumentation_update.mdwith comprehensive file listconfig.ymlto disable blank issues and add security contactbug(red/orange color)enhancement(blue/green color)documentation(gray/blue color)SECURITY.mdto confirmsfloess@redhat.comas security contactCONTRIBUTING.mdto reference new issue templatesNotes
Version Format Change: Original spec called for
X.Yformat with regex^[0-9]+\\.[0-9]+$, but project now uses semantic versioning (X.Y.Z). Updated to match current version 2.0.0.Platform Coverage: Templates cover all 7 JNexus interfaces:
Validation Benefits:
Testing
After implementation, verify: