Developer Documentation

When Laravel breaks, know immediately.

PanicPulse brings Laravel exception monitoring, Gemini-powered analysis, and real-time Telegram notifications together in one developer-focused package.

Laravel Laravel
Telegram Telegram
Google Gemini Gemini AI
Composer Composer
terminal
# Install PanicPulse
$ composer require fortechub/panic-pulse
# Initialize the package
$ php artisan panic-pulse:install
✓ PanicPulse installed successfully
Waiting for your next exception...
Laravel
Laravel
Application Framework
Telegram
Telegram
Real-Time Delivery
Google Gemini
Gemini
AI Analysis
Composer
Composer
Package Distribution
Why PanicPulse

Your exceptions shouldn't disappear into logs.

PanicPulse is built around a simple idea: when your application encounters a problem, the information you need should reach you quickly and in a useful format.

Real-Time Exception Reporting

Receive application exception information through your configured Telegram destination instead of relying only on traditional log inspection.

Gemini-Powered Analysis

Use Gemini-assisted analysis to help interpret exceptions and make root-cause investigation more understandable.

Telegram Delivery

Send reports directly to a Telegram chat or team group where developers can see them quickly.

Laravel Native Workflow

Install PanicPulse through Composer and initialize it using a dedicated Artisan command.

Environment-Based Secrets

Telegram and Gemini credentials are configured through Laravel environment variables rather than being embedded into application code.

Developer-Friendly Setup

Follow a clear installation and testing flow without manually modifying package internals.

The workflow

From exception to notification.

PanicPulse connects the important pieces of your exception-monitoring workflow.

01

Laravel Exception

Your application encounters an exception.

02

PanicPulse

PanicPulse processes the exception through its configured reporting pipeline.

03

Gemini Analysis

Gemini is used for AI-assisted analysis and root-cause understanding.

04

Telegram Alert

The resulting report is delivered to your configured Telegram destination.

Before you begin

Everything you need to get started.

PanicPulse requires a few external credentials before it can deliver reports and perform AI-assisted analysis.

Laravel

Your Laravel application.

Composer

PHP package management.

Telegram

Bot and destination chat.

Gemini API

AI analysis credential.

Installation

Install PanicPulse in minutes.

Follow the installation flow below to connect your Laravel application with PanicPulse.

STEP 01

Install through Composer

From the root directory of your Laravel application, install PanicPulse using Composer.

Terminal
composer require fortechub/panic-pulse
STEP 02

Run the PanicPulse installer

The installer publishes the required configuration and establishes the package's exception pipeline.

Terminal
php artisan panic-pulse:install
Credentials

Connect Telegram and Gemini.

PanicPulse needs three environment values to connect your application to its external services.

Telegram Bot Token

Create a Telegram bot using BotFather and copy the HTTP API token provided after creation.

@BotFather /newbot

Telegram Chat ID

Start your bot, add it to your Telegram group if required, send a test message, and retrieve the numeric chat ID through Telegram's getUpdates endpoint.

https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates
You must click Start in the Telegram bot before testing notifications. Otherwise Telegram may return 403 Forbidden.

Gemini API Key

Create your Gemini API key through Google AI Studio and keep it securely stored as an environment variable.

Open Google AI Studio
Configuration

Configure your environment.

Add your credentials to the Laravel .env file. Keeping these values outside your application source makes credential management safer.

Add your credentials
Configure Telegram and Gemini.
Clear configuration
Ensure Laravel loads the new values.
Trigger a test
Verify the Telegram notification flow.
.env
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
Verification

Test the entire pipeline.

Before using PanicPulse in a production application, trigger a controlled exception and confirm that the report reaches Telegram.

01

Add a temporary test route

routes/web.php
use Illuminate\Support\Facades\DB;

Route::get('/test-panic', function () {
    // Intentionally triggers an exception
    DB::table('non_existent_table_xyz')->get();
});
02

Clear Laravel configuration

php artisan config:clear
php artisan cache:clear
03

Start Laravel

php artisan serve

Trigger the exception

Open the following route in your browser:

http://127.0.0.1:8000/test-panic

If the configuration is correct, PanicPulse should process the exception and send the report to your configured Telegram destination.

Remove the temporary test route after you have confirmed that PanicPulse is working.
Reference

Environment variables.

The three values PanicPulse requires to operate.

Variable Purpose Example
PANIC_PULSE_TELEGRAM_BOT_TOKEN Telegram bot authentication. 712345678:AAG...
PANIC_PULSE_CHAT_ID Telegram destination. -100xxxxxxxxxx
GEMINI_API_KEY Gemini AI authentication. AIzaSy...
Security

Treat your credentials like credentials.

PanicPulse depends on external service credentials. Keep those credentials private and out of source control.

Never expose your `.env`

Do not commit your Telegram bot token, chat ID, or Gemini API key to public repositories.

Never hard-code credentials

Keep external service credentials in environment configuration.

Clear configuration after changes

Run php artisan config:clear after changing environment values.

Use the automated installer

Prefer php artisan panic-pulse:install instead of manually modifying package internals.

Troubleshooting

Something not working?

Start with these common configuration checks.

Telegram notifications are not arriving
Check that:
  • Your bot token is correct.
  • You clicked Start on the bot.
  • The bot is in the required Telegram group.
  • Your chat ID is correct.
  • Your `.env` values are correct.
  • Laravel configuration has been cleared.
Telegram returns 403 Forbidden

Open your Telegram bot and click Start. If using a group, make sure the bot has been added and that a message has been sent to the group.

Environment changes are not taking effect
php artisan config:clear
php artisan cache:clear
Installation is not behaving as expected

Confirm that Composer completed successfully and that you ran:

php artisan panic-pulse:install
FAQ

Frequently asked questions.

What is PanicPulse?

PanicPulse is a Laravel package designed for exception monitoring, Telegram reporting, and Gemini-assisted error analysis.

Do I need Telegram?

Telegram is used as the notification destination for PanicPulse reports, so you need a Telegram bot and configured chat destination.

Why does PanicPulse need a Gemini API key?

Gemini is used for AI-assisted analysis of application exceptions and root-cause understanding.

Should I keep the test route in production?

No. The test route intentionally triggers an exception and should be removed after you confirm PanicPulse is working.

PanicPulse

Ready to stop chasing exceptions?

Install PanicPulse, connect Telegram and Gemini, and give your Laravel application a faster path from failure to diagnosis.