feat(releaseprep): migrate standalone tool into vociferate

This commit is contained in:
Micheal Wilkinson
2026-03-20 18:26:11 +00:00
parent 2060af6a78
commit caf0b6db76
9 changed files with 614 additions and 0 deletions

53
README.md Normal file
View File

@@ -0,0 +1,53 @@
# vociferate
A reusable release preparation tool for Go repositories.
## Build
Build with just:
```bash
just go-build
```
Or directly with Go:
```bash
go build -o dist/releaseprep ./cmd/releaseprep
```
## Usage
Prepare release files:
```bash
go run ./cmd/releaseprep --version v1.2.3 --date 2026-03-20 --root .
```
Recommend next release tag from changelog content:
```bash
go run ./cmd/releaseprep --recommend --root .
```
### Flags
- `--version` semantic version to release (with or without leading `v`).
- `--date` release date in `YYYY-MM-DD` format.
- `--recommend` print recommended next tag based on `## [Unreleased]`.
- `--root` repository root directory.
- `--version-file` path to version source file relative to `--root`.
- `--version-pattern` regexp with exactly one capture group for version value.
- `--changelog` path to changelog file relative to `--root`.
Defaults:
- `version-file`: `internal/releaseprep/version/version.go`
- `version-pattern`: `const String = "([^"]+)"`
- `changelog`: `changelog.md`
## Testing
```bash
just go-test
```