Skip to content

Enhance Nova CLI commands with improved feedback and error handling#236

Merged
stiwicourage merged 20 commits into
developfrom
feature/215-refactordeploy-novapackage-align-with-terminal-ux-design-principles
May 24, 2026
Merged

Enhance Nova CLI commands with improved feedback and error handling#236
stiwicourage merged 20 commits into
developfrom
feature/215-refactordeploy-novapackage-align-with-terminal-ux-design-principles

Conversation

@stiwicourage

Copy link
Copy Markdown
Owner

Summary

  • What changed? - This branch adds terminal-UX/result-summary improvements across user-facing Nova workflows: Invoke-NovaBuild, Test-NovaBuild, New-NovaModulePackage, Publish-NovaModule, Update-NovaModuleTool, Update-NovaModuleVersion, Set-NovaUpdateNotificationPreference, Install-NovaCli, Invoke-NovaAgenticCopilotScaffold, and Invoke-NovaCli.
  • It also adds a dedicated PlatyPS help topic for Invoke-NovaCli, updates related command help, and updates CHANGELOG.md plus RELEASE_NOTE.md to reflect the final behavior.
  • Release impact: user-facing behavior changes are real, but project.json and .github/workflows/Publish.yml are unchanged, so branch semantics stay the same (develop prerelease flow first, main stable later).
  • Why was this change needed? - To align Nova’s terminal workflows with clearer progress, preview, cancellation, and next-step guidance, especially in higher-risk publish/release/self-update paths.
  • Link the issue, discussion, or follow-up work (for example Closes Feature/119 add an explicit skip test option to the package publish and release workflows #123). - No linked issue was provided.

Affected area

  • nova CLI or command routing
  • Public PowerShell cmdlet behavior
  • Scaffolding or project.json handling
  • Build, test, analyzer, coverage, or CI helper flow
  • Package, raw upload, or package metadata workflow
  • Publish, release, or GitHub Actions automation
  • Self-update or notification preference behavior
  • Contributor documentation (README.md, CONTRIBUTING.md, repository workflow docs)
  • End-user docs (docs/*.html)
  • Command help (docs/NovaModuleTools/en-US/*.md)
  • src/resources/example/
  • Dependency or manifest changes (project.json, workflow dependencies, release tooling)
  • Security-sensitive change
  • Documentation-only change
  • Agentic Copilot Workflow + scaffold mirror + scaffold-sync guardrail test.
  • Other

Review guidance

  • Start with CHANGELOG.md and RELEASE_NOTE.md, then review the workflow implementations under src/private/build/, src/private/quality/, src/private/package/, src/private/release/, src/private/update/, src/private/scaffold/, and src/private/cli/.
  • Primary files/folders changed: src/private/**, src/public/InvokeNovaCli.ps1, src/public/SetNovaUpdateNotificationPreference.ps1, src/public/UpdateNovaModuleTools.ps1, docs/NovaModuleTools/en-US/*.md, CHANGELOG.md, RELEASE_NOTE.md, and matching Pester suites under tests/.
  • Notable caveat: most release/publish/update changes are output/preview/confirmation-path changes, so the highest-risk review points are -WhatIf, prerelease confirmation, local publish import, and CI dist-module restore behavior.

Validation

  • Invoke-NovaBuild
  • Test-NovaBuild
  • ./scripts/build/Invoke-ScriptAnalyzerCI.ps1
  • ./scripts/build/ci/Invoke-NovaModuleToolsCI.ps1
  • Targeted Nova workflow validated (% nova build, % nova test, % nova merge, % nova deploy, % nova publish, % nova release, % nova update, % nova notification, or % nova init as relevant)
  • Docs/example only; executable validation not needed

Validation notes:

Reviewed the actual diff against develop and checked CHANGELOG.md, RELEASE_NOTE.md, project.json,
.github/pull_request_template.md, .github/workflows/Publish.yml, README.md, CONTRIBUTING.md,
touched help files, and touched tests.

Executed targeted Pester coverage for the changed workflow surfaces:

  • 15 focused workflow/public-wrapper suites: build, CLI routing/install, package, test, release,
    publish, version update, self-update, notification preference, scaffold
  • tests/ArchitectureGuardrails.Tests.ps1

Result:

  • 123 tests passed, 0 failed

Not run during release-summary prep:

  • Invoke-NovaBuild
  • Test-NovaBuild
  • ScriptAnalyzer CI wrapper
  • full CI wrapper
  • live end-to-end publish/release smoke flow

Documentation and release follow-up

  • README.md reviewed and updated if contributor workflow, architecture, CI, release, or automation changed
  • CONTRIBUTING.md reviewed and updated if contribution expectations or review guidance changed
  • CHANGELOG.md reviewed and updated if the change matters to users, maintainers, or contributors
  • RELEASE_NOTE.md reviewed and updated if the change affects public cmdlet usage, CLI usage, configuration semantics, or migration expectations
  • docs/NovaModuleTools/en-US/ help updated if a public command or CLI behavior changed
  • docs/*.html updated if end-user workflows or examples changed
  • src/resources/example/ reviewed and updated if the real-world project layout, package model, or upload workflow changed
  • No documentation, changelog, release-note, or example updates were needed

Maintainability, compatibility, and risk

  • Code Health / maintainability impact considered
  • No breaking change
  • Breaking change
  • Security-sensitive change
  • CI, workflow, or release-pipeline impact
  • Dependency-review impact

Risk, rollout, or rollback notes:

Stable/prerelease semantics are unchanged: Publish.yml still treats main as the stable release branch
and develop as the prerelease branch, and project.json versioning was not changed in this diff.

Release-facing impact applies to both channels once shipped, but this branch will reach users through
the develop preview flow first. The unreleased CHANGELOG.md and RELEASE_NOTE.md entries match the
observed workflow/help changes; RELEASE_NOTE.md already has real entries (no placeholder) and no
compare-link footer URLs.

Highest operational risk is in publish/release/self-update/version flows because the changes alter
WhatIf, cancellation, progress, and result-summary behavior around real release operations. The Pester
coverage is good, but it is mostly mocked workflow validation, so one manual smoke pass for:

  • Publish-NovaModule -WhatIf
  • Invoke-NovaRelease -WhatIf
  • Update-NovaModuleTool -WhatIf
  • one local publish path
    would still be prudent before cutting or promoting a release.

[!IMPORTANT]
Do not use a public pull request to disclose a vulnerability before coordinated handling.
Use the private reporting path in SECURITY.md for new security issues.

 Add source-mirrored, dot-source-first Pester test files for the small
 and well-isolated helpers under src/private/scaffold and
 src/private/update so each unit-level helper has a focused test file
 under tests/private/scaffold or tests/private/update instead of being
 covered only through broad legacy coverage files. The remaining
 workflow-level scaffold and update helpers stay covered by the existing
 broad tests for now.
…package-align-with-terminal-ux-design-principles

* develop:
  Restore and clarify deploy help links and update tests (#234)

# Conflicts:
#	CHANGELOG.md
#	RELEASE_NOTE.md
…steps guidance

Closes refactor(Install-NovaCli): align with terminal-ux-design principles
Fixes #219
Closes refactor(Invoke-NovaAgenticCopilotScaffold): align with terminal-ux-design principles
Fixes #220
Closes refactor(Invoke-NovaBuild): align with terminal-ux-design principles
Fixes #221
… and error messages

refactor(Invoke-NovaCli): align with terminal-ux-design principles
Fixes #222
…t-step guidance

refactor(Invoke-NovaRelease): align with terminal-ux-design principles
Fixes #223
…next-step guidance

refactor(New-NovaModulePackage): align with terminal-ux-design principles
Fixes #224
…t-step guidance

refactor(Publish-NovaModule): align with terminal-ux-design principles
Fixes #225
…upport and improved messaging

refactor(Set-NovaUpdateNotificationPreference): align with terminal-ux-design principles
Fixes #226
…ble guidance in WhatIf mode

refactor(Test-NovaBuild): align with terminal-ux-design principles
Fixes #227
…hatIf support

refactor(Update-NovaModuleTools): align with terminal-ux-design principles
Fixes #228
…d detailed summaries

refactor(Update-NovaModuleVersion): align with terminal-ux-design principles
Fixes #229
@github-actions

github-actions Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Passed
6 Quality Gates Passed

See analysis details in CodeScene

Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Coverage Gates Passed
Overall Coverage: 99.5% (required = 95%)
New & Changed Code Coverage: 99.8% (required = 99%)

Review details by gate
  • Overall Coverage

    • Pass/Fail Reason:
      The overall coverage gate was checked for all code and meets the goal: 99.5% covered >= threshold = 95%
    • Action:
      You have 292 files with a sum of 3732 covered and 18 uncovered lines of code.
  • New & Changed Code Coverage

    • Pass/Fail Reason:
      New or changed code meets coverage goal: 99.8% covered >= threshold = 99%
    • Action:
      You modified 17 files, and covered 507 added/modified lines of code.

@stiwicourage
stiwicourage merged commit 12197e1 into develop May 24, 2026
14 checks passed
@stiwicourage
stiwicourage deleted the feature/215-refactordeploy-novapackage-align-with-terminal-ux-design-principles branch May 24, 2026 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant