Issue Template
Create issue form templates under .github/ISSUE_TEMPLATE/ including config.yml, BUG-REPORT.yml, FEATURE-REQUEST.yml, and SUPPORT-REQUEST.yml.
The bug report includes only the exact ordered fields selected in nova.config.json.
Why Use This Command?
- Provides structured issue forms so reporters supply the right details upfront.
- Generates templates for bug reports, feature requests, and support requests in one step.
- Injects project-specific pronouns, links, and policies from the Nova config.
Requirements
- Node.js runtime — Use any Node.js LTS release.
- Project root — Run the command from the directory containing the top-level
package.json. nova.config.json(optional) — When present, its fields customize the generated templates. When absent, defaults are used and platform-specific fields are omitted.
Usage
Options
| Flag | Description |
|---|---|
-d, --dry-run | Run without writing any files. |
-r, --replace-file | Overwrite the existing file instead of creating a .nova-backup copy. |
Config Fields
| Field | Description |
|---|---|
project.pronouns | Pronoun style (personal or business) for template language. |
github.issueTemplate.bugReportFields | Exact ordered semantic field identifiers to include in the bug report. |
urls.fundSources | Fund source URLs used to derive the GitHub sponsor username. |
urls.privacyPolicy | Privacy policy URL included in issue template footers. |
urls.termsOfUse | Terms of use URL included in issue template footers. |
Output Files
| File | Description |
|---|---|
.github/ISSUE_TEMPLATE/config.yml | Issue template chooser configuration. |
.github/ISSUE_TEMPLATE/BUG-REPORT.yml | Bug report issue form. |
.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml | Feature request issue form. |
.github/ISSUE_TEMPLATE/SUPPORT-REQUEST.yml | Support request issue form. |
How It Works
Field Selection
The command is non-interactive. It reads the exact field identifiers from github.issueTemplate.bugReportFields in nova.config.json and preserves their order.
Missing and empty arrays both produce a bug report without optional fields. The configuration wizard can suggest a first selection from project.platforms and configured URLs, but the generator never infers fields.
To change which fields are included, edit them through nova utility configure under the GitHub category.
Available Bug Report Fields
| Identifier | Internal Template File | Collects |
|---|---|---|
nodejs | nodejs.yml | Node.js version. |
apple | apple.yml | Device type and OS version. |
android | android.yml | Device model and Android version. |
csharp | csharp.yml | .NET version and operating system. |
php | php.yml | PHP version. |
python | python.yml | Python version. |
homebridge | homebridge.yml | Plugin and Homebridge version. |
pfsense | pfsense.yml | pfSense version. |
synology | synology.yml | Synology DSM version. |
docker | docker.yml | Docker version, host OS, architecture, and run command. |
web | web.yml | Browser name and version. |
screenshots | screenshots.yml | Screenshot upload field. |
File Generation
Each output file is built from a built-in template with placeholders replaced by values from the Nova config (pronouns, GitHub repo, legal links, and the selected bug report fields). Pronouns are capitalized when their placeholder begins a sentence and remain lowercase within a sentence.
If the target file already exists, a .nova-backup copy is created unless --replace-file is set.