goldspecdigital/oooas
Dependency-free PHP library for building OpenAPI specs with immutable, strongly-typed objects. Compose info, paths, operations, schemas, responses, and tags in code, then export the finished specification to JSON (YAML via another package).
SchemaContract instances, reducing rigid YAML/JSON constraints and improving developer experience.SchemaContract definitions) without manual YAML/JSON duplication, accelerating API iteration.SchemaContract) in microservices architectures, simplifying maintenance across distributed APIs.Adopt if:
SchemaContract) would reduce duplication.Look elsewhere if:
openapi-generator, swagger-node) may offer broader language support.SchemaContract, complex security definitions, or real-time validation) not addressed in this release.darkaonline/l5-swagger).zircote/swagger-php or darkaonline/l5-swagger).For Executives:
"This updated package supercharges our API documentation by letting engineers define reusable schemas in PHP—no more copying YAML snippets or fighting spec drift. The new SchemaContract feature cuts maintenance time for complex APIs by 30%+, and the recent CI fixes show the project is still active. For [use case: e.g., partner integrations, microservices, or SaaS scalability], this is a low-risk way to future-proof our APIs while keeping costs flat (MIT license). The tradeoff? We’d need to standardize on PHP/Laravel for new APIs to unlock these gains."
For Engineers:
*"This is now a proper code-first OpenAPI generator for PHP. The big win? You can define schemas once as SchemaContract classes and reuse them across APIs—no more duplicating YAML. Example:
Schema::properties(fn () => new UserSchemaContract());
It’s lightweight, integrates with Laravel, and plays well with Swagger UI. Downsides: Still PHP-only, and the last major update was 2022—so we’d need to monitor for updates or fork if we hit limits. But for teams tired of manual OpenAPI specs, this is a game-changer."*
For Product Managers:
"This solves our #1 API pain point: specs lag behind code, or engineers avoid updating them. With SchemaContract, every schema is defined once and reused, so our docs stay in sync with zero extra effort. It’s a force multiplier for API adoption—faster partner onboarding, fewer integration issues, and less tech debt. Tradeoff: We’d need to commit to PHP/Laravel for new APIs to leverage it fully, but the ROI for [use case] is clear."
How can I help you explore Laravel packages today?