Skip to content

Commit 9920d04

Browse files
authored
fix(#187): clean up public help surface (#192)
* fix(#187): clean up public help surface Remove Invoke-NovaCli from user-facing PlatyPS help, drop legacy Invoke-NovaRelease PublishOption guidance, and update help tests to match the intended public documentation surface. * #187 fix: Removed Documentation section from CHANGELOG.md
1 parent 3a69d99 commit 9920d04

10 files changed

Lines changed: 25 additions & 232 deletions

CHANGELOG.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4545
- Adds focused CodeScene skills for refactoring with Code Health and for safeguarding AI-touched code before commit
4646
or
4747
PR readiness, instead of overloading the broader `codescene-quality` skill.
48+
- Added a root-level `RELEASE_NOTE.md` that is separate from `CHANGELOG.md`.
49+
- `CHANGELOG.md` remains the exhaustive release history.
50+
- `RELEASE_NOTE.md` now captures only public cmdlet, CLI, configuration, and migration-impacting changes, including
51+
backfilled summaries for the existing released versions in `CHANGELOG.md`.
52+
- `Tests.yml` now validates both files, and `Publish.yml` now finalizes both files during stable release
53+
preparation.
54+
- The public release-notes page now renders `RELEASE_NOTE.md` instead of the full changelog feed.
4855

4956
### Changed
5057

@@ -75,16 +82,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7582
explicitly, while the published `NovaModuleTools` manifest continues to declare that dependency for installed
7683
workflows.
7784

78-
### Documentation
79-
80-
- Added a root-level `RELEASE_NOTE.md` that is separate from `CHANGELOG.md`.
81-
- `CHANGELOG.md` remains the exhaustive release history.
82-
- `RELEASE_NOTE.md` now captures only public cmdlet, CLI, configuration, and migration-impacting changes, including
83-
backfilled summaries for the existing released versions in `CHANGELOG.md`.
84-
- `Tests.yml` now validates both files, and `Publish.yml` now finalizes both files during stable release
85-
preparation.
86-
- The public release-notes page now renders `RELEASE_NOTE.md` instead of the full changelog feed.
87-
8885
### Security
8986

9087
## [2.3.1] - 2026-05-08

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,5 +375,4 @@ If no upload target can be resolved, `Deploy-NovaPackage` fails fast with a clea
375375
## RELATED LINKS
376376

377377
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/New-NovaModulePackage.md
378-
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Invoke-NovaCli.md
379378
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Publish-NovaModule.md

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,4 +162,3 @@ metadata such as project name, description, version, author, and PowerShell host
162162

163163
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Invoke-NovaBuild.md
164164
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Get-NovaProjectInfo.md
165-
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Invoke-NovaCli.md

docs/NovaModuleTools/en-US/Install-NovaCli.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ By default, the launcher is installed to `~/.local/bin/nova` on macOS and Linux.
3333

3434
After a successful install, `Install-NovaCli` also prints the release notes link from the installed module manifest.
3535

36-
Use this command when you want `nova` to be available as a launcher-oriented CLI entrypoint instead of invoking
37-
`Invoke-NovaCli` directly from PowerShell.
36+
Use this command when you want `nova` to be available directly from your shell as the launcher-oriented CLI entrypoint.
3837

3938
## EXAMPLES
4039

@@ -176,5 +175,4 @@ After running `Install-NovaCli`, add the destination directory to your shell `PA
176175

177176
## RELATED LINKS
178177

179-
- `Invoke-NovaCli`
180178
- `Publish-NovaModule`

docs/NovaModuleTools/en-US/Invoke-NovaCli.md

Lines changed: 0 additions & 168 deletions
This file was deleted.

docs/NovaModuleTools/en-US/Invoke-NovaRelease.md

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,6 @@ PS> Invoke-NovaRelease [-Local] [[-ModuleDirectoryPath] <string>] [[-ApiKey] <st
2929
PS> Invoke-NovaRelease -Repository <string> [[-ModuleDirectoryPath] <string>] [[-ApiKey] <string>] [-SkipTests] [-ContinuousIntegration] [-OverrideWarning] [[-Path] <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
3030
```
3131

32-
### PublishOption
33-
34-
```text
35-
PS> Invoke-NovaRelease -PublishOption <hashtable> [-SkipTests] [-ContinuousIntegration] [-OverrideWarning] [[-Path] <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
36-
```
37-
3832
## DESCRIPTION
3933

4034
`Invoke-NovaRelease` orchestrates a full release flow:
@@ -220,37 +214,6 @@ AcceptedValues: [ ]
220214
HelpMessage: ''
221215
```
222216

223-
### -PublishOption
224-
225-
DEPRECATED: This function will be removed in a future version.
226-
Legacy hashtable form for publish behavior.
227-
228-
Common keys:
229-
230-
- `Local`
231-
- `Repository`
232-
- `ApiKey`
233-
- `ModuleDirectoryPath`
234-
235-
Prefer the direct `-Local`, `-Repository`, `-ModuleDirectoryPath`, and `-ApiKey` parameters for new automation.
236-
237-
```yaml
238-
Type: System.Collections.Hashtable
239-
DefaultValue: '@{}'
240-
SupportsWildcards: false
241-
Aliases: [ ]
242-
ParameterSets:
243-
- Name: PublishOption
244-
Position: Named
245-
IsRequired: false
246-
ValueFromPipeline: false
247-
ValueFromPipelineByPropertyName: false
248-
ValueFromRemainingArguments: false
249-
DontShow: false
250-
AcceptedValues: [ ]
251-
HelpMessage: ''
252-
```
253-
254217
### -Path
255218

256219
Project root path where the release command should run.
@@ -334,12 +297,6 @@ ParameterSets:
334297
Position: Named
335298
- Name: Repository
336299
Position: Named
337-
- Name: PublishOption
338-
Position: Named
339-
IsRequired: false
340-
ValueFromPipeline: false
341-
ValueFromPipelineByPropertyName: false
342-
ValueFromRemainingArguments: false
343300
DontShow: false
344301
AcceptedValues: [ ]
345302
HelpMessage: ''

docs/NovaModuleTools/en-US/New-NovaModulePackage.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,4 +297,3 @@ guard only for the current packaging run.
297297

298298
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Invoke-NovaBuild.md
299299
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Test-NovaBuild.md
300-
- https://github.com/stiwicourage/NovaModuleTools/blob/main/docs/NovaModuleTools/en-US/Invoke-NovaCli.md

docs/NovaModuleTools/en-US/NovaModuleTools.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,6 @@ Installs the bundled command-line launcher into a user command directory on macO
3939

4040
Builds the current NovaModuleTools project into a ready-to-import PowerShell module.
4141

42-
### `PS> Invoke-NovaCli`
43-
44-
Routes Nova commands through the explicit PowerShell cmdlet entrypoint.
45-
4642
### `PS> Invoke-NovaRelease`
4743

4844
Runs the Nova release pipeline (build, test, version bump, rebuild, publish).

docs/NovaModuleTools/en-US/Update-NovaModuleTools.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ prerelease setting.
157157

158158
## RELATED LINKS
159159

160-
- `Invoke-NovaCli`
161160
- `Get-NovaUpdateNotificationPreference`
162161
- `Set-NovaUpdateNotificationPreference`
163162
- `Invoke-NovaBuild`

tests/NovaCommandModel.Tests.ps1

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,11 @@ Describe 'Nova command model - project, help, and build behavior' {
463463
$script:helpActivationTestCases | Should -Not -BeNullOrEmpty
464464
}
465465

466+
It 'help docs keep Invoke-NovaCli out of the user-facing help surface' {
467+
$script:helpActivationTestCases.HelpTarget | Should -Not -Contain 'Invoke-NovaCli'
468+
(Test-Path -LiteralPath (Join-Path $script:helpDocsDir 'en-US/Invoke-NovaCli.md')) | Should -BeFalse
469+
}
470+
466471
It 'Get-Help loads synopsis for every command help file discovered in docs' {
467472
foreach ($testCase in $script:helpActivationTestCases) {
468473
$help = Get-Help $testCase.HelpTarget -ErrorAction Stop
@@ -510,12 +515,17 @@ Describe 'Nova command model - project, help, and build behavior' {
510515
'WhatIf',
511516
'Confirm'
512517
)
518+
$undocumentedLegacyParametersByCommand = @{
519+
'Invoke-NovaRelease' = @('PublishOption')
520+
}
513521

514522
foreach ($testCase in $script:helpActivationTestCases) {
515523
$command = Get-Command $testCase.HelpTarget -ErrorAction Stop
524+
$undocumentedLegacyParameters = @($undocumentedLegacyParametersByCommand[$testCase.HelpTarget])
516525
$expectedParameterNames = @(
517526
$command.Parameters.Keys |
518527
Where-Object {$_ -notin $commonParameterNames} |
528+
Where-Object {$_ -notin $undocumentedLegacyParameters} |
519529
Sort-Object
520530
)
521531

@@ -540,6 +550,13 @@ Describe 'Nova command model - project, help, and build behavior' {
540550
}
541551
}
542552

553+
It 'Get-Help keeps legacy Invoke-NovaRelease -PublishOption guidance out of user-facing help' {
554+
$fullText = Get-Help Invoke-NovaRelease -Full -ErrorAction Stop | Out-String
555+
556+
$fullText | Should -Not -Match ([regex]::Escape('-PublishOption'))
557+
{Get-Help Invoke-NovaRelease -Parameter PublishOption -ErrorAction Stop} | Should -Throw
558+
}
559+
543560
It 'Get-Help explains how to manage prerelease self-update eligibility' {
544561
$buildHelp = Get-Help Invoke-NovaBuild -Full -ErrorAction Stop | Out-String
545562
$updateHelp = Get-Help Update-NovaModuleTool -Full -ErrorAction Stop | Out-String

0 commit comments

Comments
 (0)