Skip to content

Development Workflow

Terminal window
# Start backend containers
cd backend
./vendor/bin/sail up -d
# Start frontend dev server
cd frontend
pnpm dev
# Start documentation (optional)
cd docs
pnpm dev
ServiceURLPurpose
Backend APIhttp://localhostLaravel API
Admin Panelhttp://localhost/adminFilamentPHP backoffice
Telescopehttp://localhost/telescopeDebug dashboard
Swaggerhttp://localhost/api/documentationAPI docs
Frontendhttp://localhost:4321Astro website
Documentationhttp://localhost:4322This site
Mailpithttp://localhost:8025Email testing
feature/{issue-number}-{short-description}
fix/{issue-number}-{short-description}
refactor/{issue-number}-{short-description}

Examples:

  • feature/123-add-payment-gateway
  • fix/456-booking-validation-error

Format: #{issue-number} {descriptive-message}

Terminal window
# Good
git commit -m "#123 Add user dashboard with profile management"
git commit -m "#456 Fix booking validation for empty dates"
# Bad
git commit -m "fix stuff"
git commit -m "WIP"

Use Claude Code slash commands for common operations:

Terminal window
# Create a commit
/commit "Add payment processing service"
# Create a pull request
/pr-create
# Run PHPStan and fix errors
/fix-phpstan
# Rebase onto master
/rebase-master

All PHP code must pass PHPStan Level 6 analysis:

Terminal window
# Run PHPStan
./vendor/bin/sail exec laravel.test ./vendor/bin/phpstan analyse
# Auto-fix with slash command
/fix-phpstan

Format code with Laravel Pint:

Terminal window
./vendor/bin/sail pint

Run tests with Pest:

Terminal window
# All tests
./vendor/bin/sail artisan test
# Specific test
./vendor/bin/sail artisan test --filter=BookingTest
# With coverage
./vendor/bin/sail artisan test --coverage

Claude Code includes specialized agents for different tasks:

AgentUse For
@laravel-core-agentModels, migrations, controllers, services
@filament-admin-agentAdmin resources, forms, tables, widgets
@laravel-testing-agentPest tests, Pint formatting, coverage
@laravel-debug-agentErrors, logs, performance analysis

For a feature spanning multiple domains, invoke agents in parallel:

User: Create a Booking feature with admin panel and tests
├─ @laravel-core-agent: Model, migration, service
├─ @filament-admin-agent: BookingResource
└─ @laravel-testing-agent: Test suite
Terminal window
# Create migration
./vendor/bin/sail artisan make:migration create_bookings_table
# Run migrations
./vendor/bin/sail artisan migrate
# Rollback
./vendor/bin/sail artisan migrate:rollback
# Fresh with seeders
./vendor/bin/sail artisan migrate:fresh --seed
Terminal window
# Create seeder
./vendor/bin/sail artisan make:seeder BookingSeeder
# Run seeders
./vendor/bin/sail artisan db:seed
# Specific seeder
./vendor/bin/sail artisan db:seed --class=BookingSeeder

Interactive PHP shell for debugging:

Terminal window
./vendor/bin/sail artisan tinker
# Example queries
>>> User::count()
>>> Booking::with('user')->first()
>>> Product::where('active', true)->get()
Terminal window
# Process jobs
./vendor/bin/sail artisan queue:work
# List failed jobs
./vendor/bin/sail artisan queue:failed
# Retry failed job
./vendor/bin/sail artisan queue:retry {id}
# Clear failed jobs
./vendor/bin/sail artisan queue:flush

Access Laravel Horizon at http://localhost/horizon for queue monitoring.

Access at http://localhost/telescope for:

  • Request/response inspection
  • Database queries
  • Queue jobs
  • Exceptions
  • Logs

Use the Laravel Boost MCP tools:

Terminal window
# Get last error
mcp__laravel-boost__last-error
# Query database
mcp__laravel-boost__database-query "SELECT * FROM users LIMIT 5"
# Execute tinker code
mcp__laravel-boost__tinker "User::count()"
# Search docs
mcp__laravel-boost__search-docs ["queue jobs", "redis"]
  1. Run tests: ./vendor/bin/sail artisan test
  2. Run PHPStan: /fix-phpstan
  3. Format code: ./vendor/bin/sail pint
  4. Update documentation if needed

Use the slash command:

Terminal window
/pr-create

This will:

  1. Check for uncommitted changes
  2. Run PHPStan if PHP files changed
  3. Push branch to remote
  4. Create PR with template

PRs require:

  • Passing CI checks (tests, PHPStan)
  • Code review approval
  • Updated documentation (if applicable)