CLI Reference
The Nova CLI lets you generate files, apply local assets through vendor integrations, run recipes, scaffold projects, and use development utilities.
Step by step
Not sure what to type? Build the command one section at a time.
Start with nova, then the command and subcommand (if available), and finally the options like --all or -a. Each step shows inline guidance so you don't wonder what to do next.
Get Started
- Options are recommended — Type the option (flags / switches) you want, like
--allor-a. This helps you learn the command faster. - Build it step by step — Start with
nova, add the command and subcommand, then finish with options like--allor-a. Repeat until it feels natural.
Commands
All commands below show a help screen when run with the --help or -h option, so you can explore safely and avoid accidental runs.
Mix and match
You can freely combine full names and shorthands in the same command. For example, nova generate must lic and nova gen must-haves license both work the same way.
Generators
Create semi-tailored vendor and project files at the monorepo root. Generators read nova.config.json when their output needs project-level values.
info
Generators use nova generate <category> <subcommand>.
GitHub
Category: github · Alias: gh
| Subcommand | Shorthand | What It Does |
|---|---|---|
funding | — | Create a .github/FUNDING.yml file for GitHub sponsor links. |
issue-template | issue | Create .github/ISSUE_TEMPLATE files for GitHub issue forms. |
workflows | — | Create .github/workflows files for GitHub CI/CD automation. |
Must-Haves
Category: must-haves · Alias: must
| Subcommand | Shorthand | What It Does |
|---|---|---|
agent-conventions | agent | Create agent convention files for coding assistants. |
dotenv | env | Create .env and .env.sample files for environment secrets. |
editorconfig | — | Create a .editorconfig file for consistent coding styles. |
ignore-files | — | Create every configured physical ignore file. |
license | lic | Create a LICENSE file for project license agreements. |
read-me | read | Create a baseline README.md file for your project. |
Integrations
Apply local project assets through supported vendor services without storing credentials in nova.config.json. Running nova integration or a vendor category opens an interactive menu; leaf commands remain directly scriptable.
info
Integration commands use nova integration <vendor> <operation> or nova int <alias> <operation>.
Mutating commands print their complete plan before authentication. Use -d, --dry-run to validate without authenticating or changing remote data. Non-interactive mutations require -n, --non-interactive together with -y, --yes.
App Store Connect
Category: app-store-connect · Alias: asc
| Subcommand | Shorthand | What It Does |
|---|---|---|
creative-assets | — | Replace selected App Store promotional artwork. |
metadata | — | Update selected localized App Store version metadata. |
screenshots | — | Replace selected iPhone, iPad, Apple Watch, or Mac screenshot sets. |
Discord Developer Portal
Category: discord-developer-portal · Alias: ddp
| Subcommand | Shorthand | What It Does |
|---|---|---|
validate-token | — | Validate a Discord bot token without storing or printing it. |
Google Play Console
Category: google-play-console · Alias: gpc
| Subcommand | Shorthand | What It Does |
|---|---|---|
graphic-assets | — | Replace selected Google Play graphic asset sets. |
metadata | — | Update selected localized Google Play listing fields. |
screenshots | — | Replace selected Google Play screenshot sets. |
Recipes
Apply scripted edits that automate routine maintenance, using values from nova.config.json when the recipe needs configured project data.
info
All commands in "Recipes" are shaped as nova recipe <category> <subcommand> or nova rcp <alias> <shorthand>.
Recipe categories are navigation menus, not batch commands. Use nova utility run-recipes when you want Nova to run every enabled recipe.
GitHub
Category: github · Alias: gh
| Subcommand | Shorthand | What It Does |
|---|---|---|
sync-actions | sync-act | Sync GitHub Actions permissions, token defaults, and artifact retention. |
sync-features | sync-feat | Sync repository feature flags (issues, wiki, projects, discussions) to GitHub. |
sync-identity | sync-id | Sync repository identity (description, homepage URL, topics) to GitHub. |
sync-labels | sync-lab | Create or update configured GitHub repository labels. |
sync-policies | sync-pol | Sync repository policies (visibility, merge methods, branch settings) to GitHub. |
sync-rulesets | sync-rule | Create or update Nova's managed default-branch ruleset. |
sync-security | sync-sec | Sync vulnerability, Dependabot, secret scanning, and push protection settings. |
License
Category: license · Alias: lic
| Subcommand | Shorthand | What It Does |
|---|---|---|
update-copyright | update-copy | Refresh the generated license copyright holder and year range. |
Miscellaneous
Category: miscellaneous · Alias: misc
| Subcommand | Shorthand | What It Does |
|---|---|---|
fix-markdown-tables | fix-md-tables | Format Markdown and MDX tables throughout the project root. |
remove-operating-system-files | remove-os-files | Remove explicitly enabled, untracked operating-system metadata files from the project root. |
nova.config.json
Category: nova-config · Alias: config
| Subcommand | Shorthand | What It Does |
|---|---|---|
normalize-order | norm-order | Normalize top-level nova.config.json key order without changing configured data. |
package.json
Category: package-json · Alias: pkg
| Subcommand | Shorthand | What It Does |
|---|---|---|
cleanup | clean | Remove unsupported keys and reorder remaining keys in workspace package.json files. |
normalize-artifacts | norm-art | Normalize files, bin, man, directories, private, and publishConfig in workspace package.json files. |
normalize-bundler | norm-bun | Normalize types, module, sideEffects, and esnext bundler fields in workspace package.json files. |
normalize-dependencies | norm-dep | Normalize dependency fields and optionally pin versions in workspace package.json files. |
normalize-modules | norm-mod | Normalize exports, main, type, browser, and imports fields in workspace package.json files. |
normalize-tooling | norm-tool | Normalize scripts, gypfile, config, and workspaces in workspace package.json files. |
sync-environment | sync-env | Sync engines, os, cpu, libc, devEngines, and packageManager in workspace package.json files. |
sync-identity | sync-id | Sync name, version, description, keywords, displayName, and license to workspace package.json files. |
sync-ownership | sync-own | Sync homepage, bugs, author, contributors, funding, and repository to workspace package.json files. |
README
Category: read-me · Alias: read
| Subcommand | Shorthand | What It Does |
|---|---|---|
update-badges | update-badge | Refresh the generated README badge region. |
update-credits | update-credit | Refresh the generated README credits region. |
update-documentation | update-doc | Refresh the generated README documentation region. |
update-header | update-head | Refresh the generated README header region. |
update-introduction | update-intro | Refresh the generated README introduction region. |
Scaffolding
Bootstrap full project starters as monorepo workspaces. Each scaffold creates a ready-to-use workspace with all necessary config files, dependencies, and build setup.
info
All commands in "Scaffolding" are shaped as nova scaffold <category> <subcommand> or nova scaf <alias> <shorthand>.
App
Category: app · Alias: none
| Subcommand | Shorthand | What It Does |
|---|---|---|
android | — | Scaffold a native Android workspace. |
apple | — | Scaffold a SwiftUI Apple workspace. |
astro | — | Scaffold an Astro workspace. |
discord-bot | — | Scaffold a Discord bot workspace. |
expressjs | express | Scaffold an Express.js workspace. |
nextjs | next | Scaffold a Next.js workspace. |
vite | — | Scaffold a Vite workspace. |
Docs
Category: docs · Alias: none
| Subcommand | Shorthand | What It Does |
|---|---|---|
docusaurus | — | Scaffold a Docusaurus documentation workspace. |
Package
Category: package · Alias: pkg
| Subcommand | Shorthand | What It Does |
|---|---|---|
github-action | action | Scaffold a bundled GitHub Action package. |
homebridge | — | Scaffold a dynamic-platform Homebridge plugin. |
pfsense | — | Scaffold a WebGUI-managed pfSense package. |
Starter
Category: starter · Alias: start
| Subcommand | Shorthand | What It Does |
|---|---|---|
base | — | Scaffold a base monorepo project without a framework workspace. |
Tool
Category: tool · Alias: none
| Subcommand | Shorthand | What It Does |
|---|---|---|
serverless | — | Scaffold a distributable CLI with a user-deployed serverless service. |
Utilities
Tools for diagnostics, quick checks, and development helpers.
info
All commands in "Utilities" are shaped as nova utility <subcommand> or nova util <shorthand>.
| Subcommand | Shorthand | What It Does |
|---|---|---|
changelog | log | Record changes and release versioned changelogs. |
configure | config | Create or edit this project's nova.config.json configuration file. |
run-recipes | run-rcp | Run all enabled recipes and finalize workspace package.json files. |
run-scripts | run-scr | Run package.json scripts by pattern with sequential, parallel, and explicit child-environment controls. |
run-workspaces | run-ws | Run dependency-aware package scripts across configured Nova workspaces. |
transpile | xpile | Transpile TypeScript with filtered diagnostics, emitting compiled output for project-owned files. |
type-check | type-chk | Run full TypeScript type checking scoped to project-owned files, filtering out third-party diagnostics. |
version | ver | Generate a Markdown-ready snapshot of your development stack versions (e.g., node --version). |
Troubleshooting
Exit Codes
| Code | Meaning | Result |
|---|---|---|
0 | Success | Response of the executed command. |
1 | Error | Help text displayed. |
Quick Fixes
- Prefer explicit command, subcommands, and options for clarity, fewer mistakes, and predictable behavior. For example,
nova utility version --allinstead of the alternate variants.