Download the PHP package skaisser/howl without Composer
On this page you can find all versions of the php package skaisser/howl. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download skaisser/howl
More information about skaisser/howl
Files in skaisser/howl
Package howl
Short Description Multi-driver Laravel notifier with Discord-first rich embeds, mentions, and bot-parseable metadata.
License MIT
Homepage https://howl.skaisser.dev
Informations about the package howl
โจ Why Howl?
A single driver-agnostic API for Discord, Slack, and Telegram. Drop it into any Laravel 12 or 13 app and start delivering rich, structured notifications in minutes.
- ๐ฏ One fluent API for all three drivers โ switch per-call without touching business logic
- ๐จ Rich, native formatting per platform โ Discord embeds, Slack Block Kit, Telegram HTML โ with mentions, fields, code blocks, buttons, attachments
- ๐ฐ๏ธ Channel failover & fan-out โ automatic backup channel dispatch on failure
- ๐ฆ Seven built-in event templates โ exceptions, deployments, audits, cron heartbeats, job failures, manual ops, generic info
- ๐งช HowlFake test helper โ assert notifications without real HTTP calls; per-driver assertions
- โก Queue-aware with exponential backoff and opt-in Redis rate limiting
- โ
100% line coverage across 487 tests, enforced by
pest --coverage --min=100 - ๐ Versioned docs at
howl.skaisser.devplus machine-readablellms.txtfor AI agents
๐ ๏ธ Compatibility
| PHP | Laravel | Pest | PHPUnit | Testbench | Status |
|---|---|---|---|---|---|
| 8.3 | 12.x | 3.x | 11.x | 10.x | โ |
| 8.3 | 13.x | 4.x | 12.x | 11.x | โ |
| 8.4 | 12.x | 3.x | 11.x | 10.x | โ |
| 8.4 | 13.x | 4.x | 12.x | 11.x | โ |
Composer constraints support all four combinations. CI validates the latest combo (PHP 8.4 ร Laravel 13) on every push and PR targeting main; the other rows are validated locally before each release.
๐ฆ Installation
Add your driver credentials to .env:
๐ Quick Start
๐จ Built-in event templates
๐ฐ๏ธ Channel Failover & Fan-Out
Configure a backup channel and pick the mode:
failover(default): primary first, backup only on failure.trueon first success,falseif both fail.fan_out: dispatch to primary AND backup sequentially.trueif at least one succeeds. Doubles rate-limit consumption โ size yourRateLimiter::for()quota accordingly.
๐งช Testing with HowlFake
No real HTTP calls. No mocks of HTTP clients. Drop-in replacement.
โก Queue Mode + Rate Limiting
SendHowlJob ships with 3 retries + exponential backoff. Queue-failure events always force sync to avoid recursive loops.
๐ Documentation
The full docs site at howl.skaisser.dev covers everything in depth:
- ๐ฆ Installation & Quick Start
- ๐ค Drivers: Discord ยท Slack ยท Telegram
- ๐๏ธ Configuration reference
- ๐งช HowlFake testing guide
- ๐ API reference
- โฌ๏ธ Upgrade guide v0.x โ v1.0
- ๐ Release notes
For AI agents: llms.txt (index) ยท llms-full.txt (inline)
๐ค Contributing
Issues and pull requests welcome at github.com/skaisser/howl.
Before opening a PR, run the full suite locally:
๐ License
MIT โ see LICENSE. Copyright ยฉ Shirleyson Kaisser. // worktree test commit Wed May 13 03:12:54 -03 2026
All versions of howl with dependencies
illuminate/support Version ^12.0|^13.0
illuminate/http Version ^12.0|^13.0