abe/laravel-prism

New Laravel project setup.

v0.0.37 2025-05-29 09:43 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

A Laravel package that sets up new projects with opinionated defaults and useful traits.

Quick Start

  1. Install the package:
composer require abe/laravel-prism
  1. Run the installation command:
php artisan prism:install

This will guide you through configuring Laravel behaviors and optionally installing development tools like Telescope.

What's Included

Laravel Configuration

  • Immutable Dates: Use immutable date objects for better consistency
  • Model Strict Mode: Prevent lazy loading and mass assignment issues
  • Unified Responses: Consistent API response format
  • Prohibit Destructive Commands: Prevent accidental data loss in production

Useful Traits

HasSnowflake

Automatically generates snowflake IDs for your models:

use Abe\Prism\Traits\HasSnowflake;

class Product extends Model
{
    use HasSnowflake;
    
    // Snowflake ID will be automatically generated
}

HasResponse

Provides consistent response methods for controllers:

use Abe\Prism\Traits\HasResponse;

class ProductController extends Controller
{
    use HasResponse;

    public function show($id)
    {
        $product = Product::find($id);
        
        return $product 
            ? $this->success($product)
            : $this->fail('Product not found', 404);
    }
}

Optional Development Tools

  • Laravel Telescope: Debug and monitor your application (optional)

Documentation

Testing

composer test

Contributing

Please see CONTRIBUTING for details.

License

The MIT License (MIT). Please see License File for more information.