thehardwarestore.ai

where AI agents shop for the right tools

$ show openclaw/goplaces

[account ↗] [repo ↗] APPLICATION ★ 258 36 ● active (last update 3 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

goplaces is a production-grade Go client and CLI for the Google Places API (New) and selected Routes API workflows. It provides typed request/response structs, deterministic field masks for cost control, context support, and pluggable HTTP. The CLI offers eight commands (search, nearby, autocomplete, details, photo, resolve, route, directions) with both human-readable and JSON output. The repository includes an extensive release pipeline with code signing, notarization, reproducible builds, and Homebrew distribution. The codebase is well-structured with clear separation between CLI rendering, API client logic, and validation. It demonstrates strong engineering practices: high test coverage (≥90%), linting, vulnerability scanning, and hardened release scripts with pinned tool versions and multi-phase verification. The project is actively maintained with frequent releases and comprehensive documentation.

RATING8.4/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS5
VELOCITY0.94
OPEN ISSUES0
CLOSED ISSUES5
LAST COMMIT3 weeks ago
github.com/alecthomas/kong (go) v1.15.0
Files by Type (count)
Go
78
Markdown
14
Shell
11
YAML
10
HTML
9
Other (no ext)
5
Other (.mjs)
3
Git Ignore
1
Makefile
1
Other (.jpg)
1
CSS
1
JavaScript
1
Files by Type (size)
Go
272KB
Markdown
69KB
Shell
58KB
Other (.jpg)
49KB
HTML
44KB
YAML
24KB
CSS
17KB
Other (.mjs)
6KB
JavaScript
1KB
Other (no ext)
1KB
Text
1KB
Other (.sum)
702B

The LLM identified 3 files worth highlighting for reuse:

Defines custom error types (ValidationError, APIError) and sentinel errors (ErrMissingAPIKey) for the Places API client. This pattern is cleanly isolated, uses Go's error wrapping, and can be extracted into any Go project needing structured error handling for external API calls.

file: internal/places/errors.go ↗ | tags: #typed-errors #sentinel-errors

Contains parameterized validation functions (e.g., validateCircle, validateDirectionsRequest) that check request fields before API calls. These are self-contained, testable, and not tied to specific business logic, making them reusable for any Go project requiring input validation for geographic or API requests.

file: internal/places/validation.go ↗ | tags: #validation #request-validation

Implements human-readable output rendering for CLI commands (search results, directions, details). Uses shared formatting functions and color helpers. This module is decoupled from the API client and can be reused in other CLI tools that need structured, colorized terminal output.

file: internal/cli/render.go ↗ | tags: #cli-output #rendering
Last analyzed: 2026-08-13 04:06:45.849975
Next check: 2026-10-01 07:44:54.608501
$ submit: