## Summary of what shipped:

### New file
- `cmd/git-sync/internal/versioninfo/versioninfo.go` — exposes `Version`, `Commit`, `Date` for ldflag injection

### `cmd/git-sync/main.go`
- Imported `versioninfo`
- Added `version` / `--version` case in `run()` switch (avoided `-v` since it collides with the existing verbose flag in every subcommand)
- Added `git-sync version` to usage string

### `.goreleaser.yaml`
- Removed `mise run completions` before-hook (no completions implemented)
- Fixed the three `-X` ldflags to point at the real package path `entire.io/entire/gitsync/cmd/git-sync/internal/versioninfo`, added `Date` injection
- Archive `name_template` now includes `{{ .Version }}` to avoid collisions across releases
- Removed `completions/*` archive entry (kept LICENSE + README)
- `homebrew_casks`: renamed cask + binary to `git-sync`, dropped the broken `completions:` sub-block
- Added small `snapshot:` and `changelog:` blocks (filters `Merge`/`docs:`/`chore:`/`test:` from notes)

### Verification done
- `go build` with `-ldflags="-X …Version=test1.2.3 …Commit=abc1234 …Date=2026-04-30"` → `git-sync version` prints injected values exactly
- `go vet ./cmd/git-sync/...` clean
- `goreleaser check` validates config

### Not changed (and why)
- `.github/workflows/release.yml` — no edit needed; `GORELEASER_KEY` and `TAP_GITHUB_TOKEN` secrets must already be in repo settings before tagging
- Windows build skipped per your decision
- Pre-existing diagnostic on `main.go:387` (`interface{}` → `any`) is unrelated to this change

### Next steps when ready:
- `git tag v0.0.0-test1 && git push origin v0.0.0-test1` for a live throwaway run, then delete tag+release after confirming the artifacts and tap PR look right.

### Suggested description for homebrew_casks:
- **description:** "Mirror Git refs between remotes without a local checkout"

### Commands for dry running the release locally:
1. **Option 1 — quickest sanity check (no pro features):**
   ```
   goreleaser release --snapshot --clean --skip=publish,sign,notarize,homebrew
   ```
2. **Option 2 — install goreleaser-pro and use your real config (recommended):**
   ```
   brew install goreleaser/tap/goreleaser-pro
   export GORELEASER_KEY=<your pro key>
   export TAP_GITHUB_TOKEN=dummy   # template needs this set; skip=homebrew prevents push
   goreleaser-pro release --snapshot --clean --skip=publish,sign,notarize,homebrew
   ```

### Final remarks:
- If you don't plan to dry-run locally, the `snapshot` block can be deleted. Keep it if you want a one-command sanity check before tagging or delete it if you'll just push a throwaway tag (`v0.0.0-test1`) for verification instead.
