Download the PHP package coedevtech/fixit without Composer
On this page you can find all versions of the php package coedevtech/fixit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download coedevtech/fixit
More information about coedevtech/fixit
Files in coedevtech/fixit
Package fixit
Short Description A Laravel package that captures and logs all exceptions into a database table β with optional encryption, email alerts, and a powerful CLI interface. Designed to give you full visibility into unhandled errors, without clutter or guesswork
License MIT
Informations about the package fixit
π οΈ fixIt β Laravel Error Logging & Notification Package
fixIt
is a Laravel package that captures and logs all exceptions into a database table β with optional encryption, email or Slack alerts, and a powerful CLI interface. Designed to give you full visibility into unhandled errors, without clutter or guesswork.
π Features
- β Logs all unhandled exceptions to the database
- π Optional field-level encryption using Laravel Crypt
- π§ Multi-recipient email alerts support
- βοΈ Configurable notification system (email + Slack supported)
- π§ AI-powered fix suggestions (optional)
- πͺοΈ Built-in Pest tests
- π Artisan CLI:
fixit:report
to view, filter, and fix errors - βοΈ
fixit:sync-config
to merge missing config keys - π οΈ
fixit:sync-migrations
to publish and run package migrations - π§ͺ
fixit:verify-config
to validate and auto-patch.env
- π‘ Extensible alert interface (plug your own Discord, webhook, etc.)
π§© Requirements
Dependency | Version |
---|---|
PHP | ^8.1 , ^8.2 , or ^8.3 |
Laravel | ^10.x , ^11.x , or ^12.x |
π¦ Installation
Then publish and install:
During installation, youβll be prompted to enable encryption (optional). If enabled, a FIXIT_ENCRYPTION_KEY
will be added to your .env
file.
βοΈ Configuration
Publish the configuration file:
To check for missing config keys later, run:
To verify and auto-patch missing .env
keys:
To automatically append missing keys using short []
array syntax:
For JSON output (CI pipelines):
π Manual Encryption / Decryption
fixIt
provides two static methods via its facade to manually encrypt or decrypt data:
Encrypt data
This encrypts any string or array using AES-256-CBC with a secure IV and stores it base64-encoded.
Decrypt data
This will return the original value (array or string), decrypted securely.
ποΈ Database Table
Includes fields like:
id
url
request
response
ip
exception
file
line
trace
fingerprint
occurrences
last_seen_at
environment
status
(not_fixed
,fixed
)created_at
,updated_at
Table name is not configurable.
βοΈ Publishing Migrations
To publish and run any new package-provided migrations (e.g. adding new columns):
This ensures that columns like fingerprint
, last_seen_at
, and occurrences
are always present.
π§ Email Notifications
To receive an email when an error is logged:
- Set
send_on_error
totrue
- Set the
notifications.email
in the config file - Ensure Laravel mail is properly configured
π§ If you're using
QUEUE_CONNECTION=database
orQUEUE_CONNECTION=redis
, you must run:Otherwise, queued emails will not be sent and may block request execution depending on your queue setup.
Configure in .env
:
Emails will be sent to all valid addresses if
FIXIT_ALLOW_MULTIPLE_EMAILS
is true.
π§ AI Suggestions (Optional)
fixIt
supports AI-powered suggestions for fixing logged errors. This is completely optional.
Enable AI-powered suggestions:
If enabled, suggestions are included in:
- π§ Email alerts
- π¬ Slack alerts
- Future CLI/reporting support
π§ͺ Running Tests
All tests are written using Pest and cover encryption, logging, config, and notifications.
π₯οΈ CLI Usage
View error logs:
Filter errors:
Mark error as fixed:
Sync and patch your config file:
Publish and apply package migrations:
π Extending Alerts
You can bind your own alert channel by implementing the Fixit\Contracts\FixitAlertInterface
.
Example for Slack, Discord, or webhook alerts:
Then bind it in a service provider:
π‘οΈ Security & Best Practices
- Uses Laravelβs encryption system
- Avoids session or user tracking by default
- Decoupled and test-driven design
- Ready to extend with custom drivers or UI layers
π Changelog
See Releases for full changelog.