Run comprehensive pre-release validation checklist
Scanned 9/12/2026
Install to Claude Code
npx -y skills add TypedDevs/bashunit --skill pre-release --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Pre Release?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/typeddevs-pre-release)More formats (shields.io, HTML) on the badges page.
---
name: pre-release
description: Run comprehensive pre-release validation checklist
allowed-tools: Read, Bash, Grep, Glob
---
# Pre-Release Validation
Run all checks before releasing a new bashunit version.
## Checklist
### 1. Version Consistency
Verify version matches across: `package.json`, `CHANGELOG.md`, `src/bashunit.sh`
### 2. Full Test Suite
```bash
./bashunit tests/unit/
./bashunit tests/functional/
./bashunit tests/acceptance/
./bashunit tests/
./bashunit --parallel tests/
```
All must pass. Run 3-5 times to catch flaky tests.
### 3. Static Analysis & Formatting
```bash
make sa # ShellCheck — zero warnings
make lint # EditorConfig — clean
# NB: no shfmt gate — it conflicts with .editorconfig here; make lint is the authority
```
### 4. Documentation
- `CHANGELOG.md` — version section complete with all changes
- `README.md` — examples current, no broken links
- No remaining TODOs/FIXMEs in docs
### 5. Bash 3.0+ Compatibility
```bash
grep -rn '\[\[' src/ # Should not use [[
grep -rn 'declare -A' src/ # No associative arrays
grep -rn '\${.*,,}' src/ # No case conversion
```
### 6. Cross-Platform (if Docker available)
```bash
make docker/alpine
make docker/ubuntu
```
### 7. Security Scan
No hardcoded secrets, no unsafe eval, input validation present.
### 8. Breaking Changes
Review `git log` since last release. Breaking changes must be documented with migration guide.
### 9. Git & CI Status
- Working directory clean
- All CI checks passing: `gh run list --limit 5`
### 10. Smoke Test
```bash
./bashunit --help
./bashunit --version
echo 'function test_smoke() { assert_equals "1" "1"; }' > /tmp/smoke_test.sh
./bashunit /tmp/smoke_test.sh
rm /tmp/smoke_test.sh
```
## Output
Report each check as pass/fail/warning. Only proceed to release when ALL checks pass.
## After Validation
```bash
git tag -a vX.Y.Z -m "Release vX.Y.Z"
git push origin vX.Y.Z
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!