Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
48e91f5
🚀[Feature]: Enhance workflow orchestration with detailed Get-Settings…
MariusStorhaug Oct 14, 2025
72425c4
feat: Complete planning phase for settings-driven workflow configuration
MariusStorhaug Oct 14, 2025
2b3ebbc
feat: Complete planning phase for settings-driven workflow configuration
MariusStorhaug Oct 14, 2025
2dfe6ad
feat: Add prompts for project management workflows including constitu…
MariusStorhaug Oct 14, 2025
fa9d515
Remove outdated specifications and documentation for the settings-dri…
MariusStorhaug Oct 14, 2025
fdcd3be
Update plan-template and README for improved clarity and structure
MariusStorhaug Oct 14, 2025
a652168
Implement feature X to enhance user experience and optimize performance
MariusStorhaug Oct 14, 2025
ae20e5d
docs(readme): restructure, dedupe layout/config, tighten quickstart
MariusStorhaug Oct 14, 2025
af18391
docs(readme): update section title from 'Quickstart' to 'Getting star…
MariusStorhaug Oct 14, 2025
1af923a
docs(readme): enhance clarity and structure by updating instructions …
MariusStorhaug Oct 14, 2025
277785f
docs(readme): update phase details to clarify workflow initialization…
MariusStorhaug Oct 14, 2025
dedfe9b
docs(readme): update pipeline steps section for clarity and accuracy
MariusStorhaug Oct 15, 2025
5e64da7
Implement feature X to enhance user experience and fix bug Y in module Z
MariusStorhaug Oct 15, 2025
72ac781
Implement feature X to enhance user experience and optimize performance
MariusStorhaug Oct 15, 2025
5070423
docs(PSModule.md): update header format for consistency
MariusStorhaug Oct 15, 2025
6e0489f
docs(readme): enhance clarity in setup instructions for GitHub Pages …
MariusStorhaug Oct 15, 2025
81e1874
docs(readme): improve formatting and clarity in setup instructions
MariusStorhaug Oct 17, 2025
dcf7a1a
docs(readme): enhance introduction for clarity and detail on workflow…
MariusStorhaug Oct 17, 2025
bc61333
docs(readme): improve clarity and formatting in setup instructions fo…
MariusStorhaug Oct 17, 2025
9d5a073
docs(readme): update documentation for clarity and structure, enhanci…
MariusStorhaug Oct 19, 2025
fb81954
docs(readme): add important note on removing branch protection for Gi…
MariusStorhaug Oct 19, 2025
8af041f
docs(readme): correct numbering in setup instructions for clarity
MariusStorhaug Oct 19, 2025
4013f98
docs(readme): adjust formatting for important note on branch protecti…
MariusStorhaug Oct 19, 2025
30fd1c7
docs(readme): update instructions to remove branch protection for Git…
MariusStorhaug Oct 19, 2025
91d20de
docs(readme): enhance clarity by using strong formatting for the GitH…
MariusStorhaug Oct 19, 2025
37349d0
docs(readme): update instructions for GitHub Pages environment and co…
MariusStorhaug Oct 19, 2025
b55fa11
docs(readme): correct numbering in setup instructions and clarify Git…
MariusStorhaug Oct 19, 2025
58b922a
docs(readme): clarify GitHub Pages environment setup and remove branc…
MariusStorhaug Oct 19, 2025
9e0fcd0
docs(readme): improve clarity in API key setup instructions and refor…
MariusStorhaug Oct 19, 2025
e8667fa
docs(readme): add link to scenario matrix for clearer workflow outcom…
MariusStorhaug Oct 19, 2025
fedad44
docs(readme): enhance table of contents and clarify workflow sections…
MariusStorhaug Oct 19, 2025
39224ab
docs(readme): update workflow overview and repository structure for i…
MariusStorhaug Oct 19, 2025
c799bf1
docs(readme): clarify workflow steps and enhance descriptions for bet…
MariusStorhaug Oct 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 12 additions & 11 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@

## Terminal Commands

When executing terminal commands (using `run_in_terminal` or similar tools):

- Prefer MCP server calls over command-line tools when possible.
- **ALWAYS** send commands into `pwsh -Command` to ensure proper execution.
- These commands must be enclosed in single quotes.
- Escape any single quotes within the command by doubling them (e.g., `It's` becomes `It''s`).
- Use double quotes for string with variables or expressions inside the single-quoted command.
- When running scripts within the [scripts](../.specify/scripts/) folder, just run them directly (shell is default PowerShell).
- For other commands, send them into `pwsh -Command` to ensure proper execution.

### Quoting in PowerShell

Proper quoting is essential in PowerShell to prevent parsing errors and ensure correct command execution.

- **Direct script execution**: Scripts run directly in PowerShell use standard PowerShell quoting rules. Double quotes expand variables and expressions, while single quotes are literal. No additional shell escaping is needed.

- **Via `pwsh -Command`**: Commands are passed as strings to PowerShell. Enclose the entire command in single quotes to treat it as a literal string. Escape single quotes within the command by doubling them (e.g., `It's` becomes `It''s`). Use double quotes within the command for variable expansion, but ensure the outer single quotes protect the string from shell interpretation.

## Other instructions
For arguments containing single quotes, prefer double-quoting the argument inside the command string.

| Tech | Instruction file |
|------|------------------|
| PowerShell | [pwsh.instructions.md](./instructions/pwsh.instructions.md) |
| Markdown | [md.instructions.md](./instructions/md.instructions.md) |
Example: `pwsh -Command 'Write-Host "I''m Groot"'`
File renamed without changes.
131 changes: 65 additions & 66 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,45 +168,6 @@ jobs:
Name: ${{ fromJson(needs.Get-Settings.outputs.Settings).Name }}
WorkingDirectory: ${{ inputs.WorkingDirectory }}

# Runs on:
# - ✅ Open/Updated PR - Builds documentation for review
# - ✅ Merged PR - Builds documentation for publishing
# - ❌ Abandoned PR - Skips building docs for abandoned changes
# - ✅ Manual run - Builds documentation when manually triggered
Build-Docs:
if: ${{ !(github.event.action == 'closed' && github.event.pull_request.merged != true) && fromJson(needs.Get-Settings.outputs.Settings).Build.Docs.Skip != true }}
needs:
- Get-Settings
- Build-Module
uses: ./.github/workflows/Build-Docs.yml
with:
Name: ${{ fromJson(needs.Get-Settings.outputs.Settings).Name }}
Debug: ${{ inputs.Debug }}
Prerelease: ${{ inputs.Prerelease }}
Verbose: ${{ inputs.Verbose }}
Version: ${{ inputs.Version }}
WorkingDirectory: ${{ inputs.WorkingDirectory }}
ShowSummaryOnSuccess: ${{ fromJson(needs.Get-Settings.outputs.Settings).Build.Docs.ShowSummaryOnSuccess }}

# Runs on:
# - ✅ Open/Updated PR - Builds site for preview
# - ✅ Merged PR - Builds site for publishing
# - ❌ Abandoned PR - Skips building site for abandoned changes
# - ✅ Manual run - Builds site when manually triggered
Build-Site:
if: ${{ !(github.event.action == 'closed' && github.event.pull_request.merged != true) && fromJson(needs.Get-Settings.outputs.Settings).Build.Site.Skip != true }}
needs:
- Get-Settings
- Build-Docs
uses: ./.github/workflows/Build-Site.yml
with:
Name: ${{ fromJson(needs.Get-Settings.outputs.Settings).Name }}
Debug: ${{ inputs.Debug }}
Prerelease: ${{ inputs.Prerelease }}
Verbose: ${{ inputs.Verbose }}
Version: ${{ inputs.Version }}
WorkingDirectory: ${{ inputs.WorkingDirectory }}

# Runs on:
# - ✅ Open/Updated PR - Tests source code changes
# - ✅ Merged PR - Tests source code before publishing
Expand Down Expand Up @@ -453,38 +414,11 @@ jobs:
Verbose: ${{ inputs.Verbose }}
Version: ${{ inputs.Version }}

# Runs on:
# - ❌ Open/Updated PR - Site not published for PRs in progress
# - ✅ Merged PR - Deploys site to GitHub Pages after successful merge
# - ❌ Abandoned PR - Site not published for abandoned changes
# - ❌ Manual run - Only publishes on merged PRs, not manual runs
Publish-Site:
if: ${{ !(github.event.action == 'closed' && github.event.pull_request.merged != true) && needs.Get-TestResults.result == 'success' && needs.Get-CodeCoverage.result == 'success' && needs.Build-Site.result == 'success' && !cancelled() && github.event_name == 'pull_request' && github.event.pull_request.merged == true }}
needs:
- Get-Settings
- Get-TestResults
- Get-CodeCoverage
- Build-Site
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/configure-pages@v5

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

# Runs on:
# - ✅ Open/Updated PR - Publishes prerelease when all tests/coverage/build succeed
# - ✅ Merged PR - Publishes release when all tests/coverage/build succeed
# - ✅ Abandoned PR - Publishes cleanup/retraction version
# - ✅ Manual run - Publishes when all tests/coverage/build succeed
#
Publish-Module:
if: |
needs.Get-Settings.result == 'success' && !cancelled() && github.event_name == 'pull_request' && (
Expand Down Expand Up @@ -534,3 +468,68 @@ jobs:
PatchLabels: ${{ fromJson(needs.Get-Settings.outputs.Settings).Publish.Module.PatchLabels }}
VersionPrefix: ${{ fromJson(needs.Get-Settings.outputs.Settings).Publish.Module.VersionPrefix }}
WorkingDirectory: ${{ inputs.WorkingDirectory }}

# Runs on:
# - ✅ Open/Updated PR - Builds documentation for review
# - ✅ Merged PR - Builds documentation for publishing
# - ❌ Abandoned PR - Skips building docs for abandoned changes
# - ✅ Manual run - Builds documentation when manually triggered
Build-Docs:
if: ${{ !(github.event.action == 'closed' && github.event.pull_request.merged != true) && fromJson(needs.Get-Settings.outputs.Settings).Build.Docs.Skip != true }}
needs:
- Get-Settings
- Build-Module
uses: ./.github/workflows/Build-Docs.yml
with:
Name: ${{ fromJson(needs.Get-Settings.outputs.Settings).Name }}
Debug: ${{ inputs.Debug }}
Prerelease: ${{ inputs.Prerelease }}
Verbose: ${{ inputs.Verbose }}
Version: ${{ inputs.Version }}
WorkingDirectory: ${{ inputs.WorkingDirectory }}
ShowSummaryOnSuccess: ${{ fromJson(needs.Get-Settings.outputs.Settings).Build.Docs.ShowSummaryOnSuccess }}

# Runs on:
# - ✅ Open/Updated PR - Builds site for preview
# - ✅ Merged PR - Builds site for publishing
# - ❌ Abandoned PR - Skips building site for abandoned changes
# - ✅ Manual run - Builds site when manually triggered
Build-Site:
if: ${{ !(github.event.action == 'closed' && github.event.pull_request.merged != true) && fromJson(needs.Get-Settings.outputs.Settings).Build.Site.Skip != true }}
needs:
- Get-Settings
- Build-Docs
uses: ./.github/workflows/Build-Site.yml
with:
Name: ${{ fromJson(needs.Get-Settings.outputs.Settings).Name }}
Debug: ${{ inputs.Debug }}
Prerelease: ${{ inputs.Prerelease }}
Verbose: ${{ inputs.Verbose }}
Version: ${{ inputs.Version }}
WorkingDirectory: ${{ inputs.WorkingDirectory }}

# Runs on:
# - ❌ Open/Updated PR - Site not published for PRs in progress
# - ✅ Merged PR - Deploys site to GitHub Pages after successful merge
# - ❌ Abandoned PR - Site not published for abandoned changes
# - ❌ Manual run - Only publishes on merged PRs, not manual runs
Publish-Site:
if: ${{ !(github.event.action == 'closed' && github.event.pull_request.merged != true) && needs.Get-TestResults.result == 'success' && needs.Get-CodeCoverage.result == 'success' && needs.Build-Site.result == 'success' && !cancelled() && github.event_name == 'pull_request' && github.event.pull_request.merged == true }}
needs:
- Get-Settings
- Get-TestResults
- Get-CodeCoverage
- Build-Site
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/configure-pages@v5

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Loading
Loading