Summary
Add a dedicated Nova workflow that applies or refreshes the Agentic Copilot scaffold in an existing PowerShell project.
This should support both:
- projects that do not yet have the Nova Agentic Copilot scaffold
- projects that already have an older scaffold version and need to refresh to the latest Nova scaffold
Problem
Today Nova can scaffold Agentic Copilot guidance during Initialize-NovaModule, but it does not provide a supported way to add or refresh that scaffold in an existing project.
Users should be able to stand in a project root and run a Nova command that applies the latest scaffold safely and explicitly.
Proposed scope
- add public cmdlet
Invoke-NovaAgenticCopilotScaffold
- add flat CLI command
% nova copilot
- default target path to the current location
- require
ShortName on every run
- read
ProjectName and Description from project.json
- prompt before overwrite by default
- allow non-interactive execution only through
-OverrideWarning / --override-warning
- reuse Nova's existing
src/resources/agentic-copilot scaffold content and token replacement behavior
- overwrite only these Nova-managed paths:
.github/agents/**
.github/instructions/**
.github/prompts/**
.github/skills/**
.github/copilot-instructions.md
.github/pull_request_template.md
AGENTS.md
CONTRIBUTING.md
- add these files only when missing:
README.md
CHANGELOG.md
RELEASE_NOTE.md
Acceptance criteria
Invoke-NovaAgenticCopilotScaffold -ShortName NMT applies the scaffold in a valid project root after explicit confirmation.
% nova copilot --short-name NMT performs the same workflow from the CLI.
- Existing managed Agentic Copilot scaffold files are refreshed from the latest Nova scaffold.
- Existing
README.md, CHANGELOG.md, and RELEASE_NOTE.md are not overwritten.
- Missing
README.md, CHANGELOG.md, and RELEASE_NOTE.md are created.
- The command fails clearly when
project.json is missing or invalid.
- The command fails clearly when
ShortName is missing or invalid.
-OverrideWarning / --override-warning skips the prompt.
- The change includes source-mirrored Pester coverage and CLI routing coverage.
- The change updates help and contributor-facing docs as needed.
Implementation notes
- keep the public cmdlet thin and delegate to private scaffold helpers
- add a separate scaffold workflow for existing-project apply/update instead of extending
Initialize-NovaModule
- extract reusable Agentic Copilot template logic from the current init-specific helper instead of duplicating it
- keep the CLI route flat as
% nova copilot for now
- do not persist
ShortName in project.json
- do not infer
ShortName from existing scaffold files
- keep overwrite policy limited to approved Nova-managed scaffold paths
Out of scope
- storing
ShortName in project.json
- inferring
ShortName from existing files
- selective file-by-file merge/diff workflows
nova copilot apply or other future copilot subcommands
- expanding Nova ownership to arbitrary
.github/ content outside the approved path set
Validation and documentation
Expected follow-up work:
- add/update Pester tests for the public command, scaffold workflow, and CLI route
- update command help in
docs/NovaModuleTools/en-US/
- review and update
README.md
- review and update
CHANGELOG.md
- review and update
RELEASE_NOTE.md
Recommended implementation agent
powershell-developer
Summary
Add a dedicated Nova workflow that applies or refreshes the Agentic Copilot scaffold in an existing PowerShell project.
This should support both:
Problem
Today Nova can scaffold Agentic Copilot guidance during
Initialize-NovaModule, but it does not provide a supported way to add or refresh that scaffold in an existing project.Users should be able to stand in a project root and run a Nova command that applies the latest scaffold safely and explicitly.
Proposed scope
Invoke-NovaAgenticCopilotScaffold% nova copilotShortNameon every runProjectNameandDescriptionfromproject.json-OverrideWarning/--override-warningsrc/resources/agentic-copilotscaffold content and token replacement behavior.github/agents/**.github/instructions/**.github/prompts/**.github/skills/**.github/copilot-instructions.md.github/pull_request_template.mdAGENTS.mdCONTRIBUTING.mdREADME.mdCHANGELOG.mdRELEASE_NOTE.mdAcceptance criteria
Invoke-NovaAgenticCopilotScaffold -ShortName NMTapplies the scaffold in a valid project root after explicit confirmation.% nova copilot --short-name NMTperforms the same workflow from the CLI.README.md,CHANGELOG.md, andRELEASE_NOTE.mdare not overwritten.README.md,CHANGELOG.md, andRELEASE_NOTE.mdare created.project.jsonis missing or invalid.ShortNameis missing or invalid.-OverrideWarning/--override-warningskips the prompt.Implementation notes
Initialize-NovaModule% nova copilotfor nowShortNameinproject.jsonShortNamefrom existing scaffold filesOut of scope
ShortNameinproject.jsonShortNamefrom existing filesnova copilot applyor other future copilot subcommands.github/content outside the approved path setValidation and documentation
Expected follow-up work:
docs/NovaModuleTools/en-US/README.mdCHANGELOG.mdRELEASE_NOTE.mdRecommended implementation agent
powershell-developer