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 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

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.
project.platformsDev platforms used to derive bug report fields when none are configured.
github.issueTemplate.bugReportFieldsBug report field files to include. Overrides the platform-derived set.
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 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

FieldTemplate FileCollects
Node.jsnodejs.ymlNode.js version.
Appleapple.ymlDevice type and OS version.
Androidandroid.ymlDevice model and Android version.
C# / .NETcsharp.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.
Web Browserweb.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).

If the target file already exists, a .nova-backup copy is created unless --replace-file is set.