Releases: PSModule/Process-PSModule
v5.1.1
v5.1.0
🚀 [Feature]: Add settings control of repository linter (#218)
The workflow now provides fine-grained control over repository linting behavior through simple configuration options. You can disable the linter entirely or customize which validations run by configuring super-linter environment variables directly in your settings file, giving you full control over code quality checks without modifying workflow files.
- Fixes #217
Linter Configuration
Added two new settings to control repository linting behavior:
Linter.Skip: Completely disable repository linting when set totrueLinter.env: Configure super-linter environment variables to customize which validations run
What you need to do: Add these settings to your .github/PSModule.yml file as needed.
Disable the linter completely
Linter:
Skip: trueCustomize specific validations
Linter:
env:
VALIDATE_BIOME_FORMAT: false
VALIDATE_JSCPD: false
VALIDATE_JSON_PRETTIER: falseAdvanced configuration
Linter:
env:
LOG_LEVEL: DEBUG
FILTER_REGEX_EXCLUDE: '.*test.*'See the super-linter environment variables documentation for all available options.
v5.0.1
🩹[Patch]: Pin super-linter actions and refine Dependabot configuration (#207)
Description
This pull request makes several updates to the GitHub Actions workflows and Dependabot configuration to improve reliability, clarity, and control over code linting and dependency management. The main changes involve pinning the super-linter action to a specific commit for reproducibility, updating linting environment variables, and enhancing dependency labeling.
- Fixes #206
GitHub Actions workflow improvements
- Pin the
super-linter/super-linterandsuper-linter/super-linter/slimactions to the specific commit7bba2eeb89d01dc9bfd93c497477a57e72c83240(v8.2.0) in all workflows, instead of using thelatesttag, to ensure consistent and reproducible builds. [1] [2] [3] - Update linting environment variables in all workflows to explicitly disable
VALIDATE_BIOME_LINTandVALIDATE_GITHUB_ACTIONS_ZIZMOR, providing finer control over which linters are run. [1] [2] [3]
Dependabot configuration enhancement
- Add
dependenciesandgithub-actionslabels to Dependabot PRs for GitHub Actions, making it easier to categorize and filter dependency updates. (.github/dependabot.yml)
PSModule process diagram
- Updated the diagram with the repo linter.
v5.0.0
🌟 [Major]: Process-PSModule v5 (#205)
This pull request cleans up and consolidates the process into focussing on a single workflow, the workflow.yml file. It also updates some more logic and addresses some security issues for the checkout action.
Details
-
Removed the workflow
CI.ymlwhich has previously been used for nightly runs, checking that the logic works.- Mitigation: Adjusted
workflow.ymlto work for the same scenarios replacingCI.ymlfor this usecase. - Fixes #204
- Mitigation: Adjusted
-
Cleaned up some of the job flow depending on the different scenarios.
Job Open/Updated PR Merged PR Abandoned PR Manual Run Get-Settings ✅ Always ✅ Always ✅ Always ✅ Always Lint-Repository ✅ Yes ❌ No ❌ No ❌ No Build-Module ✅ Yes ✅ Yes ❌ No ✅ Yes Build-Docs ✅ Yes ✅ Yes ❌ No ✅ Yes Build-Site ✅ Yes ✅ Yes ❌ No ✅ Yes Test-SourceCode ✅ Yes ✅ Yes ❌ No ✅ Yes Lint-SourceCode ✅ Yes ✅ Yes ❌ No ✅ Yes Test-Module ✅ Yes ✅ Yes ❌ No ✅ Yes BeforeAll-ModuleLocal ✅ Yes ✅ Yes ❌ No ✅ Yes Test-ModuleLocal ✅ Yes ✅ Yes ❌ No ✅ Yes AfterAll-ModuleLocal ✅ Yes ✅ Yes ❌ No ✅ Yes Get-TestResults ✅ Yes ✅ Yes ❌ No ✅ Yes Get-CodeCoverage ✅ Yes ✅ Yes ❌ No ✅ Yes Publish-Site ❌ No ✅ Yes (only) ❌ No ❌ No Publish-Module ✅ Yes* ✅ Yes* ✅ Yes ✅ Yes* - Only run linter on CI runs.
- Fast forward to "Publish-Module", which also handles removal of prereleases (GitHub only).
- Only run "Publish-Site" on a merged PR.
v4.1.5
Update implement prompt to update PR (#203)
Description
This pull request updates the implementation instructions in .github/prompts/implement.prompt.md to improve task tracking and clarify how pull request descriptions should be managed. The main focus is on making task progress more visible in real-time and ensuring the PR description is always ready to be used as release notes.
Task tracking and status updates:
- Added a critical requirement to update task status immediately after each task is completed:
- Mark the task as
[X]intasks.mdand update the PR description checkbox for each completed task. - Updates must be made task-by-task, not at the end.
- Provided guidance for using GitHub tools or
gh pr editto update the PR description, ensuring real-time visibility of task progress.
- Mark the task as
Pull request description management:
- Changed instructions to require replacing the entire PR description with release notes:
- The existing PR description, including the task list, must be cleared and replaced with release notes.
- This ensures the PR description is immediately ready to be used as GitHub Release notes upon merging.
- Updated the example command to clarify that the PR description should be replaced with release notes.
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.4
Updating some div stuff with specify (#200)
Description
This pull request updates and clarifies the workflow instructions for planning and implementing features, with a strong focus on correct GitHub label management, improved documentation standards, and enhanced PR/release note formatting. The changes ensure that contributors follow standardized processes for labeling, documentation, and communication, making the workflow more consistent and user-friendly.
Workflow and Label Management Improvements:
- Both
.github/prompts/plan.prompt.mdand.github/prompts/implement.prompt.mdnow require setting and updating GitHub labels (likePlanning,Implementing,Specification) at the start of each workflow, with clear instructions for both forked and local repositories. FallbackghCLI commands are provided for manual updates. [1] [2] [3] [4] - The implementation workflow now includes immediate label transitions (e.g., removing
Planningand addingImplementing), and the planning workflow adds/removesPlanningandSpecificationas appropriate. [1] [2]
Documentation and Formatting Standards:
- Added a new section in
.github/instructions/md.instructions.mdspecifying that all requirement numbers (e.g., NFR-001, FR-042) must be formatted in bold and use non-breaking hyphens to prevent line breaks and ensure consistency in all documentation. .github/copilot-instructions.mdnow mandates that all terminal commands in documentation be prefixed withpwsh(except for GitHub MCP calls), with examples provided for clarity.
PR and Release Note Guidance:
- The instructions for PR descriptions have been rewritten to require a user-focused, release-note style summary, with explicit sections for "What's Changed," "Usage," "Breaking Changes," and "Technical Notes." Example command-line instructions for updating PR descriptions are included.
- The planning workflow now requires PRs to include both a version/change-level label (e.g., Major, Minor, Patch) and a phase label (Planning), with fallback CLI commands for label management. [1] [2]
Workflow Step Clarifications and Reordering:
- Both planning and implementation prompts have been restructured and renumbered for clarity, with explicit instructions for each step, including constitution and changelog updates, commit message standards, and final PR/issue updates. [1] [2] [3]
Changelog and Constitution Updates:
- The implementation workflow now explicitly requires updating both the constitution and the changelog with each feature or change, following best practices for documentation and release management.
These changes collectively enforce best practices for workflow automation, documentation, and communication in the repository, improving clarity and consistency for all contributors.
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.3
📝[Enhancement]: Add structured reporting during the process (#197)
Description
This pull request updates the workflow prompts for the GitHub automation scripts to improve user communication and reporting. The main change is that each major phase (specification, clarification, planning, task generation, and analysis) now posts a clear status comment to the GitHub issue, summarizing progress and next steps for users. Additionally, the analysis and clarification steps now produce more structured, readable markdown reports.
Key improvements include:
User Communication Enhancements:
- Each major workflow step (
specify,clarify,plan,tasks,analyze) now posts a standardized status comment to the issue, clearly indicating completion and next recommended actions. [1] [2] [3] [4] [5]
Analysis and Clarification Reporting:
- The analysis step now posts a detailed markdown comment with tables grouped by severity, a summary, and explicit next actions, making findings easier to review and act upon.
- The clarification step now posts a markdown summary table of questions and answers if any were asked, improving traceability of clarifications.
Process and Flow Improvements:
- The planning step now checks for clarifications before proceeding, pausing if ambiguous areas remain and instructing the user on how to resolve them.
- Each phase's reporting is reorganized to ensure the status comment is posted before the detailed completion report, improving user guidance and flow. [1] [2] [3]
These changes collectively make the workflow more transparent, actionable, and user-friendly.
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.2
Add specify! (#195)
Description
This pull request makes significant improvements to the documentation and prompt instructions for project workflows, especially around constitution management and implementation processes. The changes clarify modes of operation, add detailed step-by-step instructions, and ensure consistency and traceability across related files and workflows.
Key changes:
Constitution Management Enhancements
- Expanded and clarified the instructions in
.github/prompts/constitution.prompt.mdto support both initial creation and iterative updating of the constitution, with detailed operating modes, placeholder handling, and replacement analysis for overlapping principles or rules. Added a Replacement Analysis Table, heuristics for overlap detection, and clear handling for ambiguous or destructive changes. [1] [2] - Improved the propagation and validation checklist for syncing changes across related templates and prompt files, using relative links and clarifying which files to update. Added explicit instructions for updating deprecated or pending sections and handling deferred actions.
- Updated the description in
.github/prompts/constitution.prompt.mdto clarify the iterative nature of constitution updates.
Implementation Workflow Improvements
- Enhanced
.github/prompts/implement.prompt.mdwith explicit support for both local and forked repository workflows, including detection of.fork-info.json, validation of fork configuration, and branch/PR management logic. [1] [2] - Added detailed instructions for iterative implementation: tracking task completion state in
tasks.md, skipping completed tasks, resuming from the last incomplete task, and supporting multiple runs for refinement. - Added comprehensive steps for automated Pull Request creation/updating, including PR title/description formatting, label management, linking to issues, and fallback GitHub CLI commands for both local and fork workflows.
- Included steps for updating issue labels and ensuring the constitution is updated to reflect implemented changes, with clear guidance on how to keep documentation in sync with codebase state.
Documentation Consistency
- Added a new
.github/instructions/md.instructions.mdfile defining markdown style guidelines for consistent documentation across the repository, covering headings, lists, code blocks, links, tables, emphasis, whitespace, and more.
These changes together provide clearer, more robust, and more maintainable workflows for both constitution management and implementation, ensuring consistency and traceability across documentation and project artifacts.
- Constitution Management Enhancements: [1] [2] [3]
- Implementation Workflow Improvements: [1] [2] [3]
- Documentation Consistency:
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.1
📖[Docs]: Improve README clarity and formatting (#192)
This release comprehensively improves documentation quality across the entire repository by fixing 21 instances of typos, grammatical errors, and formatting inconsistencies in 9 files. All changes enhance readability, professionalism, and clarity without any breaking changes or functionality modifications.
Why These Changes Matter
Documentation is the first point of contact for users and contributors. Unclear language, typos, and inconsistent formatting create friction and reduce confidence in the project. Poor documentation quality can lead to misunderstandings, incorrect implementations, and increased support burden. These improvements make the documentation more professional, scannable, and easier to understand for both new users and experienced contributors.
How the Documentation Was Improved
The improvements span three main categories:
Grammar & Language Clarity: Fixed verb tense inconsistencies ("trigger" → "triggered"), corrected countable vs uncountable noun usage ("less" → "fewer"), added Oxford commas for better readability, improved sentence structure, and added missing articles throughout.
Formatting Standardization: Standardized file references using inline code formatting (`BeforeAll.ps1`), converted mathematical notation to proper Unicode symbols (≤ instead of <=), improved list structures with consistent nested bullets, and enhanced visual hierarchy in workflow documentation.
Content Restructuring: Reorganized test setup/teardown documentation for better flow, moved key information to prominent positions, eliminated redundant sections, integrated scattered information into main descriptions, and created clearer section divisions.
v4.1.0
🚀[Feature]: Test Setup & Teardown Support for GitHub Actions Workflows (#191)
Overview
This release introduces automated test environment management through BeforeAll.ps1 and AfterAll.ps1 scripts, enabling comprehensive setup and teardown capabilities for module tests running in GitHub Actions. This enhancement solves the challenge of managing complex test environments (databases, infrastructure, external services) across parallel test matrices while ensuring proper cleanup regardless of test outcomes.
🎯 Main Feature: Test Lifecycle Management
The Problem
Previously, setting up test infrastructure required:
- Rate-limiting issue when creating GitHub Repositories for the GitHub PowerShell module, where the setup and teardown happens in the individual test files via BeforeAll and AfterAll blocks.
The Solution
Dedicated setup and teardown jobs with automatic script execution:
- BeforeAll: Runs once before all test matrix jobs begin.
- AfterAll: Runs once after all test matrix jobs complete.
Configuration
No configuration needed! Simply add scripts to your test directory.
The workflow automatically detects and executes these scripts when present.
your-module/
├── tests/
│ ├── BeforeAll.ps1 ← Setup script (optional)
│ ├── AfterAll.ps1 ← Teardown script (optional)
│ └── Module.Tests.ps1 ← The tests that require external setup
│
Additional: Specification-Driven Development Framework
This release also includes an implementation of spec-kit principles, adding a structured workflow for feature development from specification through implementation.
What's Included
- Prompt templates (
.github/prompts/) for/specify,/clarify,/plan,/tasks,/analyze,/implementcommands - Project constitution (
.specify/memory/constitution.md) defining architectural principles:
Additional Workflow Improvements
Linter Configuration Updates
- Added
VALIDATE_BIOME_FORMAT: falsefor Biome formatter - Added
VALIDATE_GITHUB_ACTIONS_ZIZMOR: falsefor workflow security scanning - Added
VALIDATE_JSCPD: falsefor copy-paste detection - Consistent linting configuration across Build-Docs and Linter workflows
Test Workflow Enhancements
- Environment variables properly scoped at workflow level
- Clearer parameter naming (
OSNamevsOS) - Improved test execution coordination
Documentation
- Comprehensive setup/teardown guide in README.md
- Inline documentation in all prompt templates and scripts
- Usage examples for common test scenarios