Skip to content

aronpc/react-starter-kit-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Starter Kit with Auth

Build Status License GitHub Stars

This starter kit updates the base Laravel starter kit with opinionated modern tooling setup.

What's Included:

  • Laravel Latest: Built with the latest Laravel version (requires PHP 8.4+)
  • Essential Packages: Pre-configured with Laravel Essentials and Laravel Boost
  • Code Quality: Integrated Pint, Rector, and PHPStan
  • Testing Ready: Pest testing framework included
  • IDE Support: Laravel IDE Helper for better development experience
  • Enhanced Enums: Pre-configured with ArchTech Enums package and HasEnumFeatures trait

🚀 Quick Start

Requires PHP 8.4+.

Using Laravel Installer (Recommended)

# Create a new project using Laravel installer
laravel new my-project --using=aronpc/react-starter-kit-auth

composer run dev

Using Git Clone

# Clone the repository via github
git clone git@github.com:aronpc/react-starter-kit-auth.git
cd react-starter-kit-auth

# Install dependencies
composer install
npm install

# Set up environment
cp .env.example .env
php artisan key:generate

# Run migrations
php artisan migrate

# Start development server
composer run dev

📦 Included Packages

Production

  • nunomaduro/essentials - Essential Laravel packages
  • archtechx/enums - Enhanced PHP enums with powerful features

Development

  • larastan/larastan - PHP static analysis
  • rector/rector - Code refactoring and upgrades
  • barryvdh/laravel-ide-helper - IDE autocompletion
  • laravel/boost - Laravel-focused MCP server for AI assistants

🛠️ Development Tools

# Code formatting with Pint
./vendor/bin/pint

# Static analysis with PHPStan/Larastan
./vendor/bin/phpstan analyse --memory-limit=-1

# Code refactoring with Rector
./vendor/bin/rector

# Run tests
php artisan test

🤖 Laravel Boost - MCP Server

This starter kit includes Laravel Boost, an official Laravel MCP (Model Context Protocol) server that enhances AI assistant capabilities when working with Laravel projects.

Features

  • Project Context: Provides AI assistants with deep understanding of your Laravel project structure
  • Code Intelligence: Enables better code suggestions and refactoring recommendations
  • Laravel Expertise: Offers Laravel-specific knowledge and best practices
  • Seamless Integration: Works automatically with Claude Code and other MCP-compatible AI tools

Laravel Boost is pre-configured and ready to use - no additional setup required.

🏗️ Architecture Tests

This starter kit includes comprehensive architecture tests using Pest to enforce code quality and consistency:

Included Presets

  • PHP Preset: Ensures no var_dump, dd(), or deprecated functions
  • Security Preset: Prevents usage of dangerous functions like eval(), exec(), shell_exec()
  • Laravel Preset: Enforces Laravel best practices and conventions

Custom Rules

  • Enum Validation: All files in App\Enums must be valid enum classes
  • HasEnumFeatures Trait: All enums must use the HasEnumFeatures trait for consistency

These tests run automatically with your test suite and help maintain code quality standards across the project.

# Run only architecture tests
php artisan test --filter=ArchTest

🎯 Enhanced Enums

This starter kit includes the ArchTech Enums package with a pre-configured HasEnumFeatures trait that provides:

  • Invokable cases: Use enums as callables
  • Metadata: Attach arbitrary data to enum cases
  • Names & Values: Easy access to case names and values
  • From: Create enums from various inputs with better error handling
  • Comparison: Rich comparison methods
  • Options: Generate arrays for dropdowns and forms

Usage

All enums in app/Enums should use the HasEnumFeatures trait:

<?php

namespace App\Enums;

use App\Contracts\HasEnumFeatures;

enum Status: string
{
    use HasEnumFeatures;

    case PENDING = 'pending';
    case APPROVED = 'approved';
    case REJECTED = 'rejected';
}

Architecture tests ensure all enums follow this convention.

📝 License

This project is open-sourced software licensed under the MIT license.

🙏 Acknowledgments

This starter kit is based on and inspired by:

About

My Custom start-kit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages