techieni3 / stacktify-cli
Create laravel application with your preferred stack.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/techieni3/stacktify-cli
Requires
- php: ^8.4
- ext-pcntl: *
- illuminate/filesystem: ^12.32
- illuminate/support: ^12.32
- laravel/prompts: ^0.3.6
- nikic/php-parser: ^5.6
- symfony/console: ^7.3
- symfony/process: ^7.3
Requires (Dev)
- laravel/pint: ^1.25
- mockery/mockery: ^1.6
- pestphp/pest: ^4.1
- phpstan/phpstan: ^2.1
- rector/rector: ^2.2
- symfony/var-dumper: ^7.3
This package is auto-updated.
Last update: 2025-12-04 17:44:31 UTC
README
Stacktify CLI
A command-line tool for scaffolding production-ready Laravel applications with opinionated defaults and best practices.
Table of Contents
- Why Stacktify
- Features
- Requirements
- Installation
- Quick Start
- Usage
- Configuration Options
- Command Options
- Troubleshooting
- Credits
- License
Why Stacktify?
Setting up a production-ready Laravel application involves many repetitive tasks: choosing tools, configuring settings, ensuring consistency across projects, and hardening your application for production environments.
Stacktify automates this entire process.
With a single command, you get a clean, well-configured Laravel application built on battle-tested conventions. This saves time, reduces configuration errors, and gives every project a solid foundation from day one.
Features
- Production-Ready Configuration: AppServiceProvider optimizations including immutable dates, strict mode, HTTPS enforcement, and security hardening
- Code Quality Tools: Pre-configured Laravel Pint, Rector, and PHPStan for maintaining code standards
- Security: Roave Security Advisories integration to prevent vulnerable dependencies
- Custom Stubs: Opinionated code generation templates for a consistent project structure
- Git Integration: Automatic repository initialization with organized, meaningful commits
- Flexible Stack Selection: Choose your frontend framework, authentication method, database, and development tools
- Smart Defaults: Sensible configuration choices that work out of the box
Requirements
- PHP 8.4 or higher
- Composer 2.x or higher
Installation
Install Stacktify globally via Composer:
composer global require techieni3/stacktify-cli
Ensure your Composer global bin directory is in your system's PATH:
# Check the location composer global config bin-dir --absolute # Add to your shell profile if needed # For Bash: ~/.bashrc or ~/.bash_profile # For Zsh: ~/.zshrc export PATH="$HOME/.composer/vendor/bin:$PATH"
Verify the installation:
stacktify --version
Quick Start
Create a new Laravel application with interactive prompts:
stacktify new my-app
Follow the prompts to configure:
- Application name
- Frontend stack (Blade, API, Vue, React, Livewire, Filament)
- Package manager (npm, yarn, pnpm, bun)
- Authentication method (None, Laravel Auth, Socialite)
- Database (SQLite, MySQL, MariaDB, PostgreSQL, SQL Server)
- Testing framework (Pest, PHPUnit)
- Developer tools (Octane, Telescope, User Permissions, etc.)
Usage
Basic Command
stacktify new <application-name> [options]
Interactive Mode (Default)
stacktify new my-blog
The CLI will prompt you for all configuration choices.
Non-Interactive Mode
stacktify new my-api --no-interaction
Creates an application using default values:
- Frontend: Blade
- Package Manager: npm
- Authentication: None
- Database: SQLite
- Testing: Pest
- Developer Tools: None
Development Release
stacktify new my-app --dev
Installs the latest development version of Laravel.
Force Installation
stacktify new my-app --force
Removes the existing directory and creates a fresh installation.
Skip Git Initialization
stacktify new my-app --no-git
Creates the application without initializing Git or creating commits.
Configuration Options
Frontend Stacks
| Stack | Description | Status |
|---|---|---|
| Blade | Laravel's templating engine (default) | ✅ Available |
| API Only | Backend API without frontend scaffolding | 🚧 Coming Soon |
| Vue | Vue.js with Inertia.js | 🚧 Coming Soon |
| React | React with Inertia.js | 🚧 Coming Soon |
| Livewire | Laravel Livewire for reactive interfaces | 🚧 Coming Soon |
| Filament | Filament admin panel | 🚧 Coming Soon |
Authentication Methods
| Method | Description | Status |
|---|---|---|
| None | No authentication scaffolding (default) | ✅ Available |
| Laravel Auth | Built-in Laravel authentication | 🚧 Coming Soon |
| Laravel Socialite | OAuth authentication (Google, GitHub, etc.) | 🚧 Coming Soon |
Database Drivers
| Database | Configuration | Status |
|---|---|---|
| SQLite | File-based database (default) | ✅ Available |
| MySQL | MySQL 8.0+ | ✅ Available |
| MariaDB | MariaDB 10.3+ | ✅ Available |
| PostgreSQL | PostgreSQL 12+ | ✅ Available |
| SQL Server | Microsoft SQL Server | ✅ Available |
Testing Frameworks
| Framework | Description | Status |
|---|---|---|
| Pest | Modern testing framework (default) | ✅ Available |
| PHPUnit | Traditional PHP testing framework | ✅ Available |
Package Managers
| Manager | Description | Status |
|---|---|---|
| npm | Node Package Manager (default) | ✅ Available |
| yarn | Fast, reliable package manager | ✅ Available |
| pnpm | Efficient disk space usage | ✅ Available |
| bun | All-in-one JavaScript runtime | ✅ Available |
Developer Tools
| Tool | Description | Status |
|---|---|---|
| Stacktify Recommended | AppServiceProvider optimizations and config tweaks | ✅ Available |
| Laravel Octane | High-performance application server (Swoole/RoadRunner) | ✅ Available |
| Laravel Telescope | Debugging and insight tool for development | ✅ Available |
| Laravel User Permissions | Role and permission management system | ✅ Available |
Command Options
| Option | Description |
|---|---|
--dev |
Install the latest development release of Laravel |
--no-git |
Skip Git repository initialization and commits |
--force, -f |
Force installation by removing existing directory |
--no-interaction |
Run non-interactively with default values |
Troubleshooting
Command Not Found
If you receive a "command not found" error after installation:
-
Verify Composer's global bin directory is in your
PATH:composer global config bin-dir --absolute
-
Add the directory to your shell profile:
# For Bash echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc source ~/.bashrc # For Zsh echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
-
Verify the installation:
stacktify --version
Package Installation Failures
If Composer or npm packages fail to install:
-
Clear Composer cache:
composer clear-cache
-
Update Composer:
composer self-update
-
Clear npm cache (if applicable):
npm cache clean --force
Credits
- Images generated by Gemini and Nono Banana
- Inspired by the Laravel community's best practices
License
Stacktify CLI is open-sourced software licensed under the MIT license.
Built with ❤️ for the Laravel community