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 fields come from nova.config.json, falling back to the fields that match your configured dev platforms when none are set.
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. |
project.platforms | Dev platforms used to derive bug report fields when none are configured. |
github.issueTemplate.bugReportFields | Bug report field files to include. Overrides the platform-derived set. |
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 bug report fields from github.issueTemplate.bugReportFields in nova.config.json.
When that field is absent, the generator derives the set from project.platforms instead. If neither yields any fields, the templates are produced without platform-specific fields.
To change which fields are included, edit them through nova utility initialize under the GitHub category.
Available Bug Report Fields
| Field | Template File | Collects |
|---|---|---|
| Node.js | nodejs.yml | Node.js version. |
| Apple | apple.yml | Device type and OS version. |
| Android | android.yml | Device model and Android version. |
| C# / .NET | 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 Browser | 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).
If the target file already exists, a .nova-backup copy is created unless --replace-file is set.