Skip to content

Commit d3de5cd

Browse files
committed
✨ [feat] Enhances module with cross-platform support
Adds cross-platform compatibility and improves issue reporting. - 🎨 Updates file structure with new issue and PR templates for bug reports and feature requests. - Facilitates clearer, more structured user input and feedback. - ✨ Implements cross-platform cache directory support. - 💻 Detects the operating system and sets the cache directory accordingly: - Windows: `$env:APPDATA\ColorScripts-Enhanced\cache` - macOS: `~/Library/Application Support/ColorScripts-Enhanced/cache` - Linux: `~/.cache/ColorScripts-Enhanced` - ⚙️ Modifies the PowerShell script execution command to use `pwsh` or `powershell.exe` based on the PowerShell version, ensuring compatibility across different platforms. - 🧪 Enhances module testing for cross-platform functionality. - 👷 Adds multiple CI workflows for code quality, security, and automation. - 🛡️ Includes workflows for linting, dependency review, secret scanning, and code formatting. - 📝 Updates documentation to reflect cross-platform compatibility. - 📚 Modifies `README.md`, `QUICKSTART.md`, and `about_ColorScripts-Enhanced.help.txt` to include macOS and Linux paths. Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com>
1 parent b07689a commit d3de5cd

35 files changed

Lines changed: 1098 additions & 61 deletions
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve ColorScripts-Enhanced
4+
title: "[BUG] "
5+
labels: bug
6+
assignees: Nick2bad4u
7+
---
8+
9+
### Describe the bug
10+
11+
A clear and concise description of what the bug is.
12+
13+
### To Reproduce
14+
15+
Steps to reproduce the behavior:
16+
17+
1. Run command `...`
18+
2. With parameters `...`
19+
3. See error
20+
21+
### Expected behavior
22+
23+
A clear and concise description of what you expected to happen.
24+
25+
### Actual behavior
26+
27+
What actually happened instead.
28+
29+
### Screenshots or Terminal Output
30+
31+
If applicable, add screenshots or paste terminal output to help explain your problem.
32+
33+
```powershell
34+
# Paste terminal output here
35+
```
36+
37+
### Environment
38+
39+
- **OS**: [e.g., Windows 11, Ubuntu 22.04, macOS 14]
40+
- **PowerShell Version**: [e.g., 5.1, 7.4, 7.5] (Run `$PSVersionTable.PSVersion` to check)
41+
- **Module Version**: [e.g., 2025.10.09.2330] (Run `(Get-Module ColorScripts-Enhanced).Version` to check)
42+
- **Terminal**: [e.g., Windows Terminal, VS Code, PowerShell ISE, iTerm2]
43+
44+
### Colorscript Name (if applicable)
45+
46+
If the issue is with a specific colorscript:
47+
48+
- **Script Name**: [e.g., mandelbrot-zoom, hearts, arch]
49+
- **Cache Status**: [Enabled/Disabled/Unknown]
50+
51+
### Additional context
52+
53+
Add any other context about the problem here. For example:
54+
55+
- Does the issue occur with `-NoCache` parameter?
56+
- Did this work in a previous version?
57+
- Any custom PowerShell profile configurations?
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for ColorScripts-Enhanced
4+
title: "[FEATURE] "
5+
labels: enhancement, feature
6+
assignees: Nick2bad4u
7+
---
8+
9+
### Is your feature request related to a problem? Please describe.
10+
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
### Describe the solution you'd like
14+
15+
A clear and concise description of what you want to happen.
16+
17+
### Type of feature
18+
19+
- [ ] New colorscript
20+
- [ ] Module functionality enhancement
21+
- [ ] Performance improvement
22+
- [ ] New command/function
23+
- [ ] Documentation improvement
24+
- [ ] Other
25+
26+
### For new colorscripts
27+
28+
If requesting a new colorscript, please provide:
29+
30+
- **Visual concept**: Describe what the colorscript should look like
31+
- **Inspiration**: Link to existing examples or ASCII art
32+
- **Colors**: Suggested color palette
33+
- **Complexity**: Simple/Medium/Complex animation
34+
35+
### Describe alternatives you've considered
36+
37+
A clear and concise description of any alternative solutions or features you've considered.
38+
39+
### Additional context
40+
41+
Add any other context, code examples, or screenshots about the feature request here.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
28+
- OS: [e.g. iOS]
29+
- Browser [e.g. chrome, safari]
30+
- Version [e.g. 22]
31+
32+
**Smartphone (please complete the following information):**
33+
34+
- Device: [e.g. iPhone6]
35+
- OS: [e.g. iOS8.1]
36+
- Browser [e.g. stock browser, safari]
37+
- Version [e.g. 22]
38+
39+
**Additional context**
40+
Add any other context about the problem here.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
**Is your feature request related to a problem? Please describe.**
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**Additional context**
19+
Add any other context or screenshots about the feature request here.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Pull Request Template
2+
3+
## Description
4+
5+
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
6+
7+
Fixes # (issue)
8+
9+
## Type of change
10+
11+
Please delete options that are not relevant.
12+
13+
- [ ] Bug fix (non-breaking change which fixes an issue)
14+
- [ ] New feature (non-breaking change which adds functionality)
15+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
16+
- [ ] This change requires a documentation update
17+
18+
## Checklist
19+
20+
- [ ] My code follows the style guidelines of this project
21+
- [ ] I have performed a self-review of my own code
22+
- [ ] I have commented my code, particularly in hard-to-understand areas
23+
- [ ] I have made corresponding changes to the documentation
24+
- [ ] My changes generate no new warnings
25+
26+
## Screenshots (if applicable)
27+
28+
Please add any relevant screenshots to showcase the changes you have made.
29+
30+
## Additional Information
31+
32+
Please provide any additional information that might be useful for this pull request.

.github/dependabot.yml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,29 @@
1010

1111
version: 2
1212
updates:
13-
- package-ecosystem: github-actions
14-
cooldown:
15-
default-days: 3
16-
include: ["*"]
17-
directory: /
18-
schedule:
19-
interval: daily
20-
time: "05:30"
21-
timezone: "America/Detroit"
22-
assignees: ["Nick2bad4u"]
23-
allow:
24-
# Allow both direct and indirect updates for all packages
25-
- dependency-type: "all"
26-
labels:
27-
- "github-actions"
28-
- "dependabot"
29-
- "dependencies"
30-
commit-message:
31-
prefix: "[ci][skip-ci]"
32-
prefix-development: "[ci][skip-ci]"
33-
include: "scope"
34-
groups:
35-
github-actions:
36-
applies-to: version-updates
37-
patterns:
38-
- "*"
13+
- package-ecosystem: github-actions
14+
cooldown:
15+
default-days: 3
16+
include: ["*"]
17+
directory: /
18+
schedule:
19+
interval: daily
20+
time: "05:30"
21+
timezone: "America/Detroit"
22+
assignees: ["Nick2bad4u"]
23+
allow:
24+
# Allow both direct and indirect updates for all packages
25+
- dependency-type: "all"
26+
labels:
27+
- "github-actions"
28+
- "dependabot"
29+
- "dependencies"
30+
commit-message:
31+
prefix: "[ci][skip-ci]"
32+
prefix-development: "[ci][skip-ci]"
33+
include: "scope"
34+
groups:
35+
github-actions:
36+
applies-to: version-updates
37+
patterns:
38+
- "*"

.github/workflows/ActionLint.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# This GitHub Actions workflow is named "ActionLint".
2+
# It is triggered on push events and manually via the workflow_dispatch event.
3+
#
4+
# Permissions:
5+
# - Read access to repository contents.
6+
# - Write access to pull requests.
7+
#
8+
# Jobs:
9+
# - job-1:
10+
# - Runs on the latest Ubuntu runner.
11+
# - Steps:
12+
# - Harden Runner: Uses the step-security/harden-runner action to audit egress policy.
13+
# - Checkout: Uses the actions/checkout action to check out the repository.
14+
# - ActionLint: Uses the devops-actions/actionlint action to lint the workflow files.
15+
# - Continues on error and sets the ID to action-lint.
16+
17+
name: ActionLint
18+
concurrency:
19+
group: actionlint-${{ github.ref }}
20+
cancel-in-progress: false
21+
on:
22+
push:
23+
paths:
24+
- ".github/**"
25+
pull_request:
26+
paths:
27+
- ".github/**"
28+
workflow_dispatch:
29+
30+
permissions:
31+
contents: read
32+
pull-requests: write
33+
34+
jobs:
35+
job-1:
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Harden Runner
39+
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
40+
with:
41+
egress-policy: audit
42+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
43+
- uses: devops-actions/actionlint@c6744a34774e4e1c1df0ff66bdb07ec7ee480ca0 #v0.1.9
44+
continue-on-error: true
45+
id: action-lint

.github/workflows/dependency-review.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# PRs introducing known-vulnerable packages will be blocked from merging.
77
#
88
# Source repository: https://github.com/actions/dependency-review-action
9-
name: 'Dependency Review'
9+
name: "Dependency Review"
1010
on: [pull_request]
1111

1212
permissions:
@@ -21,7 +21,7 @@ jobs:
2121
with:
2222
egress-policy: audit
2323

24-
- name: 'Checkout Repository'
24+
- name: "Checkout Repository"
2525
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
26-
- name: 'Dependency Review'
26+
- name: "Dependency Review"
2727
uses: actions/dependency-review-action@56339e523c0409420f6c2c9a2f4292bbb3c07dd3 # v4.8.0
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Analyze Repo with git-sizer
2+
run-name: Analyze Repo with git-sizer - ${{ github.event.inputs.repo }}
3+
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
repo:
8+
description: "Repository to analyze (e.g., https://github.com/owner/repo.git)"
9+
required: true
10+
11+
jobs:
12+
run-git-sizer:
13+
name: git-sizer - ${{ github.event.inputs.repo }}
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Harden the runner (Audit all outbound calls)
17+
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
18+
with:
19+
egress-policy: audit
20+
21+
- name: Checkout code
22+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
23+
24+
- name: Use local git-sizer action
25+
id: sizer
26+
uses: ChrisCarini/github-git-sizer-action@09eaa4ae73038a5f0bbdc7e7b964f1bf6114c277 # latest
27+
with:
28+
repo: ${{ github.event.inputs.repo }}
29+
flags: "--threshold=0"
30+
31+
- name: Print git-sizer output
32+
run: |
33+
printf "%s\n" "${{ steps.sizer.outputs.result }}"

.github/workflows/git-sizer.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Scheduled repo analysis with git-sizer
2+
3+
on:
4+
schedule:
5+
- cron: "44 2 * * 0" # Runs on Sundays at 2:44 AM UTC; https://crontab.guru/#44_2_*_*_0
6+
push:
7+
pull_request:
8+
workflow_dispatch:
9+
10+
jobs:
11+
run-git-sizer:
12+
name: git-sizer - ${{ github.repository }}
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Harden the runner (Audit all outbound calls)
16+
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
17+
with:
18+
egress-policy: audit
19+
20+
- name: Run git-sizer
21+
id: sizer
22+
uses: ChrisCarini/github-git-sizer-action@09eaa4ae73038a5f0bbdc7e7b964f1bf6114c277 # latest
23+
with:
24+
flags: "--threshold=0"
25+
26+
- name: Print git-sizer output
27+
run: |
28+
printf "%s\n" "${{ steps.sizer.outputs.result }}"

0 commit comments

Comments
 (0)