This directory contains utility scripts for the morphir-dotnet project.
Removes "Co-Authored-By: Claude noreply@anthropic.com" from commit messages to ensure CLA (Contributor License Agreement) compliance.
Usage:
# Dry run - show what would be changed (default)
dotnet fsi scripts/remove-claude-coauthor.fsx
# Check last 5 commits
dotnet fsi scripts/remove-claude-coauthor.fsx --commits 5
# Check specific branch
dotnet fsi scripts/remove-claude-coauthor.fsx --branch fix/my-branch
# Check all commits since divergence from main
dotnet fsi scripts/remove-claude-coauthor.fsx --since-main
# Apply changes (creates backup branch automatically)
dotnet fsi scripts/remove-claude-coauthor.fsx --commits 5 --yes
# Verbose output
dotnet fsi scripts/remove-claude-coauthor.fsx --commits 5 --verboseFeatures:
- ✅ Detects commits with Claude co-author violations
- ✅ Dry-run mode by default (safe preview)
- ✅ Creates automatic backup branch before rewriting
- ✅ Preserves all other commit metadata and co-authors
- ✅ Warns about pushed commits requiring force-push
- ✅ Requires user confirmation before applying changes
Safety:
- Requires clean working directory
- Creates backup:
backup/pre-coauthor-fix-{timestamp} - Confirmation prompt before applying (unless
--yesflag) - Clear guidance for force-push if needed
See: AGENTS.md - Commit Messages, CLAUDE.md - Commit Standards
Validates CHANGELOG.md against KeepAChangelog format requirements.
Usage:
dotnet fsi scripts/validate-changelog.fsx
dotnet fsi scripts/validate-changelog.fsx --file CHANGELOG.md
dotnet fsi scripts/validate-changelog.fsx --verboseGenerates Wolverine framework code.
Publishes single-file executables (trimmed/untrimmed variants).
Runs end-to-end tests.
Runs unit tests.
Installation scripts for different platforms.
dotnet fsi scripts/{script-name}.fsx [options]dotnet run --project scripts/{script-name}.cs# Linux/macOS
./scripts/{script-name}.sh
# Windows (PowerShell)
.\scripts\{script-name}.ps1When adding new scripts:
- Follow existing patterns (see
validate-changelog.fsxfor F# scripts) - Include comprehensive header documentation with usage examples
- Add entry to this README.md
- Use Argu for CLI parsing (F# scripts)
- Use Spectre.Console for formatted output (F# scripts)
- Ensure cross-platform compatibility