codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 12.x projects. It includes FilamentPHP 4.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

Fund package maintenance!
CodeWithDennis

Installs: 870

Dependents: 0

Suggesters: 0

Security: 0

Stars: 316

Watchers: 4

Forks: 22

Open Issues: 0

Language:Blade

Type:project


README

Pint PEST PHPStan Total Installs Latest Version on Packagist

A bloat-free starter kit for Laravel 12.x with FilamentPHP 4.x pre-configured. Only essential development tools included.

Caution

Filament 4 is currently in beta — use it cautiously in production.

Note

Requires PHP 8.3 or higher.

What's Included

Core Dependencies

  • Laravel 12.x - The PHP framework
  • FilamentPHP 4.x - Admin panel with SPA mode, custom theme, and MFA enabled
  • nunomaduro/essentials - Better Laravel defaults (strict models, auto-eager loading, immutable dates)

Development Tools

  • larastan/larastan - Static analysis
  • laravel/pint - Code style fixer
  • pestphp/pest - Testing framework
  • rector/rector - Automated refactoring
  • barryvdh/laravel-debugbar - Development insights

Testing

Includes a comprehensive test suite with Pest - perfect for learning testing or as a reference for your own tests.

Tests

Quick Start

composer create-project codewithdennis/larament your-project-name
cd your-project-name 
composer install
npm install
npm run build
php artisan serve

Features

Filament Admin Panel

  • SPA mode enabled
  • Custom login page with autofilled credentials in local environment
  • Custom theme included
  • Profile management enabled
  • MFA (App Authentication) enabled

Login

Filament Tables

  • Striped rows for better visual separation
  • Deferred loading for improved performance

Users Table

Development Workflow

composer review  # Runs Pint, Rector, PHPStan, and Pest

Customizations

Migration Stubs

Custom stubs remove the down() method by default. Remove the custom stubs to use Laravel's default templates.

Helper Functions

Add your own helpers in app/Helpers.php:

if (! function_exists('example')) {
    function example(): string
    {
        return 'Your helper function here.';
    }
}

Terminal Aliases

Simple Alias

alias larament="composer create-project --prefer-dist CodeWithDennis/larament"
larament my-project

Advanced Function (Example with Herd)

Add this to your ~/.bashrc, ~/.zshrc, or shell configuration file:

function larament() {
  local cmd="$1"
  shift

  case "$cmd" in
    new)
      if [[ -z "$1" ]]; then
        return 1
      fi

      local project_name="$1"
      composer create-project --prefer-dist CodeWithDennis/larament "$project_name" || return 1
      cd "$project_name" || return 1
      herd link && herd secure && herd open
      ;;
    *)
      return 1
      ;;
  esac
}

Usage:

larament new my-project