- 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
Query PuppetDB for node facts via CLI. Replaces the original Python script.
- XDG config (~/.config/node-lookup/config.yaml) with env var overrides
- All flags from original tool preserved (-n, -F, -R, -m, --pm, -1, -2, -C, -A, -j)
- config init / config show subcommands
- Unit tests (23), Makefile, GoReleaser config, pre-commit hooks
💘 Generated with Crush
Assisted-by: Claude Sonnet 4.6 via Crush <crush@charm.land>