Daily development workflow for Symfony projects including common tasks, debugging, and productivity tips
/plugin marketplace add MakFly/superpowers-symfony/plugin install makfly-superpowers-symfony@MakFly/superpowers-symfonyThis skill inherits all available tools. When active, it can use any tool Claude has access to.
# Pull latest code
git pull origin main
# Update dependencies
composer install
# Run migrations
bin/console doctrine:migrations:migrate --no-interaction
# Clear cache
bin/console cache:clear
# Docker Compose
docker compose up -d
# Or Symfony Docker
docker compose up -d --wait
# Start Symfony server (if not using Docker)
symfony server:start -d
# Verify database connection
bin/console doctrine:query:sql "SELECT 1"
# Check messenger transports
bin/console messenger:stats
# Verify cache is working
bin/console cache:pool:list
# 1. Create entity
bin/console make:entity Product
# 2. Create migration
bin/console make:migration
# 3. Run migration
bin/console doctrine:migrations:migrate
# 4. Create controller
bin/console make:controller ProductController
# 5. Create form (if needed)
bin/console make:form ProductType
# 6. Create test
bin/console make:test WebTestCase ProductControllerTest
# Validate mapping
bin/console doctrine:schema:validate
# Show SQL that would be executed
bin/console doctrine:schema:update --dump-sql
# Generate migration from entity changes
bin/console make:migration
# Load fixtures
bin/console doctrine:fixtures:load
# Reset database
bin/console doctrine:database:drop --force
bin/console doctrine:database:create
bin/console doctrine:migrations:migrate --no-interaction
bin/console doctrine:fixtures:load --no-interaction
# Process messages
bin/console messenger:consume async -vv
# Process with limits
bin/console messenger:consume async --limit=10 --time-limit=60
# View failed messages
bin/console messenger:failed:show
# Retry failed messages
bin/console messenger:failed:retry --all
# Stop workers gracefully
bin/console messenger:stop-workers
# Debug routes
bin/console debug:router
bin/console debug:router api_products_get_collection
# Debug container/services
bin/console debug:container
bin/console debug:container ProductService
bin/console debug:autowiring Product
# Debug configuration
bin/console debug:config framework
bin/console debug:config api_platform
# Debug event dispatcher
bin/console debug:event-dispatcher
bin/console debug:event-dispatcher kernel.request
# Enable profiler (dev only)
# Visit: /_profiler
# Check latest profiles via CLI
bin/console profiler:list
# Tail logs
tail -f var/log/dev.log
# Filter logs
grep "ERROR" var/log/dev.log
grep "doctrine" var/log/dev.log
// In code
dump($variable); // Dump but continue
dd($variable); // Dump and die
// In Twig
{{ dump(variable) }}
# All tests
./vendor/bin/phpunit
# Or with Pest
./vendor/bin/pest
# Specific test file
./vendor/bin/pest tests/Functional/Api/ProductTest.php
# Specific test method
./vendor/bin/pest --filter "creates product"
# With coverage
./vendor/bin/pest --coverage --min=80
# Parallel execution
./vendor/bin/pest --parallel
# 1. Write failing test
./vendor/bin/pest tests/Unit/Service/ProductServiceTest.php
# 2. Implement minimum code to pass
# 3. Run test again - should pass
./vendor/bin/pest tests/Unit/Service/ProductServiceTest.php
# 4. Refactor
# 5. Run all tests
./vendor/bin/pest
# Fix code style
./vendor/bin/php-cs-fixer fix
# Run static analysis
./vendor/bin/phpstan analyse
# Run tests
./vendor/bin/pest
# All checks
composer run-script check
#!/bin/sh
# .git/hooks/pre-commit
./vendor/bin/php-cs-fixer fix --dry-run
if [ $? -ne 0 ]; then
echo "Fix code style before committing"
exit 1
fi
./vendor/bin/phpstan analyse
if [ $? -ne 0 ]; then
echo "Fix PHPStan errors before committing"
exit 1
fi
# Using curl
curl -X GET http://localhost/api/products
curl -X POST http://localhost/api/products \
-H "Content-Type: application/json" \
-d '{"name": "Test", "price": 1999}'
# Using httpie (cleaner)
http GET localhost/api/products
http POST localhost/api/products name="Test" price:=1999
# Generate OpenAPI spec
bin/console api:openapi:export --output=openapi.json
# View in browser
# http://localhost/api/docs
# Stop services
docker compose down
# Or keep data but stop containers
docker compose stop
# Check status
git status
# Stage changes
git add -p # Interactive staging
# Commit
git commit -m "feat: add product filtering"
# Push
git push origin feature/product-filtering
| Task | Command |
|---|---|
| Clear cache | bin/console cache:clear |
| Run migrations | bin/console doctrine:migrations:migrate |
| Load fixtures | bin/console doctrine:fixtures:load |
| Run tests | ./vendor/bin/pest |
| Fix code style | ./vendor/bin/php-cs-fixer fix |
| Static analysis | ./vendor/bin/phpstan analyse |
| Debug routes | bin/console debug:router |
| Debug services | bin/console debug:container |
| Consume messages | bin/console messenger:consume async |
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.