Skip to content

Commit b6167db

Browse files
committed
fix: remove run.ps1 references from agentic scaffold guidance
1 parent b5911db commit b6167db

19 files changed

Lines changed: 112 additions & 40 deletions

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
2020
- The getting-started guide now splits the Agentic quickstart explanation into shorter paragraphs so the scaffold flow stays readable on the site.
2121
- The core workflows guide now splits the scaffold and Agentic starter explanation into shorter paragraphs so the page stays readable on the site.
2222
- The command cheat sheet now stacks the three "Set up a project" cards vertically so the section reads top-to-bottom without a missing grid slot.
23+
- The Agentic Copilot starter shipped by `nova init` no longer tells generated projects to use a `run.ps1` quality wrapper that the template does not include.
24+
- The scaffold now points generated documentation and agent guidance to the repository quality loop wording plus the existing analyzer and `Test-NovaBuild` entrypoints instead.
2325

2426
### Security
2527

RELEASE_NOTE.md

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

1515
### Fixed
1616

17+
- The Agentic Copilot starter shipped by `nova init` no longer tells generated projects to use a `run.ps1` quality wrapper that the template does not include.
18+
1719
### Security
1820

1921
## [3.0.0] - 2026-05-17
@@ -188,4 +190,3 @@ This release was yanked because it removed the implicit `Pester` dependency befo
188190
## [0.0.4] - 2024-06-25
189191
### Added
190192
- First PowerShell Gallery release of NovaModuleTools with the initial module workflow support.
191-

scripts/build/Sync-AgenticCopilotScaffold.psd1

Lines changed: 64 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,18 @@
254254
Old = 'applyTo: "tests/**/*.ps1,scripts/build/**/*.ps1,"'
255255
New = 'applyTo: "tests/**/*.ps1,scripts/build/**/*.ps1"'
256256
}
257+
@{
258+
Old = 'applyTo: "src/**/*.ps1,tests/**/*.ps1,scripts/**/*.ps1,run.ps1,reload.ps1"'
259+
New = 'applyTo: "src/**/*.ps1,tests/**/*.ps1,scripts/**/*.ps1,reload.ps1"'
260+
}
261+
@{
262+
Old = 'applyTo: "src/**/*.ps1,scripts/**/*.ps1,run.ps1,reload.ps1"'
263+
New = 'applyTo: "src/**/*.ps1,scripts/**/*.ps1,reload.ps1"'
264+
}
265+
@{
266+
Old = '- Use these rules when writing or reviewing `src/**/*.ps1`, `scripts/**/*.ps1`, `run.ps1`, and `reload.ps1`.'
267+
New = '- Use these rules when writing or reviewing `src/**/*.ps1`, `scripts/**/*.ps1`, and `reload.ps1`.'
268+
}
257269
@{
258270
Old = 'quality tooling tooling'
259271
New = 'quality tooling'
@@ -268,7 +280,55 @@
268280
}
269281
@{
270282
Old = '- Run `./run.ps1`'
271-
New = '- Run full regression tests'
283+
New = '- Run the repository quality loop when one exists'
284+
}
285+
@{
286+
Old = '- local quality loop: `pwsh -NoLogo -NoProfile -File ./run.ps1`'
287+
New = '- local quality loop: use the repository quality wrapper when one exists; otherwise run ScriptAnalyzer, build, and `Test-NovaBuild` in the documented project order'
288+
}
289+
@{
290+
Old = 'If `run.ps1` or `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` reports findings, fix them before review, handoff, or commit. Do not treat a failing local quality loop as an acceptable stopping point.'
291+
New = 'If the repository quality loop or `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` reports findings, fix them before review, handoff, or commit. Do not treat a failing validation run as an acceptable stopping point.'
292+
}
293+
@{
294+
Old = ' - full local loop: `./run.ps1`'
295+
New = ' - full local loop: the repository quality wrapper, when present'
296+
}
297+
@{
298+
Old = '- Prefer one focused analyzer run on the changed files while iterating, then rerun `./scripts/build/Invoke-ScriptAnalyzerCI.ps1`, then `./run.ps1` before handoff.'
299+
New = '- Prefer one focused analyzer run on the changed files while iterating, then rerun `./scripts/build/Invoke-ScriptAnalyzerCI.ps1`, then the repository quality loop before handoff when the project defines one.'
300+
}
301+
@{
302+
Old = 'Prefer `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` and `./run.ps1`'
303+
New = 'Prefer `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` and the repository quality loop, when present'
304+
}
305+
@{
306+
Old = 'Prefer `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` and the repository quality loop, when present for normal analyzer loops; use direct `Invoke-ScriptAnalyzer` only for focused local checks that reuse the repository-approved settings.'
307+
New = 'Prefer `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` and the repository quality loop, when present, for normal analyzer loops; use direct `Invoke-ScriptAnalyzer` only for focused local checks that reuse the repository-approved settings.'
308+
}
309+
@{
310+
Old = 'If `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1` reports ScriptAnalyzer findings'
311+
New = 'If the repository quality loop or `Invoke-ScriptAnalyzerCI.ps1` reports ScriptAnalyzer findings'
312+
}
313+
@{
314+
Old = 'reported by `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1`'
315+
New = 'reported by the repository quality loop or `Invoke-ScriptAnalyzerCI.ps1`'
316+
}
317+
@{
318+
Old = 'from `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1`'
319+
New = 'from the repository quality loop or `Invoke-ScriptAnalyzerCI.ps1`'
320+
}
321+
@{
322+
Old = '`run.ps1`-style local checks ordered as ScriptAnalyzer first, then `Invoke-NovaBuild`, then `Test-NovaBuild`.'
323+
New = 'local quality checks ordered as ScriptAnalyzer first, then `Invoke-NovaBuild`, then `Test-NovaBuild` when the project defines a combined wrapper.'
324+
}
325+
@{
326+
Old = 'Resolve any ScriptAnalyzer findings that `./run.ps1` reports before handoff.'
327+
New = 'Resolve any ScriptAnalyzer findings reported by the repository quality loop before handoff.'
328+
}
329+
@{
330+
Old = '4. After meaningful steps, run `./run.ps1` (analyzer → build → `Test-NovaBuild`).'
331+
New = '4. After meaningful steps, run the repository quality loop when present (typically analyzer → build → `Test-NovaBuild`).'
272332
}
273333
@{
274334
Old = 'or GitHub release automation.'
@@ -316,11 +376,11 @@
316376
}
317377
@{
318378
Old = '- `pwsh -NoLogo -NoProfile -File ./run.ps1` before completion'
319-
New = ''
379+
New = '- the repository quality loop before completion'
320380
}
321381
@{
322382
Old = '- `pwsh -NoLogo -NoProfile -File ./run.ps1`'
323-
New = ''
383+
New = '- the repository quality loop, when present'
324384
}
325385
@{
326386
Old = '- `./scripts/build/ci/Invoke-{{ProjectName}}CI.ps1 -OutputDirectory ./artifacts`'
@@ -360,7 +420,7 @@
360420
}
361421
@{
362422
Old = '- a `code_health_review`, reviewer, or `./run.ps1` run flags maintainability problems'
363-
New = '- a reviewer or `./run.ps1` run flags maintainability problems'
423+
New = '- a reviewer or the repository quality loop flags maintainability problems'
364424
}
365425
@{
366426
Old = '- measuring or driving a single file''s score across steps — use `guiding-refactoring-with-code-health` for that'

src/resources/agentic-copilot/.github/agents/powershell-developer.agent.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Implement PowerShell command and helper changes in the {{ProjectName}} style.
4242
- Keep raw infrastructure calls behind approved adapters.
4343
- Preserve existing command names, warning semantics, and output shape.
4444
- Keep new or heavily changed source functions aligned with `.github/instructions/code-quality-matrix.instructions.md`: short, single-purpose, low-duplication, and split by clear responsibility unless the scope explicitly justifies otherwise.
45-
- Prefer `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` and `./run.ps1` for normal analyzer loops; use direct `Invoke-ScriptAnalyzer` only for focused local checks that reuse the repository-approved settings.
45+
- Prefer `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` and the repository quality loop, when present, for normal analyzer loops; use direct `Invoke-ScriptAnalyzer` only for focused local checks that reuse the repository-approved settings.
4646
- Validate Nova-managed project tests through `Test-NovaBuild`; do not call `Invoke-Pester` directly.
4747
- When help files change, keep `docs/{{ProjectName}}/en-US/*.md` valid for `Import-MarkdownCommandHelp`: build and import the dist module first (`Import-Module ./dist/{{ProjectName}}/{{ProjectName}}.psd1 -Force`), then use `New-MarkdownCommandHelp` for new files, `Update-MarkdownCommandHelp` after command-surface changes, and `Test-MarkdownCommandHelp` before handoff. Generating help without the module imported causes `external help file` to default to the command name instead of the module name, producing per-command XML files that the manifest cannot find. A new public `src/public/*.ps1` file is not done until its matching help file exists.
4848

@@ -53,7 +53,7 @@ Implement PowerShell command and helper changes in the {{ProjectName}} style.
5353
- Public/private file ownership still follows the one externally called function per file rule, with private helpers kept as sibling top-level functions instead of nested function declarations.
5454
- Every new public entry point has its matching help file.
5555
- Project test validation ran through `Test-NovaBuild`.
56-
- Any ScriptAnalyzer findings reported by `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1` are resolved.
56+
- Any ScriptAnalyzer findings reported by the repository quality loop or `Invoke-ScriptAnalyzerCI.ps1` are resolved.
5757
- Every changed or generated text file has been checked and ends with exactly one trailing newline and no extra blank lines at the bottom.
5858
- Docs/changelog review is complete.
5959
- The relevant validation commands have been run.

src/resources/agentic-copilot/.github/agents/reviewer.agent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Review changes for correctness, maintainability, test coverage, workflow safety,
2929
- Flag broad catch-all test files when focused source-mirrored tests would make ownership clearer.
3030
- Flag Nova-managed validation that bypasses `Test-NovaBuild` with direct `Invoke-Pester`.
3131
- Flag any PSScriptAnalyzer rule excludes or suppressions; the code should be fixed instead.
32-
- Flag unresolved ScriptAnalyzer findings from `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1`; they should be fixed instead of deferred.
32+
- Flag unresolved ScriptAnalyzer findings from the repository quality loop or `Invoke-ScriptAnalyzerCI.ps1`; they should be fixed instead of deferred.
3333
- Flag every changed or generated text file if they do not exactly have one trailing newline with no extra blank lines at the bottom.
3434

3535
## Inputs to inspect

src/resources/agentic-copilot/.github/instructions/code-quality-matrix.instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
applyTo: "src/**/*.ps1,scripts/**/*.ps1,run.ps1,reload.ps1"
2+
applyTo: "src/**/*.ps1,scripts/**/*.ps1,reload.ps1"
33
---
44

55
# Code quality matrix
@@ -14,7 +14,7 @@ This file tells Agentic Copilot how to shape source code from the start. Test-sp
1414

1515
## How to apply this guidance
1616

17-
- Use these rules when writing or reviewing `src/**/*.ps1`, `scripts/**/*.ps1`, `run.ps1`, and `reload.ps1`.
17+
- Use these rules when writing or reviewing `src/**/*.ps1`, `scripts/**/*.ps1`, and `reload.ps1`.
1818
- Prefer these patterns in new or heavily changed code instead of leaving cleanup for later.
1919
- Treat the thresholds as default goals, not as opinions. Use them to decide whether a function or file should be split.
2020
- If a change must violate one of these rules, keep the exception narrow and explain the trade-off clearly in the handoff.

src/resources/agentic-copilot/.github/instructions/powershell-coding-standards.instructions.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
applyTo: "src/**/*.ps1,tests/**/*.ps1,scripts/**/*.ps1,run.ps1,reload.ps1"
2+
applyTo: "src/**/*.ps1,tests/**/*.ps1,scripts/**/*.ps1,reload.ps1"
33
---
44

55
# {{ProjectName}} PowerShell coding standards
@@ -39,7 +39,7 @@ Use this file when changing `src/public/`, `src/private/`, or PowerShell build/r
3939
- When public command help changes, follow `.github/instructions/platyps-help.instructions.md` and use `New-MarkdownCommandHelp`, `Update-MarkdownCommandHelp`, and `Test-MarkdownCommandHelp` instead of hand-authoring the help structure.
4040
- Do not add PSScriptAnalyzer `ExcludeRule`, `ExcludeRules`, suppression attributes, or generated settings that hide analyzer findings. Fix the rule violation instead.
4141
- Keep local quality wrappers ordered as ScriptAnalyzer first, then `Invoke-NovaBuild`, then `Test-NovaBuild`.
42-
- If `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1` reports ScriptAnalyzer findings, fix them before treating the change as complete.
42+
- If the repository quality loop or `Invoke-ScriptAnalyzerCI.ps1` reports ScriptAnalyzer findings, fix them before treating the change as complete.
4343

4444
## Formatting rules
4545

@@ -93,6 +93,6 @@ Use this file when changing `src/public/`, `src/private/`, or PowerShell build/r
9393

9494
- Update or add Pester coverage for behavior changes.
9595
- Recheck `tests/*Architecture*.Tests.ps1` when changing layering or helper placement.
96-
- Run full regression tests before considering a code change complete.
97-
- Resolve any ScriptAnalyzer findings that `./run.ps1` reports before handoff.
96+
- Run the repository quality loop when one exists before considering a code change complete.
97+
- Resolve any ScriptAnalyzer findings reported by the repository quality loop before handoff.
9898
- Before handoff, review the changed/generated text files and normalize any file endings that violate the single-trailing-newline rule.

src/resources/agentic-copilot/.github/instructions/psscriptanalyzer.instructions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
applyTo: "src/**/*.ps1,tests/**/*.ps1,scripts/**/*.ps1,run.ps1,reload.ps1"
2+
applyTo: "src/**/*.ps1,tests/**/*.ps1,scripts/**/*.ps1,reload.ps1"
33
---
44

55
# PSScriptAnalyzer workflow rules
@@ -17,7 +17,7 @@ Use this file when changing PowerShell code, tests, build helpers, or analyzer w
1717

1818
1. Use the repository wrappers as the authoritative entrypoints:
1919
- analyzer only: `./scripts/build/Invoke-ScriptAnalyzerCI.ps1`
20-
- full local loop: `./run.ps1`
20+
- full local loop: the repository quality wrapper, when present
2121
2. Use raw `Invoke-ScriptAnalyzer` only for focused local investigation or when you are deliberately changing analyzer tooling.
2222
3. When you call `Invoke-ScriptAnalyzer` directly, point it at real `.ps1`, `.psm1`, or `.psd1` paths, use `-Recurse` when analyzing a directory, and reuse the repository-approved analyzer settings through `-Settings` instead of inventing a new rule selection.
2323
4. Treat `Error`, `Warning`, and `ParseError` diagnostics as findings to fix before handoff. Parser errors are analyzer diagnostics too and are not something to suppress away.
@@ -27,7 +27,7 @@ Use this file when changing PowerShell code, tests, build helpers, or analyzer w
2727

2828
## Authoring guidance
2929

30-
- Prefer one focused analyzer run on the changed files while iterating, then rerun `./scripts/build/Invoke-ScriptAnalyzerCI.ps1`, then `./run.ps1` before handoff.
30+
- Prefer one focused analyzer run on the changed files while iterating, then rerun `./scripts/build/Invoke-ScriptAnalyzerCI.ps1`, then the repository quality loop before handoff when the project defines one.
3131
- Keep analyzer wrappers focused on source files and helper scripts, not generated output such as `dist/` or `artifacts/`.
3232
- If the repository has a `PSScriptAnalyzerSettings.psd1` file or a wrapper-owned settings hashtable, treat that configuration as authoritative for direct `Invoke-ScriptAnalyzer` runs.
3333
- Built-in presets such as `PSGallery` or `CodeFormatting` exist, but do not switch to them unless the repository explicitly adopts them.

src/resources/agentic-copilot/.github/instructions/release-policy.instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,5 @@ Use this file when changing versioning, changelog handling, package metadata, pu
4747
## Verification
4848

4949
- Validate the touched release or versioning path with targeted tests.
50-
- Run full regression tests after code changes.
50+
- Run the repository quality loop when one exists after code changes.
5151
- Re-read `.github/pull_request_template.md` before preparing release-related summaries.

src/resources/agentic-copilot/.github/instructions/repository-conventions.instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ Canonical rule source for cross-cutting {{ProjectName}} conventions that apply t
2727

2828
Use the smallest validation set that proves the change, then run the repository quality loop before finishing code work:
2929

30-
- local quality loop: `pwsh -NoLogo -NoProfile -File ./run.ps1`
30+
- local quality loop: use the repository quality wrapper when one exists; otherwise run ScriptAnalyzer, build, and `Test-NovaBuild` in the documented project order
3131
- test validation: `Test-NovaBuild`
3232
- analyzer only: `./scripts/build/Invoke-ScriptAnalyzerCI.ps1`
3333
- CI-parity coverage flow: use the repository-specific CI helper when one exists
3434

35-
If `run.ps1` or `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` reports findings, fix them before review, handoff, or commit. Do not treat a failing local quality loop as an acceptable stopping point.
35+
If the repository quality loop or `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` reports findings, fix them before review, handoff, or commit. Do not treat a failing validation run as an acceptable stopping point.
3636

3737
When project-specific quality tooling is available:
3838

0 commit comments

Comments
 (0)