cleaniquecoders / kickoff
Helps configure your new Laravel project with good practices.
Installs: 18
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/cleaniquecoders/kickoff
Requires
- php: ^8.3
- illuminate/filesystem: ^12.0
- illuminate/support: ^12.0
- symfony/console: ^6.2|^7.0
- symfony/polyfill-mbstring: ^1.31
- symfony/process: ^6.2|^7.0
Requires (Dev)
- driftingly/rector-laravel: ^2.0
- larastan/larastan: ^3.6
- laravel/pint: ^1.24
- pestphp/pest: ^4.1
- phpstan/phpstan: ^2.1
README
๐ Kickoff
This package bootstraps a new Laravel project with all the essential tools, configs, and workflows you need for a modern and maintainable setup.
๐ฏ Target Setup
Kickoff is designed for Laravel projects with this starter configuration:
laravel new myapp --git --livewire --pest --npm --livewire-class-components
Includes:
- โ Git repository initialization
- โ Livewire for reactive components
- โ Pest for testing
- โ NPM for asset management
- โ Livewire class-based components
The complete setup is based on Project Template.
๐ฅ Usage
Quick Start
# 1. Install globally composer global require cleaniquecoders/kickoff # 2. Create Laravel project with the recommended setup laravel new my-project --git --livewire --pest --npm --livewire-class-components cd my-project # 3. Bootstrap with kickoff kickoff start <owner> <project-name>
Complete Example:
# Create project with full stack laravel new blog --git --livewire --pest --npm --livewire-class-components cd blog # Apply kickoff configuration kickoff start johndoe blog
Options
<owner>- Your name or organization (required)<project-name>- Project name (required)<project-path>- Project directory (optional, defaults to current directory)
What Happens
๐ Let's kickoff your johndoe/blog now! โณ Copy application stubs... โ โณ Update composer.json... โ โณ Update project files... โ โณ Configure environment... โ โณ Install packages... โ โณ Build assets... โ ๐ Project setup completed successfully!
โ ๏ธ Warning: Only run on fresh Laravel projects. Existing projects will be overwritten.
โจ Features
-
๐ฆ Installs required Laravel packages:
-
๐ Dev tools:
- barryvdh/laravel-debugbar
- larastan/larastan for static analysis
- driftingly/rector-laravel
- pestphp/pest-plugin-arch for architecture testing
-
โ๏ธ Configuration:
- Adds QA scripts to
composer.json - Autoloads
support/helpers.php - Creates
rector.php,phpstan.neon.dist, andpint.json
- Adds QA scripts to
-
๐ Project Structure:
support/for helpers- Refactored
routes/intoweb/,api/, andconsole/subfolders (backups included) tinker/with.gitignoredocs/README.mdwith a placeholder TOC
-
๐ก๏ธ Automation Scripts:
- Creates executable scripts in
bin/for tasks like backup, deployment, PHPStan reporting, dependency updates, and project install - All scripts use the current directory name as the project name
- Creates executable scripts in
-
โ Testing:
- Generates
tests/Feature/ArchitectureTest.phpusing Pest Arch
- Generates
-
๐ Documentation:
- Creates
CHANGELOG.md,CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md,SUPPORT.md, andLICENSE.md
- Creates
-
โก GitHub Actions Workflows:
- Pint (Laravel Pint)
- PHPStan
- Rector
- Tests (Pest)
- Changelog updater
-
๐ง Artisan & Project Tasks:
- Clears config and view caches
- Runs migrations
- Creates storage symlink
- Publishes package configs and migrations
-
๐ ๏ธ Infrastructure Templates:
- Sets up
.config/with Nginx and Supervisor templates
- Sets up
๐งช Development & Testing
For Contributors
Test your changes to kickoff using the sandbox script:
# Create fresh Laravel app and apply kickoff bin/sandbox run # Inspect the generated project cd test-output/sandbox # create a database in mysql named `sandbox`
Then create tables & seed data:
php artisan reload:db
Run the sandbox app:
npm run build php artisan serve
To clean up sandbox, run:
bin/sandbox reset
Sandbox Features:
- โ Automated testing workflow (30 seconds vs 10 minutes manually)
- โ Git-safe (uses skip-worktree to prevent accidental commits)
- โ Repeatable testing cycles
- โ Isolated test environment
Requirements:
- Laravel installer:
composer global require laravel/installer
See bin/sandbox for detailed usage and commands.
๐ก๏ธ Automation Scripts
-
Creates executable scripts in
bin/for common project tasks:- backup-app: Backup your application files
- backup-media: Backup only media files changed in the last 24 hours
- build-fe-assets: Build and commit frontend assets
- deploy: Deploy code to your server with branch/tag support
- update-dependencies: Update Composer and npm dependencies, audit and build assets
- reinstall-npm: Remove and reinstall npm modules and lock file
- install: Project initialization, database setup, and environment configuration
- phpstan: Run PHPStan and generate readable reports per identifier
-
All scripts use the current directory name as the project name for dynamic configuration.
-
Scripts are made executable and can be run directly from the
bin/directory.
Security Vulnerabilities
If you discover a security vulnerability within AirBox, please send an e-mail to Nasrul Hazim via nasrulhazim.m@gmail.com. All security vulnerabilities will be promptly addressed.
Contributors
License
The Laravel framework is open-sourced software licensed under the MIT license.