Skip to content

Commit bca2576

Browse files
committed
feat(#212): add nova copilot command for Agentic Copilot scaffold
- Introduced `Invoke-NovaAgenticCopilotScaffold` for applying or refreshing the Agentic Copilot workflow in existing projects. - Added `% nova copilot` command for CLI usage. - Updated help documentation and examples for the new command.
1 parent 8e811a9 commit bca2576

42 files changed

Lines changed: 1078 additions & 26 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/agents/docs-site.agent.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Keep the GitHub Pages documentation under `docs/*.html` accurate, user-focused,
1414
- Update `docs/*.html` when end-user workflows, examples, or website wording change.
1515
- Preserve the separation between CLI-oriented website docs and PowerShell cmdlet help.
1616
- Check whether source, tests, help docs, and website docs still agree after a change.
17+
- Keep command-surface-toggle pages honest by splitting CLI-only and PowerShell-only wording into the matching `data-command-visibility` blocks instead of mixing both spellings in shared prose.
1718

1819
## Inputs to inspect
1920

@@ -37,15 +38,18 @@ Keep the GitHub Pages documentation under `docs/*.html` accurate, user-focused,
3738
- Treat `docs/*.html` as end-user website docs, not cmdlet help.
3839
- Keep CLI and cmdlet surfaces clearly separated.
3940
- Mention PowerShell-only commands in CLI-oriented docs only when there is no CLI equivalent for that scenario, such as installing NovaModuleTools with `Install-Module`.
41+
- On pages with the surface toggle, only show `--option` spellings in command-line-visible blocks and only show `-Parameter` spellings in PowerShell-visible blocks unless the wording is fully surface-neutral.
4042

4143
## Definition of done
4244

4345
- The changed website docs reflect the current behavior.
4446
- CLI-oriented docs do not drift into cmdlet-help wording.
47+
- Surface-specific labels, flags, and parameter names match the active website command surface.
4548
- Relevant contributor docs and changelog were reviewed for follow-up impact.
4649

4750
## Must not do
4851

4952
- Must not mix cmdlet syntax into CLI docs when a CLI variant exists.
53+
- Must not leave shared always-visible HTML copy with both CLI flags and PowerShell parameters when the page already has the command-surface toggle.
5054
- Must not use `docs/*.html` as a duplicate of `docs/NovaModuleTools/en-US/*.md`.
5155
- Must not leave installation/documentation exceptions implicit; state them clearly.

.github/instructions/documentation-separation.instructions.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ NovaModuleTools has multiple documentation surfaces with different audiences. Ke
2020
- Do not write cmdlet help markdown as if it were `nova` CLI documentation.
2121
- Use CLI syntax in CLI-oriented website docs when a CLI variant exists.
2222
- Use cmdlet syntax in help markdown and PowerShell-specific contributor guidance.
23+
- On website pages that support the command-surface toggle, keep surface-specific wording behind the matching visibility gate.
24+
- CLI-only flags, labels, and guidance belong in elements marked with `data-command-visibility="command-line"`.
25+
- PowerShell-only parameters, labels, and guidance belong in elements marked with `data-command-visibility="powershell"`.
26+
- Shared prose should stay surface-neutral instead of mixing `--option` and `-Parameter` spellings in the same always-visible paragraph.
2327

2428
## Allowed exception
2529

@@ -33,6 +37,7 @@ NovaModuleTools has multiple documentation surfaces with different audiences. Ke
3337
- Does this page describe a `nova` workflow or a PowerShell cmdlet workflow?
3438
- If a `nova` command exists, is the website doc using it instead of the cmdlet?
3539
- If a cmdlet is shown in website docs, is it there because no CLI variant exists?
40+
- If the page uses the command-surface toggle, do the visible labels, flags, and parameter names match the selected surface?
3641
- Would an end user mistake this page for cmdlet help?
3742

3843
## Follow-up expectations

.github/skills/docs-site/SKILL.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,20 @@ Use this skill when changing `docs/*.html`, end-user examples, installation guid
2424
- Use CLI-oriented examples when the workflow has a `nova` variant.
2525
- Mention PowerShell cmdlets only when no CLI equivalent exists for that scenario.
2626
- Keep installation guidance explicit about PowerShell-only steps such as `Install-Module`.
27+
- On pages with the command-surface toggle, keep option/parameter wording aligned with the active surface by using `data-command-visibility="command-line"` and `data-command-visibility="powershell"` blocks instead of one shared paragraph that mixes CLI flags with PowerShell parameters.
2728
- Recheck the matching command-help markdown when public behavior changes.
2829

2930
## Common pitfalls
3031

3132
- Mixing `Get-/Set-/Invoke-/Install-` cmdlets into CLI docs where `nova` exists
33+
- Leaving `--option` text visible in PowerShell mode, or `-Parameter` text visible in command-line mode, because the surrounding prose was not split by `data-command-visibility`
3234
- Duplicating cmdlet help text in website docs instead of adapting it for end users
3335
- Forgetting that `docs/NovaModuleTools/en-US/*.md` and `docs/*.html` serve different audiences
3436
- Updating website docs without reviewing changelog or contributor-doc impact
3537

3638
## Verification
3739

3840
- Read the touched HTML page as an end-user flow
41+
- Toggle the page mentally between PowerShell and command-line surfaces and confirm the visible option/parameter names still match that surface
3942
- Check whether the same behavior is documented consistently in help markdown or contributor docs
4043
- Use docs-only validation when no executable behavior changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
77

88
### Added
99

10+
- Added `Invoke-NovaAgenticCopilotScaffold` and `% nova copilot` for applying or refreshing Nova's managed Agentic Copilot scaffold in an existing project root.
11+
- The workflow reads `ProjectName` and `Description` from `project.json`, requires a `ShortName` on every run for token replacement, and fails clearly when the project metadata or short name is invalid.
12+
- Nova refreshes only the approved managed Agentic Copilot paths under `.github/` plus `AGENTS.md` and `CONTRIBUTING.md`, while `README.md`, `CHANGELOG.md`, and `RELEASE_NOTE.md` are created only when they are missing.
13+
- The new cmdlet and CLI route prompt before overwriting managed scaffold content by default, and support non-interactive execution only through `-OverrideWarning` / `--override-warning` / `-o`.
14+
1015
### Changed
1116

1217
### Deprecated
@@ -433,4 +438,3 @@ This release was yanked because it removed the implicit `Pester` dependency, bef
433438
[0.0.6]: https://github.com/stiwicourage/NovaModuleTools/compare/Version_0.0.5...Version_0.0.6
434439
[0.0.5]: https://github.com/stiwicourage/NovaModuleTools/compare/Version_0.0.4...Version_0.0.5
435440
[0.0.4]: https://github.com/stiwicourage/NovaModuleTools/compare/Version_0.0.3...Version_0.0.4
436-

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,19 @@ Direct PowerShell cmdlets such as `Publish-NovaModule`, `Deploy-NovaPackage`, an
176176

177177
The module does not export a PowerShell alias named `nova`. Install the bundled launcher with `Install-NovaCli` when you want `% nova ...` available directly from your shell.
178178

179+
### Apply or refresh the Agentic Copilot scaffold
180+
181+
Use the dedicated scaffold command when you want to add Nova's maintained Agentic Copilot workflow to an existing project, or refresh an older scaffold to Nova's latest managed version:
182+
183+
```powershell
184+
PS> Invoke-NovaAgenticCopilotScaffold -ShortName NMT
185+
% nova copilot --short-name NMT
186+
```
187+
188+
The target directory must contain a valid `project.json`. Nova reads `ProjectName` and `Description` from that file, requires `ShortName` on every run for token replacement, and refreshes only the Nova-managed Agentic Copilot paths under `.github/` plus `AGENTS.md` and `CONTRIBUTING.md`. Existing `README.md`, `CHANGELOG.md`, and `RELEASE_NOTE.md` are preserved and are created only when they are missing.
189+
190+
By default the scaffold flow prompts before it overwrites the managed paths. Use `-OverrideWarning` or `--override-warning` only when you intentionally want a non-interactive apply. The CLI also supports the short form `% nova copilot -n NMT -o`. Use `-WhatIf` or `--what-if` when you want to preview the operation without changing files.
191+
179192
### Reload the built module while iterating
180193

181194
Use the built output during development so you validate the same shape CI uses:

RELEASE_NOTE.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ This file summarizes the release notes for NovaModuleTools. **UNRELEASED** chang
66

77
### Added
88

9+
- Added `Invoke-NovaAgenticCopilotScaffold` and `% nova copilot` for adding or refreshing Nova's managed Agentic Copilot workflow in an existing project.
10+
- The workflow reads `ProjectName` and `Description` from `project.json`, requires an explicit `ShortName` on every run, and stops with a clear validation error when the target project metadata is missing or invalid.
11+
- Nova refreshes only its managed Agentic Copilot files and folders, while `README.md`, `CHANGELOG.md`, and `RELEASE_NOTE.md` are created only when they are missing.
12+
- The command prompts before overwrite by default and supports non-interactive execution only through `-OverrideWarning` / `--override-warning` / `-o`.
13+
914
### Changed
1015

1116
### Deprecated
@@ -195,4 +200,3 @@ This release was yanked because it removed the implicit `Pester` dependency befo
195200
## [0.0.4] - 2024-06-25
196201
### Added
197202
- First PowerShell Gallery release of NovaModuleTools with the initial module workflow support.
198-

docs/NovaModuleTools/en-US/Deploy-NovaPackage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
document type: cmdlet
33
external help file: NovaModuleTools-Help.xml
4-
HelpUri: ''
4+
HelpUri: 'https://www.novamoduletools.com/packaging-and-delivery.html#upload'
55
Locale: en-US
66
Module Name: NovaModuleTools
77
ms.date: 04/25/2026

docs/NovaModuleTools/en-US/Get-NovaProjectInfo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
document type: cmdlet
33
external help file: NovaModuleTools-Help.xml
4-
HelpUri: ''
4+
HelpUri: 'https://www.novamoduletools.com/project-json-reference.html'
55
Locale: en-US
66
Module Name: NovaModuleTools
77
ms.date: 05/06/2026

docs/NovaModuleTools/en-US/Get-NovaUpdateNotificationPreference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
document type: cmdlet
33
external help file: NovaModuleTools-Help.xml
4-
HelpUri: ''
4+
HelpUri: 'https://www.novamoduletools.com/versioning-and-updates.html#notification-preferences'
55
Locale: en-US
66
Module Name: NovaModuleTools
77
ms.date: 04/25/2026

docs/NovaModuleTools/en-US/Initialize-NovaModule.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
document type: cmdlet
33
external help file: NovaModuleTools-Help.xml
4-
HelpUri: ''
4+
HelpUri: 'https://www.novamoduletools.com/core-workflows.html#scaffold'
55
Locale: en-US
66
Module Name: NovaModuleTools
77
ms.date: 04/25/2026

0 commit comments

Comments
 (0)