Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Cooldown Laravel Package

zaber-dev/laravel-cooldown

Laravel Cooldown manages persistent, entity-scoped action cooldowns for Laravel apps. Enforce limits on workflows, routes, and Eloquent models using cache or database storage, with atomic execution, middleware, and custom backends.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Abuse-prevention feature scoping: When product requirements call for rate limiting beyond raw HTTP throttles — "one password reset per 10 minutes," "one review per purchase," "one export per hour per workspace" — this package provides a purpose-built primitive instead of forcing engineering to hand-roll cache-key logic in every controller.
  • Build vs. buy for cooldown mechanics: Off-the-shelf alternative to writing custom RateLimiter/cache-TTL code. Small surface area (MIT, Laravel 11–13+, PHP 8.2+), so the "buy" cost is low and the "build" cost it displaces is recurring and diffuse across teams.
  • Roadmap sequencing for trust & safety / growth work: Cooldowns are typically a prerequisite for features like referral programs, promo-code redemption, invite spam prevention, and notification digesting. Adopting this package unblocks those roadmap items without a platform investment.
  • Storage-strategy decisions with real product consequences: Cache vs. database backing is a product trade-off, not just technical — cache means cooldowns reset on flush/eviction (acceptable for soft limits), database means durable enforcement (required for policy/compliance or paid-tier entitlements). The package exposing both lets PMs choose per use case rather than accepting a single global behavior.
  • Per-entity policy design: Eloquent integration enables cooldowns scoped to a user, tenant, or resource — this is what makes tiered plans ("Pro users get 5-minute cooldowns, Free users get 1 hour") a configuration change rather than a sprint.
  • Declarative route protection: Middleware support means protection is attached where routes are defined, making it reviewable in PRs and auditable by product/security without reading controller internals.

When to Consider This Package

Adopt when:

  • You need application-level cooldowns tied to a domain action rather than a transport (i.e., not just "60 req/min per IP").
  • Cooldowns must be scoped to an Eloquent model — per-user, per-tenant, per-account — as a first-class concept.
  • You need durable, database-backed enforcement for policy or billing reasons, or you want the flexibility to switch storage per feature.
  • Multiple teams are currently duplicating cooldown logic; standardizing on a small, MIT-licensed package reduces inconsistency and review burden.
  • You're on Laravel 11+ / PHP 8.2+ and don't want to take a dependency on a larger, opinionated platform.

Look elsewhere when:

  • Ecosystem risk tolerance is low. 38 stars, zero dependents, and a single-maintainer org namespace (zaber-dev) indicate early-stage adoption. For cooldowns guarding security-critical flows (auth, payments), plan for the possibility of forking or vendoring — budget a small maintenance contingency in the estimate.
  • You only need HTTP throttling. Laravel's built-in throttle middleware is sufficient and better supported; don't add a dependency for parity functionality.
  • You need distributed/queue-aware coordination or complex sliding-window algorithms. This is a cooldown primitive, not a full rate-limiting engine; pair it with (or replace it by) a dedicated limiter if you need burst/smoothing semantics.
  • You require vendor support, SLAs, or a security review trail. No commercial backing here.
  • Your stack lags Laravel 11 — version constraints may exclude you.
  • The release cadence looks unproven. Verify the 2026-07-10 release is a real, maintained artifact and check test CI status before committing; a single release with no dependents is a signal to validate maintenance intent directly with the maintainer.

Adoption recommendation: Treat as a trial dependency, not a strategic one. Pilot it behind a non-critical feature (e.g., export or invite cooldowns), confirm storage behavior under cache eviction, and document an exit path.

How to Pitch It (Stakeholders)

To executives: We can ship abuse-prevention and fairness features — per-user limits on resets, invites, exports, and reviews — without a platform build. It's a small, free, MIT-licensed Laravel component that plugs into our existing cache or database. Total cost is a short integration effort rather than a multi-sprint infrastructure project. The main risk is that it's a young, single-maintainer package, so I recommend a scoped pilot rather than broad rollout, with a documented fallback. This is a cheap option on a capability we will need repeatedly.

To engineering: This gives you a single, declarative primitive for cooldown enforcement instead of another bespoke cache-key implementation. Fluent API for domain logic, Eloquent binding for per-entity scoping, middleware for route protection, and pluggable cache/database storage. Laravel 11–13, PHP 8.2+. Two asks before adopting: (1) spike it on one low-risk feature; (2) confirm we're comfortable owning a fork if upstream stalls — zero dependents means limited community validation, so we should treat the storage behavior under cache flush as something we explicitly test, not assume.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel