From e39a576109ad9bf9aef7d64b9b52db2e0be0053f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 12:04:06 +0100 Subject: [PATCH 1/4] Bump super-linter/super-linter from 8.2.1 to 8.3.0 (#243) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 8.2.1 to 8.3.0.
Release notes

Sourced from super-linter/super-linter's releases.

v8.3.0

8.3.0 (2025-11-28)

πŸš€ Features

πŸ› Bugfixes

⬆️ Dependency updates

... (truncated)

Changelog

Sourced from super-linter/super-linter's changelog.

Changelog

8.3.0 (2025-11-28)

πŸš€ Features

πŸ› Bugfixes

⬆️ Dependency updates

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=super-linter/super-linter&package-manager=github_actions&previous-version=8.2.1&new-version=8.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/Build-Docs.yml | 2 +- .github/workflows/Linter.yml | 2 +- .github/workflows/workflow.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build-Docs.yml b/.github/workflows/Build-Docs.yml index 74dedc53..124bf80c 100644 --- a/.github/workflows/Build-Docs.yml +++ b/.github/workflows/Build-Docs.yml @@ -102,7 +102,7 @@ jobs: - name: Lint documentation id: super-linter - uses: super-linter/super-linter/slim@2bdd90ed3262e023ac84bf8fe35dc480721fc1f2 # v8.2.1 + uses: super-linter/super-linter/slim@502f4fe48a81a392756e173e39a861f8c8efe056 # v8.3.0 env: RUN_LOCAL: true DEFAULT_BRANCH: main diff --git a/.github/workflows/Linter.yml b/.github/workflows/Linter.yml index 70a57ce2..8d3dbfb9 100644 --- a/.github/workflows/Linter.yml +++ b/.github/workflows/Linter.yml @@ -25,7 +25,7 @@ jobs: fetch-depth: 0 - name: Lint code base - uses: super-linter/super-linter@2bdd90ed3262e023ac84bf8fe35dc480721fc1f2 # v8.2.1 + uses: super-linter/super-linter@502f4fe48a81a392756e173e39a861f8c8efe056 # v8.3.0 env: GITHUB_TOKEN: ${{ github.token }} VALIDATE_BIOME_FORMAT: false diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 581d79e6..f5c0ece6 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -133,7 +133,7 @@ jobs: - name: Lint code base id: super-linter - uses: super-linter/super-linter@2bdd90ed3262e023ac84bf8fe35dc480721fc1f2 # v8.2.1 + uses: super-linter/super-linter@502f4fe48a81a392756e173e39a861f8c8efe056 # v8.3.0 env: GITHUB_TOKEN: ${{ github.token }} DEFAULT_WORKSPACE: ${{ inputs.WorkingDirectory }} From 4594348bb56ed000af9e43f1c94451b4e27bcfbf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 12:51:58 +0100 Subject: [PATCH 2/4] Bump PSModule/Document-PSModule from 1.0.11 to 1.0.12 (#242) Bumps [PSModule/Document-PSModule](https://github.com/psmodule/document-psmodule) from 1.0.11 to 1.0.12.
Release notes

Sourced from PSModule/Document-PSModule's releases.

v1.0.12

Bump actions/checkout from 5 to 6 (#31)

Bumps actions/checkout from 5 to 6.

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=PSModule/Document-PSModule&package-manager=github_actions&previous-version=1.0.11&new-version=1.0.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Marius Storhaug Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: MariusStorhaug <17722253+MariusStorhaug@users.noreply.github.com> --- .github/copilot-instructions.md | 6 +-- .github/linters/.markdown-lint.yml | 2 + .github/prompts/constitution.prompt.md | 6 +-- .github/prompts/plan.prompt.md | 16 +++---- .github/prompts/pr.prompt.md | 14 +++--- .github/workflows/Build-Docs.yml | 2 +- .specify/memory/constitution.md | 30 ++++++------- .specify/templates/plan-template.md | 30 ++++++------- .specify/templates/spec-template.md | 62 +++++++++++++------------- README.md | 38 ++++++++-------- 10 files changed, 105 insertions(+), 101 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 858eab7b..b9a9fc6d 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -12,7 +12,7 @@ When executing terminal commands (using `run_in_terminal` or similar tools): ## Other instructions -| Tech | Instruction file | -|------|------------------| +| Tech | Instruction file | +|------------|-------------------------------------------------------------| | PowerShell | [pwsh.instructions.md](./instructions/pwsh.instructions.md) | -| Markdown | [md.instructions.md](./instructions/md.instructions.md) | +| Markdown | [md.instructions.md](./instructions/md.instructions.md) | diff --git a/.github/linters/.markdown-lint.yml b/.github/linters/.markdown-lint.yml index b9ecdfa9..bb432af1 100644 --- a/.github/linters/.markdown-lint.yml +++ b/.github/linters/.markdown-lint.yml @@ -18,6 +18,8 @@ MD026: MD029: false # Ordered list item prefix MD033: false # Allow inline HTML MD036: false # Emphasis used instead of a heading +MD060: + style: "leading" # Table column style (leading avoids emoji width issues) ################# # Rules by tags # diff --git a/.github/prompts/constitution.prompt.md b/.github/prompts/constitution.prompt.md index 4a78dfe6..454a3a03 100644 --- a/.github/prompts/constitution.prompt.md +++ b/.github/prompts/constitution.prompt.md @@ -29,9 +29,9 @@ Two operating modes: Replacement Analysis Table (when overlap detected): -| Existing Item | Proposed New / Change | Overlap Basis | Suggested Action | -|---------------|-----------------------|---------------|------------------| -| | <incoming title / change> | e.g. semantic similarity, scope duplication | Replace / Merge / Keep Both | +| Existing Item | Proposed New / Change | Overlap Basis | Suggested Action | +|---------------------|---------------------------|----------------------------------------------|----------------------------| +| <title / section> | <incoming title / change> | e.g. semantic similarity, scope duplication | Replace / Merge / Keep Both | Heuristics for overlap: - Title similarity score (case-insensitive) >= 0.6 (rough string similarity) OR diff --git a/.github/prompts/plan.prompt.md b/.github/prompts/plan.prompt.md index 5fda97f5..26959b24 100644 --- a/.github/prompts/plan.prompt.md +++ b/.github/prompts/plan.prompt.md @@ -102,14 +102,14 @@ Given the implementation details provided as an argument, do this: - **Use the same title for the PR**: The PR title must match the issue title exactly - If unable to retrieve the issue title, determine the PR type and icon based on the changes: - | Type of change | Icon | Label | - |-|-|-| - | Docs | πŸ“– | Docs | - | Fix | πŸͺ² | Fix, Patch | - | Security fix | ⚠️ | Fix | - | Patch | 🩹 | Patch | - | Feature | πŸš€ | Minor | - | Breaking change | 🌟 | Major | + | Type of change | Icon | Label | + | --------------- | ---- | ---------- | + | Docs | πŸ“– | Docs | + | Fix | πŸͺ² | Fix, Patch | + | Security fix | ⚠️ | Fix | + | Patch | 🩹 | Patch | + | Feature | πŸš€ | Minor | + | Breaking change | 🌟 | Major | - Fallback PR title format (if issue title unavailable): `<Icon> [Type of change]: <Short description>` - Create PR description: diff --git a/.github/prompts/pr.prompt.md b/.github/prompts/pr.prompt.md index 8baabc88..75661c9a 100644 --- a/.github/prompts/pr.prompt.md +++ b/.github/prompts/pr.prompt.md @@ -14,13 +14,13 @@ $ARGUMENTS ## Supported Change Types -| Type | Icon | Labels | Description | -|------|------|--------|-------------| -| Major | 🌟 | `Major` | Breaking changes that affect compatibility | -| Minor | πŸš€ | `Minor` | New features or enhancements | -| Patch | 🩹 | `Patch` | Small fixes or improvements | -| Fix | πŸͺ² | `Fix`, `Patch` | Bugfixes | -| Docs | πŸ“– | `Docs` | Documentation changes only | +| Type | Icon | Labels | Description | +| ----- | ---- | -------------- | ------------------------------------------ | +| Major | 🌟 | `Major` | Breaking changes that affect compatibility | +| Minor | πŸš€ | `Minor` | New features or enhancements | +| Patch | 🩹 | `Patch` | Small fixes or improvements | +| Fix | πŸͺ² | `Fix`, `Patch` | Bugfixes | +| Docs | πŸ“– | `Docs` | Documentation changes only | ## Execution Steps diff --git a/.github/workflows/Build-Docs.yml b/.github/workflows/Build-Docs.yml index 124bf80c..08e28cd4 100644 --- a/.github/workflows/Build-Docs.yml +++ b/.github/workflows/Build-Docs.yml @@ -60,7 +60,7 @@ jobs: path: ${{ inputs.WorkingDirectory }}/outputs/module - name: Document module - uses: PSModule/Document-PSModule@7e50d9f41753417346ff75b3601a90524aa8ab7e # v1.0.11 + uses: PSModule/Document-PSModule@15dc407c99e408fc0a4023d4f16aee2a5507ba74 # v1.0.12 with: Name: ${{ inputs.Name }} WorkingDirectory: ${{ inputs.WorkingDirectory }} diff --git a/.specify/memory/constitution.md b/.specify/memory/constitution.md index 4bc59ab8..5b52fc91 100644 --- a/.specify/memory/constitution.md +++ b/.specify/memory/constitution.md @@ -495,21 +495,21 @@ The Process-PSModule workflow uses **dynamic conditions** to determine job execu ### Publishing Behavior Examples -| PR State | Labels | Build/Test | Publish-Module | Publish-Site | Version | -|----------|--------|------------|----------------|--------------|---------| -| Opened | `minor` | βœ… Yes | ❌ No | ❌ No | N/A (not published) | -| Opened | `prerelease` | βœ… Yes | βœ… Yes (prerelease) | ❌ No | `1.3.0-branchname001` | -| Opened | `prerelease`, `minor` | βœ… Yes | βœ… Yes (prerelease) | ❌ No | `1.3.0-branchname001` | -| Synchronized | `major` | βœ… Yes | ❌ No | ❌ No | N/A (not published) | -| Synchronized | `prerelease` | βœ… Yes | βœ… Yes (prerelease) | ❌ No | `1.3.0-branchname002` | -| Merged | `minor` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `1.3.0` | -| Merged | `major` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `2.0.0` | -| Merged | `patch` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `1.2.4` | -| Merged | (no label) | βœ… Yes | βœ… Yes (if AutoPatching) | βœ… Yes | `1.2.4` (patch) | -| Merged | `NoRelease` | βœ… Yes | ❌ No | ❌ No | N/A (skipped) | -| Merged | `prerelease`, `minor` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `1.3.0` (prerelease ignored) | -| Scheduled (cron) | N/A | βœ… Yes | ❌ No | ❌ No | N/A (validation only) | -| Manual (workflow_dispatch) | N/A | βœ… Yes | ❌ No | ❌ No | N/A (validation only) | +| PR State | Labels | Build/Test | Publish-Module | Publish-Site | Version | +| -------------------------- | --------------------- | ---------- | ------------------------ | ------------ | ---------------------------- | +| Opened | `minor` | βœ… Yes | ❌ No | ❌ No | N/A (not published) | +| Opened | `prerelease` | βœ… Yes | βœ… Yes (prerelease) | ❌ No | `1.3.0-branchname001` | +| Opened | `prerelease`, `minor` | βœ… Yes | βœ… Yes (prerelease) | ❌ No | `1.3.0-branchname001` | +| Synchronized | `major` | βœ… Yes | ❌ No | ❌ No | N/A (not published) | +| Synchronized | `prerelease` | βœ… Yes | βœ… Yes (prerelease) | ❌ No | `1.3.0-branchname002` | +| Merged | `minor` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `1.3.0` | +| Merged | `major` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `2.0.0` | +| Merged | `patch` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `1.2.4` | +| Merged | (no label) | βœ… Yes | βœ… Yes (if AutoPatching) | βœ… Yes | `1.2.4` (patch) | +| Merged | `NoRelease` | βœ… Yes | ❌ No | ❌ No | N/A (skipped) | +| Merged | `prerelease`, `minor` | βœ… Yes | βœ… Yes (normal) | βœ… Yes | `1.3.0` (prerelease ignored) | +| Scheduled (cron) | N/A | βœ… Yes | ❌ No | ❌ No | N/A (validation only) | +| Manual (workflow_dispatch) | N/A | βœ… Yes | ❌ No | ❌ No | N/A (validation only) | ### Version Calculation Process diff --git a/.specify/templates/plan-template.md b/.specify/templates/plan-template.md index 53ee1010..c1a663b8 100644 --- a/.specify/templates/plan-template.md +++ b/.specify/templates/plan-template.md @@ -35,17 +35,17 @@ ## Technical Context -| Aspect | Details | -|--------|---------| -| **Language/Version** | [e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION] | -| **Primary Dependencies** | [e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION] | -| **Storage** | [if applicable, e.g., PostgreSQL, CoreData, files or N/A] | -| **Testing** | [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION] | -| **Target Platform** | [e.g., Linux server, iOS 15+, Wasm or NEEDS CLARIFICATION] | -| **Project Type** | [single/web/mobile - determines source structure] | -| **Performance Goals** | [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION] | -| **Constraints** | [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION] | -| **Scale/Scope** | [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION] | +| Aspect | Details | +| ------------------------ | ------------------------------------------------------------------------------------------ | +| **Language/Version** | [e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION] | +| **Primary Dependencies** | [e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION] | +| **Storage** | [if applicable, e.g., PostgreSQL, CoreData, files or N/A] | +| **Testing** | [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION] | +| **Target Platform** | [e.g., Linux server, iOS 15+, Wasm or NEEDS CLARIFICATION] | +| **Project Type** | [single/web/mobile - determines source structure] | +| **Performance Goals** | [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION] | +| **Constraints** | [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION] | +| **Scale/Scope** | [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION] | ## Constitution Check @@ -243,10 +243,10 @@ directories captured above] *Fill ONLY if Constitution Check has violations that must be justified* -| Violation | Why Needed | Simpler Alternative Rejected Because | -|-----------|------------|-------------------------------------| -| [e.g., 4th project] | [current need] | [why 3 projects insufficient] | -| [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] | +| Violation | Why Needed | Simpler Alternative Rejected Because | +| -------------------------- | ------------------ | ------------------------------------ | +| [e.g., 4th project] | [current need] | [why 3 projects insufficient] | +| [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] | ## Progress Tracking diff --git a/.specify/templates/spec-template.md b/.specify/templates/spec-template.md index 9e2de0cb..600e8d0b 100644 --- a/.specify/templates/spec-template.md +++ b/.specify/templates/spec-template.md @@ -20,53 +20,53 @@ ### Functional Requirements -| ID | Requirement | -|----|-------------| -| **FR-001** | System MUST [specific capability, e.g., "allow users to create accounts"] | -| **FR-002** | System MUST [specific capability, e.g., "validate email addresses"] | -| **FR-003** | Users MUST be able to [key interaction, e.g., "reset their password"] | -| **FR-004** | System MUST [data requirement, e.g., "persist user preferences"] | -| **FR-005** | System MUST [behavior, e.g., "log all security events"] | +| ID | Requirement | +| ---------- | ----------------------------------------------------------------------------------------------------------------- | +| **FR-001** | System MUST [specific capability, e.g., "allow users to create accounts"] | +| **FR-002** | System MUST [specific capability, e.g., "validate email addresses"] | +| **FR-003** | Users MUST be able to [key interaction, e.g., "reset their password"] | +| **FR-004** | System MUST [data requirement, e.g., "persist user preferences"] | +| **FR-005** | System MUST [behavior, e.g., "log all security events"] | | **FR-006** | System MUST authenticate users via [NEEDS CLARIFICATION: auth method not specified - email/password, SSO, OAuth?] | -| **FR-007** | System MUST retain user data for [NEEDS CLARIFICATION: retention period not specified] | +| **FR-007** | System MUST retain user data for [NEEDS CLARIFICATION: retention period not specified] | ### Non-Functional Requirements -| ID | Requirement | -|----|-------------| -| **NFR-001** | System MUST respond within [specific time, e.g., "500ms for 95th percentile"] | -| **NFR-002** | System MUST handle [specific load, e.g., "1000 concurrent users"] | -| **NFR-003** | System MUST maintain [availability target, e.g., "99.9% uptime"] | -| **NFR-004** | System MUST scale to [capacity limit, e.g., "10,000 transactions per second"] | -| **NFR-005** | System MUST recover within [time period, e.g., "5 minutes after failure"] | +| ID | Requirement | +| ----------- | ------------------------------------------------------------------------------------------------------------ | +| **NFR-001** | System MUST respond within [specific time, e.g., "500ms for 95th percentile"] | +| **NFR-002** | System MUST handle [specific load, e.g., "1000 concurrent users"] | +| **NFR-003** | System MUST maintain [availability target, e.g., "99.9% uptime"] | +| **NFR-004** | System MUST scale to [capacity limit, e.g., "10,000 transactions per second"] | +| **NFR-005** | System MUST recover within [time period, e.g., "5 minutes after failure"] | | **NFR-006** | System MUST encrypt data [NEEDS CLARIFICATION: encryption scope not specified - at rest, in transit, both?] | -| **NFR-007** | System MUST maintain audit logs for [NEEDS CLARIFICATION: retention period not specified] | +| **NFR-007** | System MUST maintain audit logs for [NEEDS CLARIFICATION: retention period not specified] | ### Quality Attributes Addressed -| Attribute | Target Metric | -|-----------|---------------| -| **Performance** | [e.g., "Response time < 200ms", "Throughput > 5000 TPS"] | -| **Scalability** | [e.g., "Support 100,000 concurrent users", "Linear scaling to 10 nodes"] | -| **Availability** | [e.g., "99.95% uptime", "Max 4 hours downtime per year"] | -| **Reliability** | [e.g., "MTBF > 720 hours", "Error rate < 0.01%"] | -| **Security** | [e.g., "OWASP Top 10 compliant", "SOC 2 Type II certified"] | -| **Maintainability** | [e.g., "Code coverage > 80%", "Cyclomatic complexity < 10"] | -| **Usability** | [e.g., "Task completion time < 2 minutes", "User satisfaction > 4.5/5"] | +| Attribute | Target Metric | +| ------------------- | ------------------------------------------------------------------------- | +| **Performance** | [e.g., "Response time < 200ms", "Throughput > 5000 TPS"] | +| **Scalability** | [e.g., "Support 100,000 concurrent users", "Linear scaling to 10 nodes"] | +| **Availability** | [e.g., "99.95% uptime", "Max 4 hours downtime per year"] | +| **Reliability** | [e.g., "MTBF > 720 hours", "Error rate < 0.01%"] | +| **Security** | [e.g., "OWASP Top 10 compliant", "SOC 2 Type II certified"] | +| **Maintainability** | [e.g., "Code coverage > 80%", "Cyclomatic complexity < 10"] | +| **Usability** | [e.g., "Task completion time < 2 minutes", "User satisfaction > 4.5/5"] | ### Constraints *(include if applicable)* -| Constraint | Description | -|------------|-------------| +| Constraint | Description | +| ------------------ | --------------------------------------------------------------------- | | **[Constraint 1]** | [Limitation or restriction, e.g., "Must run on Windows Server 2019+"] | -| **[Constraint 2]** | [Compliance requirement, e.g., "Must comply with GDPR"] | +| **[Constraint 2]** | [Compliance requirement, e.g., "Must comply with GDPR"] | ### Key Entities *(include if feature involves data)* -| Entity | Description | -|--------|-------------| +| Entity | Description | +| -------------- | ----------------------------------------------------------- | | **[Entity 1]** | [What it represents, key attributes without implementation] | -| **[Entity 2]** | [What it represents, relationships to other entities] | +| **[Entity 2]** | [What it represents, relationships to other entities] | --- diff --git a/README.md b/README.md index fa4d33d1..c3538716 100644 --- a/README.md +++ b/README.md @@ -200,23 +200,23 @@ For more info see [Deploy GitHub Pages site](https://github.com/marketplace/acti This table shows when each job runs based on the trigger scenario: -| 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 | βœ… Yes* | βœ… Yes | -| **Get-TestResults** | βœ… Yes | βœ… Yes | ❌ No | βœ… Yes | -| **Get-CodeCoverage** | βœ… Yes | βœ… Yes | ❌ No | βœ… Yes | -| **Publish-Site** | ❌ No | βœ… Yes | ❌ No | ❌ No | -| **Publish-Module** | βœ… Yes** | βœ… Yes** | βœ… Yes*** | βœ… Yes** | +| 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 | βœ… Yes* | βœ… Yes | +| **Get-TestResults** | βœ… Yes | βœ… Yes | ❌ No | βœ… Yes | +| **Get-CodeCoverage** | βœ… Yes | βœ… Yes | ❌ No | βœ… Yes | +| **Publish-Site** | ❌ No | βœ… Yes | ❌ No | ❌ No | +| **Publish-Module** | βœ… Yes** | βœ… Yes** | βœ… Yes*** | βœ… Yes** | \* Runs for cleanup if tests were started \*\* Only when all tests/coverage/build succeed @@ -261,7 +261,7 @@ The following settings are available in the settings file: | `Publish.Module.AutoCleanup` | `Boolean` | Automatically cleanup old prerelease module versions | `true` | | `Publish.Module.AutoPatching` | `Boolean` | Automatically patch module version | `true` | | `Publish.Module.IncrementalPrerelease` | `Boolean` | Use incremental prerelease versioning | `true` | -| `Publish.Module.DatePrereleaseFormat` | `String` | Format for date-based prerelease ([.NET DateTime](https://learn.microsoft.com/dotnet/standard/base-types/standard-date-and-time-format-strings)) | `''` | +| `Publish.Module.DatePrereleaseFormat` | `String` | Format for date-based prerelease ([.NET DateTime][netdt]) | `''` | | `Publish.Module.VersionPrefix` | `String` | Prefix for version tags | `'v'` | | `Publish.Module.MajorLabels` | `String` | Labels indicating a major version bump | `'major, breaking'` | | `Publish.Module.MinorLabels` | `String` | Labels indicating a minor version bump | `'minor, feature'` | @@ -453,3 +453,5 @@ The process is compatible with: - [GitHub Flow specifications](https://docs.github.com/en/get-started/using-github/github-flow) - [SemVer 2.0.0 specifications](https://semver.org) - [Continuous Delivery practices](https://en.wikipedia.org/wiki/Continuous_delivery) + +[netdt]: https://learn.microsoft.com/dotnet/standard/base-types/standard-date-and-time-format-strings From 4224371b25cad1693785ae50e882dd48423e33d8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 13:00:25 +0100 Subject: [PATCH 3/4] Bump PSModule/Install-PSModuleHelpers from 1.0.5 to 1.0.6 (#241) Bumps [PSModule/Install-PSModuleHelpers](https://github.com/psmodule/install-psmodulehelpers) from 1.0.5 to 1.0.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psmodule/install-psmodulehelpers/releases">PSModule/Install-PSModuleHelpers's releases</a>.</em></p> <blockquote> <h2>v1.0.6</h2> <h1>Bump actions/checkout from 5 to 6 (<a href="https://redirect.github.com/psmodule/install-psmodulehelpers/issues/8">#8</a>)</h1> <p>Bumps <a href="https://github.com/actions/checkout">actions/checkout</a> from 5 to 6.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PSModule/Install-PSModuleHelpers/commit/d60d63e4be477d1ca0c67c6085101fb109bce8f1"><code>d60d63e</code></a> Bump actions/checkout from 5 to 6 (<a href="https://redirect.github.com/psmodule/install-psmodulehelpers/issues/8">#8</a>)</li> <li>See full diff in <a href="https://github.com/psmodule/install-psmodulehelpers/compare/e05e9875aafc0a1e63fc13989b3b683a7ef6444f...d60d63e4be477d1ca0c67c6085101fb109bce8f1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=PSModule/Install-PSModuleHelpers&package-manager=github_actions&previous-version=1.0.5&new-version=1.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Marius Storhaug <marstor@hotmail.com> --- .github/workflows/Build-Site.yml | 2 +- .github/workflows/Test-ModuleLocal.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build-Site.yml b/.github/workflows/Build-Site.yml index 59794fb4..53ec0e8a 100644 --- a/.github/workflows/Build-Site.yml +++ b/.github/workflows/Build-Site.yml @@ -48,7 +48,7 @@ jobs: fetch-depth: 0 - name: Install-PSModuleHelpers - uses: PSModule/Install-PSModuleHelpers@e05e9875aafc0a1e63fc13989b3b683a7ef6444f # v1.0.5 + uses: PSModule/Install-PSModuleHelpers@d60d63e4be477d1ca0c67c6085101fb109bce8f1 # v1.0.6 - name: Download docs artifact uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 diff --git a/.github/workflows/Test-ModuleLocal.yml b/.github/workflows/Test-ModuleLocal.yml index 3127e89e..fa4dde48 100644 --- a/.github/workflows/Test-ModuleLocal.yml +++ b/.github/workflows/Test-ModuleLocal.yml @@ -104,7 +104,7 @@ jobs: path: ${{ inputs.WorkingDirectory }}/outputs/module - name: Install-PSModuleHelpers - uses: PSModule/Install-PSModuleHelpers@e05e9875aafc0a1e63fc13989b3b683a7ef6444f # v1.0.5 + uses: PSModule/Install-PSModuleHelpers@d60d63e4be477d1ca0c67c6085101fb109bce8f1 # v1.0.6 - name: Import-Module id: import-module From 79ee544a4642ce85e677ccb242036bea046fe961 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 13:22:58 +0100 Subject: [PATCH 4/4] Bump PSModule/Test-PSModule from 3.0.6 to 3.0.7 (#240) Bumps [PSModule/Test-PSModule](https://github.com/psmodule/test-psmodule) from 3.0.6 to 3.0.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psmodule/test-psmodule/releases">PSModule/Test-PSModule's releases</a>.</em></p> <blockquote> <h2>v3.0.7</h2> <h1>Bump actions/checkout from 5 to 6 (<a href="https://redirect.github.com/psmodule/test-psmodule/issues/105">#105</a>)</h1> <p>Bumps <a href="https://github.com/actions/checkout">actions/checkout</a> from 5 to 6.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PSModule/Test-PSModule/commit/7d94ed751a60973867e84ea8d44521e94b7c485d"><code>7d94ed7</code></a> Bump actions/checkout from 5 to 6 (<a href="https://redirect.github.com/psmodule/test-psmodule/issues/105">#105</a>)</li> <li>See full diff in <a href="https://github.com/psmodule/test-psmodule/compare/80b0364db8192e73f584603c68a127de171f881f...7d94ed751a60973867e84ea8d44521e94b7c485d">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=PSModule/Test-PSModule&package-manager=github_actions&previous-version=3.0.6&new-version=3.0.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Marius Storhaug <marstor@hotmail.com> --- .github/workflows/Test-Module.yml | 2 +- .github/workflows/Test-SourceCode.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Test-Module.yml b/.github/workflows/Test-Module.yml index 912bdf3a..77644516 100644 --- a/.github/workflows/Test-Module.yml +++ b/.github/workflows/Test-Module.yml @@ -92,7 +92,7 @@ jobs: path: ${{ inputs.WorkingDirectory }}/outputs/module - name: Test-Module - uses: PSModule/Test-PSModule@80b0364db8192e73f584603c68a127de171f881f # v3.0.6 + uses: PSModule/Test-PSModule@7d94ed751a60973867e84ea8d44521e94b7c485d # v3.0.7 with: Name: ${{ inputs.Name }} Debug: ${{ inputs.Debug }} diff --git a/.github/workflows/Test-SourceCode.yml b/.github/workflows/Test-SourceCode.yml index ba4756cf..b9001ad9 100644 --- a/.github/workflows/Test-SourceCode.yml +++ b/.github/workflows/Test-SourceCode.yml @@ -56,7 +56,7 @@ jobs: fetch-depth: 0 - name: Test-SourceCode - uses: PSModule/Test-PSModule@80b0364db8192e73f584603c68a127de171f881f # v3.0.6 + uses: PSModule/Test-PSModule@7d94ed751a60973867e84ea8d44521e94b7c485d # v3.0.7 with: Debug: ${{ inputs.Debug }} Prerelease: ${{ inputs.Prerelease }}