staabm/phpstan-todo-by
PHPStan extension that makes TODO/FIXME comments actionable: enforce issue links or due dates, flag expired TODOs, and catch malformed annotations during static analysis so postponed work doesn’t get forgotten.
phpstan-todo-by is a PHPStan rule that fails builds when a TODO/FIXME exceeds a due date or references a closed issue. This turns "we'll clean it up later" into a tracked, testable commitment—useful as a lightweight debt-governance policy without buying a SaaS tool.Consider adoption when:
Look elsewhere or defer when:
For executives / engineering leadership: We can adopt a small open-source PHPStan rule that makes temporary TODO/FIXME comments expire. If a TODO has a date that's passed, or references a GitHub issue that's been closed, the build fails—so debt gets cleaned up instead of accumulating silently. Integration cost is low because we already run PHPStan, and it's not a new platform, vendor contract, or runtime dependency. Release 0.3.5 is a maintenance release with one practical improvement: we can turn off GitHub issue-URL lookups, which lets us run the rule in restricted or air-gapped CI and avoids rate-limit/network flakiness. No breaking changes; recommend a pilot on one Laravel repo, then standardize if the signal-to-noise is good.
For engineering: Add staabm/phpstan-todo-by as a dev dependency and enable it in phpstan.neon. Agree on a convention (e.g., // TODO: 2025-12-31 ... or // TODO: https://github.com/org/repo/issues/123 ...). Use the new 0.3.5 option to disable GitHub fetches in PR/ephemeral CI; enable issue checks only in jobs with a token and network access. Expect deterministic, fast checks, with the main operational decision being whether issue-status verification runs per-PR or on a schedule.
How can I help you explore Laravel packages today?