Skip to main content

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

FlagDescription
-d, --dry-runRun without writing any files.
-r, --replace-fileOverwrite the existing file instead of creating a .nova-backup copy.

Config Fields

FieldDescription
project.pronounsPronoun style (personal or business) for template language.
github.issueTemplate.bugReportFieldsExact ordered semantic field identifiers to include in the bug report.
urls.fundSourcesFund source URLs used to derive the GitHub sponsor username.
urls.privacyPolicyPrivacy policy URL included in issue template footers.
urls.termsOfUseTerms of use URL included in issue template footers.

Output Files

FileDescription
.github/ISSUE_TEMPLATE/config.ymlIssue template chooser configuration.
.github/ISSUE_TEMPLATE/BUG-REPORT.ymlBug report issue form.
.github/ISSUE_TEMPLATE/FEATURE-REQUEST.ymlFeature request issue form.
.github/ISSUE_TEMPLATE/SUPPORT-REQUEST.ymlSupport 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

IdentifierInternal Template FileCollects
nodejsnodejs.ymlNode.js version.
appleapple.ymlDevice type and OS version.
androidandroid.ymlDevice model and Android version.
csharpcsharp.yml.NET version and operating system.
phpphp.ymlPHP version.
pythonpython.ymlPython version.
homebridgehomebridge.ymlPlugin and Homebridge version.
pfsensepfsense.ymlpfSense version.
synologysynology.ymlSynology DSM version.
dockerdocker.ymlDocker version, host OS, architecture, and run command.
webweb.ymlBrowser name and version.
screenshotsscreenshots.ymlScreenshot 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.