Skip to content

Commit e993adc

Browse files
committed
Add script release checklist
1 parent 7733a02 commit e993adc

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

docs/script-release-checklist.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Script Release Checklist
2+
3+
Use this checklist before promoting a PowerShell script as a reusable toolkit in `script-toolbox`.
4+
5+
## Safety gates
6+
7+
| Gate | Required evidence |
8+
|---|---|
9+
| No hidden destructive action | README states what the script changes and which files/services/accounts are touched. |
10+
| Explicit parameters | Important values are passed as parameters or clearly documented defaults. |
11+
| Elevation check | Scripts that need administrator rights fail early with a clear message. |
12+
| Dry-run or validation path | When practical, the script can validate prerequisites before making changes. |
13+
| Post-run verification | The script checks that the intended tool/service/configuration is actually available after execution. |
14+
| Rollback note | The README explains how to inspect or undo the main change where rollback is realistic. |
15+
| SSH safety | Remote-access changes warn the user to keep an active console/RDP session until login is confirmed. |
16+
17+
## Repository quality gates
18+
19+
Run from the repository root:
20+
21+
```powershell
22+
pwsh -File tools/test-powershell-syntax.ps1
23+
pwsh -File tools/test-markdown-links.ps1
24+
Invoke-ScriptAnalyzer -Path . -Recurse
25+
```
26+
27+
The GitHub Actions workflow is expected to fail on syntax errors and analyzer error-level findings. Warning-level findings may remain visible when they are consciously accepted and documented.
28+
29+
## Documentation gates
30+
31+
Every new toolkit should include:
32+
33+
- English README;
34+
- Russian README when the toolkit is user-facing;
35+
- quick-start command;
36+
- parameter table or parameter examples;
37+
- prerequisites;
38+
- what the script changes;
39+
- expected successful output;
40+
- troubleshooting notes;
41+
- safety notes for production or remote systems.
42+
43+
## Review decision
44+
45+
Use clear status wording:
46+
47+
```text
48+
Accepted for repository use: syntax check, Markdown link check and ScriptAnalyzer have passed; documentation describes prerequisites, changes, safety notes and verification steps.
49+
```
50+
51+
Or:
52+
53+
```text
54+
Not ready for release: the script works locally, but the README does not yet describe safety impact, prerequisites and post-run verification.
55+
```

0 commit comments

Comments
 (0)