Development Commands Reference
Common commands used during Scoriet development. All commands assume you're in the project root directory.
Server & Build Commands
Start Development Environment (All-in-One)
composer run dev
What it does:
- Starts Laravel development server (port 8000)
- Starts queue worker for background jobs
- Starts Vite dev server with hot reload
- Starts Laravel Reverb WebSocket server
Output:
Laravel development server started: http://localhost:8000
Queue worker listening...
VITE v7.0.0 ready in 1234 ms
Reverb server started...
Access point: http://localhost:8000
Start with Server-Side Rendering (SSR)
composer run dev:ssr
Similar to composer run dev but with SSR support for faster initial page loads.
Manual Server Start (if needed)
# Terminal 1: Laravel server
php artisan serve
# Terminal 2: Queue worker (in separate terminal)
php artisan queue:listen
# Terminal 3: Vite dev server (in separate terminal)
npm run dev
# Terminal 4: WebSocket server (optional)
php artisan reverb:start
Code Quality Commands
Run ESLint (JavaScript/TypeScript)
npm run lint
Checks:
- Code style violations
- Unused variables
- Syntax errors
With auto-fix:
npm run lint -- --fix
Automatically fixes most style issues.
Format Code with Prettier
npm run format
Formats:
- JavaScript/TypeScript files
- JSON files
- CSS/SCSS
- HTML templates
TypeScript Type Checking
npm run types
Checks:
- Type mismatches
- Missing type definitions
- Unused variables
- Function signature errors
Output example:
src/Components/MyComponent.tsx:15:5
Type 'string' is not assignable to type 'number'
PHP Code Quality (Optional)
composer run lint
Checks PHP code style using Laravel Pint.
Database Commands
Run Migrations
php artisan migrate
Applies pending migrations in order. Creates tables, modifies schemas, etc.
Rollback Last Batch
php artisan migrate:rollback
Reverses the most recent migration batch.
Rollback All
php artisan migrate:reset
Removes all database tables. Use carefully!
Fresh Migration (Reset + Migrate)
php artisan migrate:fresh
Removes all tables and re-runs all migrations. Same as reset + migrate.
Fresh with Seeding
php artisan migrate:fresh --seed
Resets database and populates with demo data.
Create New Migration
php artisan make:migration create_table_name_table
php artisan make:migration add_column_to_table_name_table
Creates a new migration file in database/migrations/.
Seed Database
php artisan db:seed
Populates database with demo data from seeders.
Testing Commands
Run All Tests
composer run test
Runs Pest PHP tests. Reports passes and failures.
Run Tests with Coverage
composer run test -- --coverage
Shows which code is covered by tests (percentage).
Run Specific Test
php artisan test tests/Feature/TemplateEngineTest.php
Run Tests in Watch Mode
php artisan test --watch
Automatically re-runs tests when files change.
Laravel Artisan Commands
Generate Application Key
php artisan key:generate
Required during setup. Generates unique encryption key for .env.
Tinker (Interactive Shell)
php artisan tinker
Interactive PHP shell for testing code and querying database:
>>> App\Models\User::all()
>>> App\Models\Project::count()
>>> DB::table('users')->first()
>>> exit
Create Admin User
php artisan tinker
>>> App\Models\User::create([
'name' => 'Admin',
'email' => 'admin@example.com',
'password' => bcrypt('password123')
])
>>> exit
Clear Cache
php artisan cache:clear
Clears all cached data. Use if cache is stale.
Clear Config Cache
php artisan config:clear
Clears cached configuration.
Regenerate Autoload
composer dump-autoload
Regenerates Composer autoload files. Use if "Class not found" errors occur.
Passport (OAuth2) Commands
Install Passport
php artisan passport:install
Generates encryption keys. Required during setup.
Create Password Grant Client
php artisan passport:client --password --name="Scoriet Password Grant"
Creates OAuth2 client for password grant flow (login).
Create Personal Access Client
php artisan passport:client --personal --name="Scoriet Personal Access"
Creates OAuth2 client for personal access tokens.
Regenerate Keys
php artisan passport:keys
Regenerates encryption keys if compromised.
List Clients
php artisan passport:clients
Shows all created OAuth2 clients with IDs and secrets.
File System Commands
Publish Assets
php artisan vendor:publish
Publishes vendor package assets to public directory.
Storage Link
php artisan storage:link
Creates symbolic link from storage/app/public to public/storage.
Queue Commands
Listen to Queue
php artisan queue:listen
Processes queued jobs. Keep this running in development.
Process Single Batch
php artisan queue:work
Processes one batch of jobs then stops.
View Failed Jobs
php artisan queue:failed
Lists all jobs that failed.
Retry Failed Job
php artisan queue:retry
Retries failed jobs.
Building for Production
Build Frontend
npm run build
Compiles JavaScript/TypeScript and CSS for production. Outputs to public/build/.
Note: Do NOT run this during development - Vite handles this automatically.
Build with SSR
npm run build:ssr
Builds with Server-Side Rendering support.
NPM Package Management
Install All Dependencies
npm install
Installs all packages listed in package.json and package-lock.json.
Add New Package
npm install package-name
Installs and saves package to package.json.
Add Development Package
npm install --save-dev package-name
Installs as dev dependency (testing, build tools, etc).
Update Packages
npm update
Updates all packages to latest compatible versions.
Check for Vulnerabilities
npm audit
Reports security vulnerabilities in dependencies.
Fix Vulnerabilities
npm audit fix
Automatically fixes vulnerable dependencies.
Composer Package Management
Install Dependencies
composer install
Installs all packages in composer.json.
Update Dependencies
composer update
Updates packages to latest compatible versions.
Add New Package
composer require vendor/package
Installs and adds package to composer.json.
Add Development Package
composer require --dev vendor/package
Installs as development dependency.
Check Installed Packages
composer show
Lists all installed packages and versions.
Check for Updates
composer outdated
Shows packages with newer versions available.
Useful Aliases
Add these to your shell profile (.bashrc, .zshrc, etc.) for faster typing:
alias dev='composer run dev'
alias test='composer run test'
alias lint='npm run lint'
alias format='npm run format'
alias migrate='php artisan migrate'
alias tinker='php artisan tinker'
alias queue='php artisan queue:listen'
alias serve='php artisan serve'
alias mfs='php artisan migrate:fresh --seed'
Then use:
dev # instead of composer run dev
test # instead of composer run test
lint # instead of npm run lint
mfs # instead of php artisan migrate:fresh --seed
Git Workflow Commands
Note: Do not push to remote repository. Push only to local branches for version control.
# View changes
git status
git diff
# Stage changes
git add .
# Commit changes
git commit -m "Description of changes"
# View commit history
git log --oneline -n 10
# Create local branch
git checkout -b feature/my-feature
# Switch branches
git checkout develop
Remember: The project owner pushes to the remote repository. Focus on:
- Using git as a version control backup
- Creating branches for different features
- Writing clear commit messages
Common Development Workflows
Start Work on New Feature
# Update your local repo
git pull origin develop
# Create feature branch
git checkout -b feature/my-new-feature
# Start dev servers
composer run dev
After Making Changes
# Check code quality
npm run lint -- --fix
npm run format
npm run types
# Run tests
composer run test
# Commit changes
git add .
git commit -m "Implement my new feature"
Testing New Template
# Start servers
composer run dev
# In browser:
# 1. Create new project
# 2. Upload schema
# 3. Create template
# 4. Generate code
# 5. Download and review
# In shell - check generated files
ls -la generated/
Database Debugging
# See what's in database
php artisan tinker
>>> DB::table('projects')->get()
>>> DB::table('templates')->get()
>>> exit
# Reset database to clean state
php artisan migrate:fresh --seed
# Check migration status
php artisan migrate:status
Troubleshooting Commands
Check System Setup
# Check PHP version
php --version
# Check Node version
node --version
# Check npm version
npm --version
# Check database connection
php artisan tinker
>>> DB::connection()->getPDO()
>>> exit
# Check Composer
composer diagnose
Clear All Caches
# Clear all caches
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
# Rebuild autoload
composer dump-autoload
# Reinstall node modules (if issues)
rm -rf node_modules package-lock.json
npm install
Check Logs
# View Laravel error log
tail -f storage/logs/laravel.log
# View browser console (in developer tools)
# F12 → Console tab
Performance Profiling
Enable Debug Toolbar
Set in .env:
APP_DEBUG=true
DEBUGBAR_ENABLED=true
Shows performance metrics, queries, logs in application.
Check Query Count
// In routes/web.php for testing
use Illuminate\Support\Facades\DB;
DB::enableQueryLog();
// ... your code ...
dd(DB::getQueryLog());
Shows all database queries executed.
Monitor Queue Performance
php artisan queue:monitor
Shows queue worker stats and performance.