masitings/geni-api
A Laravel/PHP package that provides a simple client for the Geni API, helping developers authenticate and send requests to Geni services from their applications. It streamlines integration with clean, framework-friendly configuration and straightforward access to genealogy data.
@summary tag makes operation titles an explicit product decision rather than an accident of class naming, which matters the moment an external audience sees the spec.@summary tag is small but is the kind of primitive that unblocks later commitments — consistent SDK method names, changelog entries keyed to operation IDs, and deprecation notices that point at a stable identifier. Worth slotting before, not after, a public API GA.api_domain, security_strategy, renderers.blade.dark_mode) is a signal the config file is being treated as a contract. For a PM, a shrinking, honest config surface is a proxy for maintainability and lowers the cost of onboarding new engineers onto the API layer.Consider adoption when:
@summary in the PHPDoc is a low-ceremony way to let the API owner name an operation without forcing an attribute everywhere; #[Endpoint(title: ...)] still wins where you want it enforced at the code level.Look elsewhere when:
For executives — one paragraph. We generate our API specification directly from the Laravel code rather than maintaining it by hand, which removes a recurring source of customer-facing inaccuracy and a recurring manual cost. The latest release (v3.1.0) is a small, low-risk follow-up: it adds a way for engineers to name an API operation explicitly so public documentation and any generated client libraries use a stable, human-readable name instead of an inferred one, it trims configuration options that never did anything, and it deliberately does not change the output for anything we already generate. There is no migration project attached — existing generated specs remain valid, so this can land inside normal maintenance. The strategic point is that API documentation stops being a document we maintain and becomes an artifact we produce, which is the precondition for any credible public-API or partner-integration commitment on the roadmap.
For engineering — the practical case. Upgrade is a no-op unless we choose to use it. The @summary PHPDoc tag lets us set an operation title per endpoint, with #[Endpoint(title: ...)] still taking precedence where we want a harder guarantee; endpoints without either keep today's class-name-derived titles, so adoption can be incremental and per-endpoint. The three removed config keys were never read, so a published config/geni.php containing them is inert — no action needed, though it is worth deleting them so the file stops implying capabilities we do not have. The documentation rewrite that drops references to other generators is positioning only, not behaviour. Recommend: upgrade in the next dependency sweep, add a CI step that fails when the committed spec drifts from the code, and introduce @summary first on the endpoints that external consumers actually call.
For design/developer-relations — the user-visible part. Operation titles are the single most-read string in an API reference. Being able to set them explicitly means the docs say what we decided they should say, in the language our users use, rather than exposing an internal class name. That is a small change with an outsized effect on how finished the API looks.
How can I help you explore Laravel packages today?