scripts/README.md
Utility scripts for maintaining the beads project.
Read-only PR safety check for agents and maintainers.
# Before implementing or opening a related PR
./scripts/pr-preflight.sh --search "topic keywords" --repo gastownhall/beads
# Before changing, closing, or merging an existing PR
./scripts/pr-preflight.sh 123 --repo gastownhall/beads
It reports contributor/fork status, draft/review/merge/check state, risky diff
signals such as .beads/ changes or missing tests, and the required
contributor-protection next steps. It does not replace code review or local
validation.
One-command release from version bump to local installation.
# Full release (does everything)
./scripts/release.sh 0.9.3
# Preview what would happen
./scripts/release.sh 0.9.3 --dry-run
This master script automates the entire release process:
After this script completes, your system is running the new version!
# Release version 0.9.3
./scripts/release.sh 0.9.3
# Preview a release (no changes made)
./scripts/release.sh 1.0.0 --dry-run
The script provides colorful, step-by-step progress output:
After the script finishes:
brew upgrade beads to get the new versionBumps the version number across all beads components in a single command.
# Show usage
./scripts/bump-version.sh
# Update versions (shows diff, no commit)
./scripts/bump-version.sh 0.9.3
# Update versions and auto-commit
./scripts/bump-version.sh 0.9.3 --commit
Updates version in all these files:
cmd/bd/version.go - bd CLI version constantclaude-plugin/.claude-plugin/plugin.json - Plugin version.claude-plugin/marketplace.json - Marketplace plugin versionintegrations/beads-mcp/pyproject.toml - MCP server versionREADME.md - Alpha status versionPLUGIN.md - Version requirements# Bump to 0.9.3 and review changes
./scripts/bump-version.sh 0.9.3
# Review the diff, then manually commit
# Bump to 1.0.0 and auto-commit
./scripts/bump-version.sh 1.0.0 --commit
git push origin main
Previously, version bumps only updated cmd/bd/version.go, leaving other components out of sync. This script ensures all version numbers stay consistent across the project.
Signs Windows executables with an Authenticode certificate using osslsigncode.
# Sign a Windows executable
./scripts/sign-windows.sh path/to/bd.exe
# Environment variables required for signing:
export WINDOWS_SIGNING_CERT_PFX_BASE64="<base64-encoded-pfx>"
export WINDOWS_SIGNING_CERT_PASSWORD="<certificate-password>"
This script is called automatically by GoReleaser during the release process:
osslsigncode installed (apt install osslsigncode or brew install osslsigncode)WINDOWS_SIGNING_CERT_PFX_BASE64 - base64-encoded PFX fileWINDOWS_SIGNING_CERT_PASSWORD - certificate passwordIf the signing secrets are not configured:
This allows releases to work before a certificate is acquired.
Windows code signing helps reduce antivirus false positives that affect Go binaries.
Kaspersky and other AV software commonly flag unsigned Go executables as potentially
malicious due to heuristic detection. See docs/ANTIVIRUS.md for details.
Additional maintenance scripts may be added here as needed.