Skip to content

Commit 684865b

Browse files
Merge pull request #109 from WarehouseFinds/feat/documentation_update
Update documentation and support files; refine issue templates
2 parents 0b8707c + cd074bc commit 684865b

File tree

8 files changed

+81
-74
lines changed

8 files changed

+81
-74
lines changed

.github/FUNDING.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,3 @@
22
github: marko-stanojevic
33
ko_fi: mstanojevic
44
buy_me_a_coffee: marko.stanojevic
5-
liberapay: marko-stanojevic
6-
custom: ["https://www.paypal.me/mstanojevic84"]

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
blank_issues_enabled: true
1+
blank_issues_enabled: false
22
contact_links:
33
- name: Questions & Discussions
4-
url: https://github.com/YourUsername/PSScriptModule/discussions
4+
url: https://github.com/WarehouseFinds/PSScriptModule/discussions
55
about: Ask questions and discuss ideas with the community
66
- name: Security Issues
7-
url: https://github.com/YourUsername/PSScriptModule/security/advisories/new
7+
url: https://github.com/WarehouseFinds/PSScriptModule/security/advisories/new
88
about: Report security vulnerabilities privately

.github/ISSUE_TEMPLATE/documentation.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Documentation Improvement
1+
name: Documentation Update
22
description: Suggest improvements to documentation
33
title: "[Docs]: "
44
labels: ["documentation"]
@@ -29,7 +29,7 @@ body:
2929
label: Location
3030
description: Where is the documentation issue located?
3131
placeholder: |
32-
- File/Function: [e.g., Get-PSScriptModuleInfo]
32+
- File/Function: [e.g., .src/Public/Get-PSScriptModuleInfo]
3333
- Section: [e.g., EXAMPLES]
3434
validations:
3535
required: true

.github/SUPPORT.md

Lines changed: 22 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,49 @@
1-
# Support
1+
# Need Help or Support?
22

3-
## Getting Help
3+
Thank you for using PSScriptModule!
44

5-
Thank you for using PSScriptModule! If you need help or have questions, here are the available resources:
5+
If you need help or have questions, here are the available resources:
66

7-
### Documentation
7+
## Documentation
88

99
- **[README](../README.md)** - Project overview and quick start guide
1010
- **[Help Documentation](../docs/help/)** - Detailed cmdlet reference
1111
- **[AI Agents Guide](../AGENTS.md)** - Guidance for AI-assisted development
1212

13-
### Community Support
13+
## Community Support
14+
15+
### 🐛 Issues & Feature Requests
16+
17+
Search [existing issues](../../issues) or [create a new issue](../../issues/new) for:
1418

15-
- **GitHub Issues** - Search [existing issues](../../issues) or [create a new issue](../../issues/new) for:
1619
- Bug reports
1720
- Feature requests
1821
- Questions about usage
1922
- Documentation clarifications
2023

21-
- **GitHub Discussions** - Join [discussions](../../discussions) for:
22-
- General questions
23-
- Best practices
24-
- Community collaboration
25-
- Show and tell
26-
27-
### Reporting Issues
28-
29-
When reporting issues, please include:
30-
31-
1. **PowerShell Version**: Output of `$PSVersionTable`
32-
1. **Module Version**: Output of `Get-Module PSScriptModule`
33-
1. **Operating System**: Windows, macOS, or Linux distribution
34-
1. **Steps to Reproduce**: Clear steps to reproduce the issue
35-
1. **Expected Behavior**: What you expected to happen
36-
1. **Actual Behavior**: What actually happened
37-
1. **Error Messages**: Full error output with stack traces if available
38-
39-
### Security Issues
24+
### 🔒 Security Issues
4025

4126
**Do not report security vulnerabilities through public GitHub issues.**
4227

4328
Please report security vulnerabilities by emailing the project maintainer or using GitHub's private security reporting feature.
4429

45-
### Contributing
46-
47-
Interested in contributing? See our [Contributing Guidelines](CONTRIBUTING.md) for:
48-
49-
- Code of conduct
50-
- Development setup
51-
- Pull request process
52-
- Coding standards
30+
### 💬 Discussion & Feedback
5331

54-
### Response Times
32+
Join [discussions](../../discussions) for:
5533

56-
This is a community-driven project. Response times may vary:
34+
- General questions
35+
- Best practices
36+
- Community collaboration
37+
- Show and tell
5738

58-
- **Critical bugs**: We aim to respond within 48 hours
59-
- **General issues**: Usually responded to within 1 week
60-
- **Feature requests**: Reviewed during regular planning cycles
39+
## Note
6140

62-
### Additional Resources
41+
### This project is maintained by volunteers ❤️
6342

64-
- **PowerShell Documentation**: [docs.microsoft.com/powershell](https://docs.microsoft.com/en-us/powershell/)
65-
- **Pester Documentation**: [pester.dev](https://pester.dev/)
66-
- **PSScriptAnalyzer**: [github.com/PowerShell/PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer)
43+
- Please be respectful and patient — maintainers may take some time to respond.
44+
- We do **not provide professional consulting** through the repo issues.
45+
- For enterprise support, consider hiring a PowerShell consultant.
6746

6847
---
6948

70-
**Note**: This project is maintained by volunteers. Please be patient and respectful when seeking support.
49+
Thank you for being part of the community! 🚀

.github/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ changelog:
66
categories:
77
- title: 💥 Breaking Changes
88
labels:
9-
- breaking
10-
- major
9+
- breaking
10+
- major
1111
- title: 🚀 Features
1212
labels:
1313
- feature

.github/workflows/bootstrap-repo.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,15 +107,29 @@ jobs:
107107
MODULE_PATH=${{ github.repository }}
108108
rm README.md
109109
mv .github/README_template.md README.md
110-
sed -i "s|{MODULE_NAME}|$MODULE_NAME|g" README.md
110+
sed -i "s|PSScriptModule|$MODULE_NAME|g" README.md
111111
sed -i "s|{MODULE_DESCRIPTION}|$MODULE_DESCRIPTION|g" README.md
112112
sed -i "s|{MODULE_PATH}|$MODULE_PATH|g" README.md
113113
114+
- name: Update SUPPORT.md
115+
run: |
116+
MODULE_NAME=${{ github.event.repository.name }}
117+
sed -i "s/PSScriptModule/$MODULE_NAME/g" .githubSUPPORT.md
118+
114119
- name: Update LICENSE
115120
run: |
116121
OWNER=${{ github.repository_owner }}
117122
sed -i "s/Warehouse Finds/$OWNER/g" LICENSE
118123
124+
- name: Remove FUNDING.yml
125+
run: |
126+
rm .github/FUNDING.yml
127+
128+
- name: Update config.yml in ISSUE_TEMPLATE
129+
run: |
130+
MODULE_PATH=${{ github.repository }}
131+
sed -i "s|WarehouseFinds/PSScriptModule|$MODULE_PATH|g" .github/ISSUE_TEMPLATE/config.yml
132+
119133
- name: Update devcontainer.json
120134
run: |
121135
MODULE_NAME=${{ github.event.repository.name }}

AGENTS.md

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ This document provides guidance for AI coding agents (like GitHub Copilot, Curso
1313

1414
## Project Structure
1515

16-
```
16+
```plaintext
1717
PSScriptModule.Template/
1818
├── src/ # Source code
1919
│ ├── PSScriptModule.psd1 # Module manifest
@@ -31,26 +31,30 @@ PSScriptModule.Template/
3131
## Key Conventions
3232

3333
### File Naming
34+
3435
- Public functions: `Verb-Noun.ps1` in `src/Public/`
3536
- Private functions: `VerbNoun.ps1` in `src/Private/`
3637
- Test files: `*.Tests.ps1` alongside source files
3738
- Help files: `Verb-Noun.md` in `docs/help/`
3839

3940
### Function Structure
41+
4042
- Use approved PowerShell verbs (Get, Set, New, Remove, etc.)
4143
- Include `[CmdletBinding()]` attribute
4244
- Add comprehensive comment-based help
4345
- Use parameter validation attributes
4446
- Follow begin/process/end blocks when appropriate
4547

4648
### Testing Requirements
49+
4750
- Every function must have corresponding `.Tests.ps1` file
4851
- Use Pester framework (v5+)
4952
- Organize tests with Describe/Context/It blocks
5053
- Test both success and failure scenarios
5154
- Mock external dependencies
5255

5356
### Code Quality
57+
5458
- Must pass PSScriptAnalyzer with default rules
5559
- Follow PSScriptAnalyzerSettings.psd1 configuration
5660
- Check for security issues (injection attacks, etc.)
@@ -77,7 +81,8 @@ Invoke-Build Invoke-Pester # Run Pester tests
7781
- Public functions → `src/Public/Verb-Noun.ps1`
7882
- Private functions → `src/Private/VerbNoun.ps1`
7983

80-
2. **Function Template**:
84+
1. **Function Template**:
85+
8186
```powershell
8287
function Verb-Noun {
8388
<#
@@ -128,7 +133,8 @@ Invoke-Build Invoke-Pester # Run Pester tests
128133
}
129134
```
130135

131-
3. **Create Test File**:
136+
1. **Create Test File**:
137+
132138
```powershell
133139
BeforeAll {
134140
# Import the function
@@ -154,10 +160,10 @@ Invoke-Build Invoke-Pester # Run Pester tests
154160
### When Modifying Existing Code
155161

156162
1. **Verify Tests**: Ensure existing tests still pass
157-
2. **Update Tests**: Add new tests for new functionality
158-
3. **Update Help**: Regenerate markdown help if function signature changes
159-
4. **Check Analysis**: Run PSScriptAnalyzer to verify compliance
160-
5. **Semantic Versioning**: Include appropriate `+semver:` keyword in commits
163+
1. **Update Tests**: Add new tests for new functionality
164+
1. **Update Help**: Regenerate markdown help if function signature changes
165+
1. **Check Analysis**: Run PSScriptAnalyzer to verify compliance
166+
1. **Semantic Versioning**: Include appropriate `+semver:` keyword in commits
161167

162168
### Code Quality Checklist
163169

@@ -177,6 +183,7 @@ Before completing any code changes, verify:
177183
### Common Patterns
178184

179185
**Error Handling**:
186+
180187
```powershell
181188
try {
182189
# Operation
@@ -188,11 +195,13 @@ catch {
188195
```
189196

190197
**Verbose Output**:
198+
191199
```powershell
192200
Write-Verbose "Performing action on $Target"
193201
```
194202

195203
**Parameter Validation**:
204+
196205
```powershell
197206
[Parameter(Mandatory)]
198207
[ValidateNotNullOrEmpty()]
@@ -202,6 +211,7 @@ $Path
202211
```
203212

204213
**Should Process (for destructive operations)**:
214+
205215
```powershell
206216
[CmdletBinding(SupportsShouldProcess)]
207217
param()
@@ -214,11 +224,13 @@ if ($PSCmdlet.ShouldProcess($Target, "Operation")) {
214224
### Dependencies
215225

216226
Install required modules via PSDepend:
227+
217228
```powershell
218229
Invoke-PSDepend -Path ./requirements.psd1 -Install -Import -Force
219230
```
220231

221232
Key dependencies:
233+
222234
- **InvokeBuild**: Build orchestration
223235
- **Pester**: Testing framework
224236
- **PSScriptAnalyzer**: Static code analysis
@@ -229,10 +241,10 @@ Key dependencies:
229241
- Uses GitVersion with GitHub Flow
230242
- Every PR merge to `main` creates a new release
231243
- Control version bumps with commit message keywords:
232-
- `+semver: major` - Breaking changes (1.0.0 → 2.0.0)
233-
- `+semver: minor` - New features (1.0.0 → 1.1.0)
234-
- `+semver: patch` - Bug fixes (1.0.0 → 1.0.1)
235-
- `+semver: none` - No version change
244+
- `+semver: major` - Breaking changes (1.0.0 → 2.0.0)
245+
- `+semver: minor` - New features (1.0.0 → 1.1.0)
246+
- `+semver: patch` - Bug fixes (1.0.0 → 1.0.1)
247+
- `+semver: none` - No version change
236248

237249
### Testing Commands
238250

@@ -258,15 +270,15 @@ Invoke-ScriptAnalyzer -Path ./src -Recurse
258270
## Best Practices for AI Agents
259271

260272
1. **Always run tests** after making changes
261-
2. **Follow existing patterns** in the codebase
262-
3. **Don't remove or modify** PSScriptAnalyzer suppressions without understanding them
263-
4. **Update documentation** when changing function signatures
264-
5. **Use approved verbs** from `Get-Verb` output
265-
6. **Avoid aliases** in production code (use full cmdlet names)
266-
7. **Include examples** in help documentation
267-
8. **Handle errors explicitly** with try/catch blocks
268-
9. **Add verbose output** for debugging
269-
10. **Test edge cases** including null/empty inputs
273+
1. **Follow existing patterns** in the codebase
274+
1. **Don't remove or modify** PSScriptAnalyzer suppressions without understanding them
275+
1. **Update documentation** when changing function signatures
276+
1. **Use approved verbs** from `Get-Verb` output
277+
1. **Avoid aliases** in production code (use full cmdlet names)
278+
1. **Include examples** in help documentation
279+
1. **Handle errors explicitly** with try/catch blocks
280+
1. **Add verbose output** for debugging
281+
1. **Test edge cases** including null/empty inputs
270282

271283
## Resources
272284

@@ -279,6 +291,7 @@ Invoke-ScriptAnalyzer -Path ./src -Recurse
279291
## Quick Reference
280292

281293
### File Operations
294+
282295
```powershell
283296
# Create new public function
284297
New-Item -Path ./src/Public/Get-Something.ps1 -ItemType File
@@ -288,6 +301,7 @@ New-Item -Path ./src/Public/Get-Something.Tests.ps1 -ItemType File
288301
```
289302

290303
### Build Operations
304+
291305
```powershell
292306
# Clean build
293307
Invoke-Build Clean
@@ -303,6 +317,7 @@ Invoke-Build -ReleaseType Release
303317
```
304318

305319
### Module Operations
320+
306321
```powershell
307322
# Import module for testing
308323
Import-Module ./src/PSScriptModule.psd1 -Force

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
# PSScriptModule.Template
1+
# PSScriptModule - PowerShell Script Module Template
22

33
A production-ready PowerShell script module template designed to streamline the creation, testing, and delivery of enterprise-grade PowerShell modules. This template implements modern DevOps practices,
44
automated quality gates, and continuous delivery workflows right out of the box.
55

66
[![CI](https://github.com/WarehouseFinds/PSScriptModule/actions/workflows/ci.yml/badge.svg)](https://github.com/WarehouseFinds/PSScriptModule/actions/workflows/ci.yml)
77
[![PowerShell Gallery](https://img.shields.io/powershellgallery/v/PSScriptModule.svg)](https://www.powershellgallery.com/packages/PSScriptModule)
8+
[![Downloads](https://img.shields.io/powershellgallery/dt/PSScriptModule.svg)](https://www.powershellgallery.com/packages/PSScriptModule)
89
[![License](https://img.shields.io/github/license/WarehouseFinds/PSScriptModule)](LICENSE)
910

1011
## 🎯 Purpose

0 commit comments

Comments
 (0)