romanzipp/laravel-model-doc
Laravel Model Doc automatically generates PHPDoc annotations for your Eloquent models from the database schema, keeping IDE autocompletion and static analysis accurate. It saves you from manually maintaining model property docblocks as tables evolve.
@property blocks today).@property blocks are the cheapest way to unblock a level bump, so this package can be the enabling dependency behind a "we go to level 6 next quarter" commitment.generate + git diff --exit-code)? That policy generalizes to every other codegen tool you add.barryvdh/laravel-ide-helper. Any adoption decision here is really a "do we add a second doc generator, or extend the one we have?" decision.Adopt when:
@property, @method) rather than PHP 8 attributes or fully typed DTOs.Look elsewhere when:
larryvdh/laravel-ide-helper (or an equivalent) is already in the stack. Adding a second generator buys you overlap, not capability, and splits the "which tool owns docblocks" question.To executives: This is a dev-only, MIT-licensed utility with no runtime footprint and no production risk. It automates a chore — keeping model documentation in sync with the database — that engineers currently do by hand or skip. The upside is faster onboarding, fewer trivial static-analysis failures, and better IDE autocomplete; the cost is an afternoon of evaluation. Because adoption is small (32 stars, no dependents, single maintainer), frame it as an internal convenience tool, not a strategic dependency: pilot it on one service, and budget for the possibility that we pin or fork it.
To engineering: The tool reads your schema and writes @property/@method blocks onto Eloquent models. The realistic value is unblocking a Larastan level increase and killing the "what columns does this model have?" question in review. Two caveats to agree on up front: (1) decide whether generated blocks are committed or enforced in CI as a drift check, and (2) audit output on models with custom casts, accessors, and JSON columns before trusting it — bad docblocks suppress real errors. Recommend a one-sprint trial on a bounded service, comparing against laravel-ide-helper if it's already present, with a go/no-go based on measured time saved and how much manual correction the generated output needs.
How can I help you explore Laravel packages today?