fortechub / panic-pulse
A professional Laravel package that catches application exceptions, queries Gemini AI for code diagnostics, and routes rich Telegram alerts with remote maintenance controls.
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
AI-powered exception monitoring and real-time Laravel error reporting.
PanicPulse is a Laravel package designed to help developers detect, analyze, and receive detailed application exceptions directly through Telegram.
It combines real-time exception tracking, Gemini AI-powered root-cause analysis, and Telegram notifications to give developers actionable information when something goes wrong.
โจ Features
- ๐จ Real-time Laravel exception reporting
- ๐ค Gemini AI-powered error analysis
- ๐ฑ Instant Telegram notifications
- ๐ Root-cause analysis for application exceptions
- ๐งฉ Simple Laravel integration
- โก Automated installation command
- ๐ Environment-based credential configuration
- ๐ ๏ธ Development and production monitoring
๐ฆ Requirements
Before installing PanicPulse, make sure you have:
- A Laravel application
- A Telegram account
- A Telegram bot
- A Telegram chat or group
- A Google Gemini API key
๐ Installation
Install PanicPulse through Composer:
composer require fortechub/panic-pulse
After installation, run the automated installer:
php artisan panic-pulse:install
The installer publishes the required configuration and sets up the PanicPulse exception pipeline.
๐ Configuration
Add the following variables to your .env file:
PANIC_PULSE_TELEGRAM_BOT_TOKEN=your_bot_token_here PANIC_PULSE_CHAT_ID=your_chat_id_here GEMINI_API_KEY=your_gemini_api_key_here
Environment Variables
| Variable | Description |
|---|---|
PANIC_PULSE_TELEGRAM_BOT_TOKEN |
Telegram BotFather API token |
PANIC_PULSE_CHAT_ID |
Telegram chat or group ID |
GEMINI_API_KEY |
Google Gemini API key |
Never commit these credentials to Git or expose them publicly.
๐ค Telegram Setup
1. Create a Telegram Bot
Open Telegram and search for:
@BotFather
Start a conversation with BotFather and send:
/newbot
Follow the instructions to:
- Choose a name for your bot.
- Choose a unique username ending with
bot. - Copy the HTTP API token provided by BotFather.
Example:
712345678:AAG...
Keep this token private.
2. Get Your Telegram Chat ID
Open your newly created bot in Telegram and click Start.
Important: You must start a conversation with your bot before using it for notifications.
For group notifications:
- Create a Telegram group.
- Add your PanicPulse bot to the group.
- Send a test message.
- Open the following URL in your browser:
https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates
Replace YOUR_BOT_TOKEN with your actual bot token.
Look for:
{
"chat": {
"id": -100xxxxxxxxxx
}
}
Copy the numeric chat ID and add it to your .env file:
PANIC_PULSE_CHAT_ID=-100xxxxxxxxxx
๐ง Gemini AI Setup
PanicPulse uses Gemini for AI-assisted exception analysis.
Create your Gemini API key through Google AI Studio.
Once you have your key, add it to:
GEMINI_API_KEY=your_gemini_api_key_here
Keep your API key private.
๐งช Testing PanicPulse
After configuring your environment, you can trigger a test exception.
Open:
routes/web.php
Add:
use Illuminate\Support\Facades\DB; Route::get('/test-panic', function () { // Triggers an exception handled automatically by PanicPulse DB::table('non_existent_table_xyz')->get(); });
Clear your Laravel configuration and cache:
php artisan config:clear php artisan cache:clear
Start your Laravel application:
php artisan serve
Then visit:
http://127.0.0.1:8000/test-panic
PanicPulse should detect the exception and send the report to your configured Telegram chat.
๐ Example .env
PANIC_PULSE_TELEGRAM_BOT_TOKEN=712345678:AAGxxxxxxxxxxxxxxxx PANIC_PULSE_CHAT_ID=-100xxxxxxxxxx GEMINI_API_KEY=AIzaSyxxxxxxxxxxxxxxxxxxxxxxxx
The values above are examples only. Never use them as real credentials.
๐ Security Best Practices
Never expose credentials
Never commit your .env file or PanicPulse credentials to a public repository.
Do not publish:
PANIC_PULSE_TELEGRAM_BOT_TOKEN= PANIC_PULSE_CHAT_ID= GEMINI_API_KEY=
Clear configuration after changing .env
Whenever you modify your environment configuration, run:
php artisan config:clear php artisan cache:clear
Use the automated installer
Avoid manually modifying PanicPulse's internal files during installation.
Use:
php artisan panic-pulse:install
๐ ๏ธ Troubleshooting
Telegram notifications are not arriving
Check that:
- Your bot token is correct.
- You clicked Start when opening the bot.
- The bot has been added to your Telegram group.
- The chat ID is correct.
- Your
.envvalues are configured correctly. - Laravel configuration cache has been cleared.
Run:
php artisan config:clear php artisan cache:clear
Telegram returns 403 Forbidden
Make sure you have opened your bot in Telegram and clicked:
Start
Then trigger the test exception again.
Configuration changes are not taking effect
Run:
php artisan config:clear php artisan cache:clear
Then test PanicPulse again.
๐ Documentation
Full documentation and beginner setup instructions:
https://panicpulse.fortechub.com
The documentation covers:
- Credential setup
- Telegram configuration
- Gemini configuration
- Composer installation
- Automated installation
- Environment configuration
- Testing
- Security best practices
- Troubleshooting
๐ข About Fortechub
PanicPulse is developed by FORTECHUB SERVICES LIMITED, providing software engineering solutions, enterprise telemetry packages, and custom cloud architecture.
Contact
Website
Telegram Support
๐ License
Copyright ยฉ 2026 FORTECHUB SERVICES LIMITED.
All rights reserved.
PanicPulse
Know what broke. Understand why. Fix it faster.