Commit 8b434bb
authored
Feature/194 optional agentic copilot scaffold for initialize novamodule nova init (#209)
* feat(#194): add optional Agentic Copilot starter package to NovaModule initialization
- Introduced an optional Agentic Copilot setup during module initialization.
- Updated documentation to reflect the new starter package options.
- Enhanced interactive prompts to include Agentic Copilot configuration.
* feat(#194): add Agentic Copilot scaffold files for NovaModule initialization
- Implement Get-NovaModuleAgenticCopilotTemplateRoot function
- Create AGENTS.md for Agentic Copilot workflow documentation
- Add CHANGELOG.md and RELEASE_NOTE.md for version tracking
- Introduce initial test coverage for Agentic Copilot scaffold sync
* fix(#194): update release policy documentation for clarity
* fix(#194): update Sync-AgenticCopilotScaffold.psd1 and testing-policy.instructions.md
- remove outdated command from Sync-AgenticCopilotScaffold.psd1
- clarify testing policy instructions for script invocation
* fix(#194): standardize catch block formatting across multiple scripts
- Adjusted catch blocks to maintain consistent formatting
- Improved readability by aligning else statements
* fix(#194): standardize formatting of try-catch-finally blocks across multiple scripts
* fix(#194): keep agentic scaffold guidance provider-neutral
Update generated architect/design guidance to use provider-neutral issue/work item wording and rely on the markdown-authoring skill instead of duplicating copy-safe fence
rules.
* feat(#194): enhance Nova project guidance and testing expectations
- Add documentation for Nova-managed project expectations in starter guidance
- Update contributing guidelines to reflect Nova build model and testing practices
- Improve README with Nova project expectations and testing structure
* feat(#194): strengthen agentic scaffold guidance
Clarify Agentic Copilot starter guidance so generated projects stay on Nova workflows, generated dist output, PlatyPS help, source-mirrored tests, and strict ScriptAnalyzer behavior.
* feat(#194): honor PowerShellHostVersion in agentic guidance
Require Agentic Copilot guidance and the generated starter scaffold to
treat project.json Manifest.PowerShellHostVersion as the compatibility
target for PowerShell code, tests, and examples.
* feat(#194): add short-name prompt for agentic scaffolds
Prompt for a project short name when Agentic Copilot is enabled so
generated scaffold guidance can replace placeholders such as
Invoke-<ShortName>*.
* feat(#194): update guidance and documentation for agentic scaffolds
- Refine conversational flow for architect and design change prompts.
- Clarify instructions for handling unresolved questions in design packages.
- Adjust release notes and changelog formatting for consistency.
* feat(#194): refine documentation for agentic scaffolds
- Clarify conversational flow for new or not-yet-scoped work
- Improve instructions for handling unresolved questions
- Streamline guidance on implementing issues and design packages
* feat(#194): update documentation and constraints for agentic scaffolds
- Add `/github-actions` to the list of directories
- Clarify distinction between public PowerShell cmdlets and `% nova` CLI behavior
* feat(#194): enhance documentation and guidance for ScriptAnalyzer findings
- add instructions to fix ScriptAnalyzer findings before review or handoff
- update README and contributing guidelines to reflect new requirements
- clarify quality loop expectations in various documentation files
* feat(#194): enhance guidance for file formatting and review processes
- Update documentation to require every changed or generated text file to end with exactly one trailing newline and no extra blank lines at the bottom.
- Add instructions for reviewing file endings before handoff in multiple documentation files.
* feat(#194): enhance agentic guidance and documentation
- Add reviewer agent content to improve review processes
- Include implement prompt content for better implementation guidance
- Update coding standards to clarify file and function ownership rules
* feat(#194): remove deprecated thresholds from code health rules
- cleared all threshold definitions for improved clarity
* feat(#194): add code quality matrix for src and tests
- Introduce a best-effort code quality matrix for source and test files.
- Define warning and alert thresholds to guide maintainability.
- Provide authoring guidance to help shape code quality from the start.
* feat(#194): update documentation and guidance for PlatyPS help generation
- Remove deprecated placeholders in command help paths
- Enhance instructions for generating valid PlatyPS help
- Clarify requirements for command help structure and validation
* feat(#194): enhance PSScriptAnalyzer workflow guidance
- Add detailed instructions for using PSScriptAnalyzer in the repository
- Specify preferred entry points for analyzer runs
- Emphasize the importance of fixing analyzer findings before handoff
* feat(#194): update command help paths and instructions for NovaModuleTools
- Adjust command help source paths in documentation and tests to reflect NovaModuleTools
- Ensure consistency in PlatyPS help generation instructions
* feat(#194): update pull request template to remove CLI behavior checkbox
* feat(#194): update guidance for PlatyPS help generation
- Require matching help files for every new public entry point in the same change
- Enhance instructions for generating valid PlatyPS help
- Update documentation to reflect changes in help file requirements
* feat(#194): update guidance for Test-NovaBuild usage
- Add documentation for using Test-NovaBuild as the authoritative test entrypoint
- Update instructions to prohibit direct Invoke-Pester calls in Nova-managed projects
- Revise various documentation files to reflect the new testing policy
* feat(#194): update application paths for code quality and help generation
- include scripts/**/*.ps1 in code quality matrix
- refine PlatyPS help application path to docs/NovaModuleTools/**/*.md
- add PSScriptAnalyzer module version to project.json
* feat(#194): update versioning to 0.1.0-preview across multiple files
- Change default version from 0.0.1 to 0.1.0-preview in project files
- Update expected version checks in tests to reflect new versioning
* feat(#194): update versioning to 0.1.0-preview across multiple files
- Change default version from 0.0.1 to 0.1.0-preview in project files
- Update expected version checks in tests to reflect new versioning
* feat(#194): update guidance for source/helper-script maintainability and test design
- Refactor maintainability guidance to emphasize source/helper-script quality
- Update test design instructions to enhance clarity and coverage expectations
* feat(#194): enhance Nova scaffolding with .gitignore management
- create or update default .gitignore in generated project root when Git is enabled
- append missing Nova-managed artifact entries without overwriting existing rules
- update documentation to reflect .gitignore functionality in scaffold flows
* feat(#194): clean up whitespace in UpdateNovaGitIgnore scripts
* feat(#194): enhance coding standards and guidance documentation
- Add new coding standards for private helper naming conventions
- Update guidance to clarify public command naming and file structure rules
- Refine generated guidance for project scaffolding and maintainability
* feat(#194): update coding standards in documentation
- Clarify rules for function declarations in PowerShell files
- Specify that private helpers should not declare nested functions
- Enhance guidance on file/function ownership and support helpers
* feat(#194): enhance NovaModule initialization with update notifications
- Add non-blocking update warning for newer NovaModuleTools releases before interactive scaffold questions
- Ensure existing .gitignore rules are preserved while adding Nova-managed entries
- Update documentation to reflect new behavior in initialization workflows
* feat(#194): update coding standards in documentation
- Refine private helper naming guidance to avoid public-style names
- Clarify implementation-focused naming for private helpers
* feat(#194): enhance text file formatting rules and add guardrails
- update documentation to specify newline and blank line requirements
- introduce Test-TextFileFormatting script to enforce formatting rules
- add tests to validate text file formatting compliance
* feat(#194): enhance NovaModule test workflow with code coverage validation
- Add coverage target checks in Invoke-NovaTestWorkflow
- Introduce functions for retrieving coverage settings from project configuration
- Update project templates to include default Pester code coverage settings
* feat(#194): improve NovaModule test workflow context with enhanced configuration
- Refactor variable assignments for consistency
- Update Pester configuration to ensure code coverage targets are applied correctly
* feat(#194): frame ten PowerShell maintainability guidelines and add building-maintainable-code skill
* fix(#194): slim agentic Copilot workflow and add wire-up integrity test
- Move cross-cutting rules into .github/instructions/repository-conventions.instructions.md and slim copilot-instructions.md to a thin index with a task → prompt → agent →
skills → instructions table
- Generate AGENTS.md from copilot-instructions.md via Sync-AgenticCopilotScaffold.ps1 with a do-not-edit banner; remove AGENTS.md from scaffold-owned paths
- Make scaffold TextReplacements code-fence-aware (skip fenced blocks and inline backticks) via new Split-AgenticContentByCodeFence and Invoke-AgenticInlineCodeAwareReplace
helpers
- Rename .github/skills/docs-site-html → docs-site to match the agent name and update references
- Delete .github/prompts/markdown.prompt.md and fold its wrapper rules and example into the markdown-authoring skill
- Normalize prompt headers and add an explicit "Invoke with @.github/prompts/<name>.prompt.md" line that names the delegated agent
- Add "When unclear, ask before proceeding" clause to reviewer and release-manager agents
- Replace the anchorless one-liner in code-quality-matrix.instructions.md with the ten concrete maintainability dimensions
- Add tests/AgenticCopilotWiring.Tests.ps1 asserting /skill references, prompt → agent references, instruction applyTo: globs, and skill name/folder parity
- Update scaffold-sync tests for the slim structure (new RepositoryConventions field, AGENTS.md banner assertion) and drop markdown.prompt.md from CoverageGaps expectations
* fix(#194): slim agentic Copilot workflow and add wire-up integrity test
- Move cross-cutting rules into .github/instructions/repository-conventions.instructions.md and slim copilot-instructions.md to a thin index with a task → prompt → agent →
skills → instructions table
- Generate AGENTS.md from copilot-instructions.md via Sync-AgenticCopilotScaffold.ps1 with a do-not-edit banner; remove AGENTS.md from scaffold-owned paths
- Make scaffold TextReplacements code-fence-aware (skip fenced blocks and inline backticks) via new Split-AgenticContentByCodeFence and Invoke-AgenticInlineCodeAwareReplace
helpers
- Rename .github/skills/docs-site-html → docs-site to match the agent name and update references
- Delete .github/prompts/markdown.prompt.md and fold its wrapper rules and example into the markdown-authoring skill
- Normalize prompt headers and add an explicit "Invoke with @.github/prompts/<name>.prompt.md" line that names the delegated agent
- Add "When unclear, ask before proceeding" clause to reviewer and release-manager agents
- Replace the anchorless one-liner in code-quality-matrix.instructions.md with the ten concrete maintainability dimensions
- Add tests/AgenticCopilotWiring.Tests.ps1 asserting /skill references, prompt → agent references, instruction applyTo: globs, and skill name/folder parity
- Update scaffold-sync tests for the slim structure (new RepositoryConventions field, AGENTS.md banner assertion) and drop markdown.prompt.md from CoverageGaps expectations
* #194 fix: Update release notes.
* feat(#194): enhance agentic Copilot scaffold with identifier replacements and documentation updates
- Update design and review prompts for consistency in section naming
- Introduce identifier replacement lists in scaffold content functions
- Adjust documentation references to use project-specific naming conventions
* feat(#194): update documentation for clarity and consistency
- Refine instructions for step-by-step refactoring of unhealthy files
- Remove redundant references to skills in various sections
- Simplify language for better understanding in the guidelines
* feat(#194): update help documentation for PlatyPS compatibility
- Clarify workflow for generating help files by emphasizing the need to build and import the dist module first.
- Update instructions to ensure correct metadata fields are populated in help files.
- Add guidance on maintaining consistent naming conventions for external help files.
* feat(#194): enhance Nova testing workflow and coverage configuration
- Suppress progress output during Pester runs for cleaner logs
- Update CodeCoverage settings in project.json for improved reporting
- Refactor coverage configuration logic in GetNovaTestWorkflowContext
* feat(#194): update code coverage target and improve test configuration
- increase coverage percent target from 75 to 80
- streamline parameter usage in test configuration
* feat(#194): update code coverage target and improve test cases
- change coverage percent target from 80 to 75
- refactor test cases for clarity and consistency
* feat(#194): update code coverage target and improve test cases
- change coverage percent target from 80 to 75
- refactor test cases for clarity and consistency
* feat(#194): update code coverage target to 80%
* feat(#194): simplify CI to single test run with JaCoCo coverage upload
- Remove second Invoke-Pester run from Invoke-NovaModuleToolsCI.ps1;
Test-NovaBuild now runs once and produces artifacts/coverage.xml
- Remove Cobertura conversion helpers, SetSourcePath guard, and
Get-CiPesterConfiguration/Get-CiTestPath functions from CI script
- Update Invoke-CodeSceneAnalysis.ps1 to resolve artifacts/coverage.xml
as the default JaCoCo coverage path instead of *.cobertura.xml
- Upload coverage twice: --format jacoco --metric line-coverage and
--metric branch-coverage
- Add --format jacoco to cs-coverage check in check-coverage action
- Update Tests.yml coverage-files glob to **/coverage.xml
- Update CodeSceneAnalysis tests for JaCoCo double-upload behaviour
- Update testing-policy instructions to document single-run JaCoCo flow
* #194 fix: update message.
* feat(#194): refactor Invoke-NovaTestWorkflow tests and improve README clarity
- Simplify test setup in InvokeNovaTestWorkflow.Tests.ps1
- Enhance error reporting for coverage target failures
- Update README to clarify purpose of NovaModuleTools
- Refactor AgenticCopilot scaffold functions for better readability1 parent 38fd14c commit 8b434bb
194 files changed
Lines changed: 7037 additions & 1316 deletions
File tree
- .codescene
- .github
- actions/check-coverage
- agents
- instructions
- prompts
- skills
- building-maintainable-code
- codescene-quality
- docs-site
- markdown-authoring
- pester-testing
- powershell-module-development
- workflows
- docs
- NovaModuleTools/en-US
- assets
- scripts/build
- ci
- src
- private
- build
- manifest
- cli
- package
- quality
- release
- scaffold
- update
- public
- resources
- agentic-copilot
- .github
- agents
- instructions
- prompts
- skills
- building-maintainable-code
- markdown-authoring
- pester-testing
- powershell-module-development
- release-and-changelog
- scripts/build
- tests
- cli/help
- example
- src/public
- tests
- NovaCommandModel.TestSupport
- private
- build
- quality
- scaffold
- update
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
42 | 44 | | |
43 | 45 | | |
44 | | - | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| 66 | + | |
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
| |||
71 | 73 | | |
72 | 74 | | |
73 | 75 | | |
| 76 | + | |
74 | 77 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
17 | 24 | | |
18 | 25 | | |
19 | 26 | | |
20 | 27 | | |
21 | | - | |
| 28 | + | |
22 | 29 | | |
23 | 30 | | |
24 | 31 | | |
25 | 32 | | |
26 | 33 | | |
27 | 34 | | |
28 | 35 | | |
| 36 | + | |
29 | 37 | | |
30 | 38 | | |
31 | 39 | | |
| |||
36 | 44 | | |
37 | 45 | | |
38 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
39 | 51 | | |
40 | 52 | | |
41 | 53 | | |
42 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
43 | 61 | | |
44 | 62 | | |
45 | 63 | | |
| |||
48 | 66 | | |
49 | 67 | | |
50 | 68 | | |
| 69 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | | - | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
39 | | - | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
| 44 | + | |
46 | 45 | | |
47 | 46 | | |
48 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
20 | 34 | | |
21 | 35 | | |
22 | 36 | | |
| |||
29 | 43 | | |
30 | 44 | | |
31 | 45 | | |
32 | | - | |
| 46 | + | |
| 47 | + | |
33 | 48 | | |
34 | 49 | | |
35 | | - | |
36 | 50 | | |
| 51 | + | |
37 | 52 | | |
38 | 53 | | |
39 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
16 | 20 | | |
| 21 | + | |
| 22 | + | |
17 | 23 | | |
18 | 24 | | |
19 | 25 | | |
| |||
27 | 33 | | |
28 | 34 | | |
29 | 35 | | |
| 36 | + | |
30 | 37 | | |
31 | 38 | | |
32 | 39 | | |
33 | 40 | | |
34 | 41 | | |
35 | 42 | | |
36 | | - | |
| 43 | + | |
37 | 44 | | |
38 | 45 | | |
| 46 | + | |
| 47 | + | |
39 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
40 | 52 | | |
41 | 53 | | |
42 | 54 | | |
43 | 55 | | |
| 56 | + | |
44 | 57 | | |
| 58 | + | |
45 | 59 | | |
46 | 60 | | |
47 | 61 | | |
| |||
0 commit comments