nadi-pro/nadi-laravel

Handle Laravel Exception Events

Maintainers

Package info

github.com/nadi-pro/nadi-laravel

pkg:composer/nadi-pro/nadi-laravel

Statistics

Installs: 509

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

2.2.0 2026-04-06 03:03 UTC

This package is auto-updated.

Last update: 2026-04-06 03:04:51 UTC


README

Build Status

Nadi Laravel Client

Nadi is a simple issue tracker for monitoring your application crashes. This package developed for Laravel framework.

Requirements

  • PHP 8.1 or higher
  • Laravel 9.0 or higher

Installation

composer require nadi-pro/nadi-laravel

Then run the install command:

php artisan nadi:install

This will:

  1. Publish the nadi.php configuration file to your config/ directory
  2. Automatically download and install the Nadi Shipper binary to vendor/bin/

Skip Shipper Installation

If you don't want to install the shipper binary automatically (e.g., you're using the HTTP transporter only), use the --skip-shipper flag:

php artisan nadi:install --skip-shipper

Configuration

After installation, configure your Nadi credentials in config/nadi.php or via environment variables:

NADI_API_KEY=your-sanctum-token
NADI_APP_KEY=your-application-key

Shipper Binary

The Nadi Shipper is a lightweight Go binary that monitors a directory for JSON log files and forwards them to the Nadi API. It's automatically installed during php artisan nadi:install.

Binary Location

The shipper binary is installed at:

vendor/bin/shipper

Manual Shipper Management

You can also manage the shipper binary programmatically:

use Nadi\Laravel\Shipper\Shipper;

$shipper = new Shipper();

// Check if installed
if ($shipper->isInstalled()) {
    echo "Version: " . $shipper->getInstalledVersion();
    echo "Path: " . $shipper->getBinaryPath();
}

// Install or update
$shipper->install();

// Check for updates
if ($shipper->needsUpdate()) {
    $shipper->update();
}

// Execute shipper commands
$result = $shipper->send(config_path('nadi.yaml'));
$result = $shipper->test(config_path('nadi.yaml'));
$result = $shipper->verify(config_path('nadi.yaml'));

// Uninstall
$shipper->uninstall();

Supported Platforms

Operating System Architectures
Linux amd64, 386, arm64
macOS (Darwin) amd64, arm64
Windows amd64

Available Commands

# Install Nadi (publishes config + installs shipper)
php artisan nadi:install

# Install without shipper binary
php artisan nadi:install --skip-shipper

# Force overwrite existing config
php artisan nadi:install --force

# Test API connectivity
php artisan nadi:test

# Verify configuration
php artisan nadi:verify

Security & Data Privacy

Important: Nadi captures and transmits application error data including exception messages, stack traces, SQL queries, HTTP request details, and custom content. This data may contain Personally Identifiable Information (PII).

As the consumer, you are responsible for:

  • Sanitizing or redacting PII from entry content
  • Filtering sensitive HTTP headers (e.g., Authorization, Cookie) from captured data
  • Ensuring compliance with your organization's data handling policies (GDPR, HIPAA, SOC2, etc.)
  • Using HTTPS endpoints for all transporters in production environments

See SECURITY.md for vulnerability reporting and security considerations.

Documentation

Refer to documentation for detailed installation and usage instructions.