Skip to content

feat: simplify fresh Laravel project setup with automated Iquesters installer#48

Open
glitched-matrix44 wants to merge 1 commit into
mainfrom
IQU-enhancement-36
Open

feat: simplify fresh Laravel project setup with automated Iquesters installer#48
glitched-matrix44 wants to merge 1 commit into
mainfrom
IQU-enhancement-36

Conversation

@glitched-matrix44

Copy link
Copy Markdown
Contributor

Summary

This PR simplifies the setup process for Iquesters packages in a fresh Laravel project by introducing a dedicated ecosystem installation command.

Previously, setting up the ecosystem required multiple manual steps including package installation, migrations, seeder execution, and dependency management. Various approaches were tested, including Composer script automation, before moving the entire process into a dedicated Artisan command.

Changes

Added

  • InstallCommand.php

    • New php artisan iquesters:install command
    • Automates ecosystem installation workflow

Updated

  • UserInterfaceServiceProvider.php

    • Registers the new installation command when running in console

Installation Flow

Before

composer require iquesters/user-interface
composer require iquesters/user-management
php artisan migrate
php artisan user-interface:seed
php artisan user-management:seed
php artisan foundation:seed

After

composer require iquesters/user-interface
php artisan iquesters:install

Installer Responsibilities

The new installer command automatically:

  • Installs iquesters/user-management

  • Clears configuration and application cache

  • Runs migrations

  • Executes:

    • user-interface:seed
    • user-management:seed
    • foundation:seed

Benefits

  • Reduces onboarding complexity
  • Eliminates multiple manual setup steps
  • Removes dependency on Composer setup scripts
  • Provides a single entry point for ecosystem installation
  • Improves consistency across fresh Laravel projects
  • Produces a more reliable setup process

Testing

Tested using multiple fresh Laravel projects to validate:

  • Package discovery
  • Path repository setup
  • Service provider registration
  • User-management installation
  • Migration execution
  • Seeder dependency ordering
  • Sanctum setup
  • Spatie Permission setup
  • Application boot after installation

Documentation

Added ecosystem setup documentation covering:

  • Fresh Laravel project creation
  • Local package repository configuration
  • Minimum stability configuration
  • Installer command registration
  • Automated installation workflow

Final Verification

Verified successful execution of:

composer require iquesters/user-interface
php artisan iquesters:install

Result:

  • User Interface installed
  • User Management installed
  • Migrations completed
  • Seeders executed
  • Application booted successfully

Closes #36

@glitched-matrix44 glitched-matrix44 self-assigned this Jun 24, 2026
@glitched-matrix44 glitched-matrix44 added the enhancement New feature or request label Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

enhancement: Simplify fresh Laravel project setup for Iquesters packages

1 participant