jawira/entity-draw
Entity Draw is a PHP package for generating entity-relationship diagrams from your code. Visualize models and database structures, export diagrams for documentation, and keep architecture clear with a simple, PlantUML-friendly workflow.
include filters make it practical to render one bounded context, module, or namespace at a time. That directly supports scoping discussions, modular-monolith boundary decisions, and RFC/ADR attachments.Assessment of v2.0.0: This is a major version bump and the first release worth formally assessing. Four things matter: (1) a breaking dependency upgrade to contracts v2, (2) a PHP 8.2 baseline, (3) a genuinely useful new capability — include filters for scoping output to a subset of entities — and (4) a documentation refresh. The feature is the headline; the breaking changes are cost, not value. Because this is a dev-time CLI tool rather than a production runtime dependency, a major-version break is low risk: the blast radius is a failing diagram job, not an outage. Treat v2.0.0 as the version to adopt if you are not already on v1, and as a scheduled, non-urgent migration if you are.
Adopt when:
include filters are the reason to look again: selective rendering is what makes this usable past a dozen entities.Look elsewhere when:
contracts v2 upgrade path for anything else in your dependency graph.Migration note for existing v1 users: the contracts v2 upgrade is a breaking change to the package's public surface. Validate your invocation (CLI flags, config, any programmatic usage) against v2 before bumping, and pin the version in CI so a future major does not silently break your docs pipeline.
For executives (one paragraph): This is a small, free, open-source developer tool that turns our PHP source code into entity diagrams automatically, so our architecture documentation stays accurate without anyone spending days drawing boxes. The business case is onboarding speed and reduced knowledge silos — new engineers and support staff can see how the domain fits together on day one — plus lower documentation cost. Risk is minimal: it runs only on developer machines and in CI, never in production, so it adds no runtime, security, or uptime exposure. The cost is a pinned dev dependency and a small amount of CI setup.
For engineering leads: Adopt as a dev-only dependency. Requires PHP 8.2+ and a renderer binary in the build image. Generate diagrams on a schedule or on PRs, commit the outputs to a docs folder, and use the new include filters to render per-module views instead of one unreadable graph. v2.0.0 is a breaking major (dependency contracts bump to v2, PHP 8.2 features, new include filters, docs update): do a short spike to confirm our invocation still works, pin the version, and treat the upgrade as low-priority cleanup rather than a fire drill.
For the team using it day to day: The win is include filters — scope a diagram to one namespace or bounded context and get something readable in a review. Keep a single documented command in the repo (or a Composer script) so the diagram is one command away and nobody hand-edits the output.
How can I help you explore Laravel packages today?