- Wrap defer resp.Body.Close() to capture error
- Ignore json.Unmarshal error in valueAny (best-effort)
- Check enc.Encode and os.Stdout.Write return values
- Check json.NewEncoder.Encode and w.Write in test helpers
- Check os.MkdirAll and os.WriteFile errors in tests
- Check first writeDefaultConfig() call in AlreadyExists test
- Remove unused mustMarshal helper
- var version injected at build time via -X main.version=$(VERSION)
- VERSION derives from 'git describe --tags' so built binaries show
the exact tag (or tag+commits+sha for dirty/untagged builds)
- 'make patch/minor/major' reads the latest vX.Y.Z tag and creates
the next one; starts from v0.0.0 if no tags exist yet