"Run local development commands on the Dayuse.com project. Use when starting/stopping Docker, running PHP tests (PHPUnit), frontend tests, linting (PHPStan, CS-Fixer, ESLint), database migrations, Elasticsearch indexing, translations, or any inv task. All commands require pipenv and Docker."
Install
npx skillscat add dayuse-labs/skills-portfolio/dayuse-commands Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing, no bullet points, no headings, no markdown. At most 60 words. Summarize: skill runs local development commands for Dayuse.com project via pipenv run inv, handling Docker, PHP tests, frontend tests, linting, migrations, etc. Problem: need consistent environment and correct invocation of dev tasks. Use when developing locally, need to start/stop containers, run tests, lint, migrations. Provide summary. Word count: aim ~40-50 words.
Dayuse App Commands
Overview
All local development commands for the Dayuse.com project use Python Invoke (prefixed with inv) and must be run through pipenv from the current working directory.
Prerequisites
- Docker Desktop running
- pipenv installed (
pip install pipenv)
Critical Rules
- Always prefix commands with
pipenv runto ensure the correct Python environment:pipenv run inv <command> - Docker containers must be running for most commands. If unsure, run
pipenv run inv upfirst. - Never run
invdirectly withoutpipenv run— it may use the wrong Python/invoke version.
Quick Reference
| Action | Command |
|---|---|
| Start everything | pipenv run inv start |
| Start containers only | pipenv run inv up |
| Stop containers | pipenv run inv stop |
| Run PHP tests | pipenv run inv phpunit |
| Run specific PHP test | pipenv run inv phpunit --filter-tests=MyTest |
| PHPStan analysis | pipenv run inv phpstan |
| Fix code style | pipenv run inv cs-fix |
| Frontend tests | pipenv run inv front-web-test |
| DB migration | pipenv run inv migrate |
Infrastructure
Start & Stop
# Full setup: build + start + install deps + migrate DB
pipenv run inv start
# Build Docker images + start containers (no install/migrate)
pipenv run inv up
# Build Docker images only
pipenv run inv build
# Stop all containers
pipenv run inv stop
# Destroy everything (containers, volumes, networks) — DESTRUCTIVE
pipenv run inv destroyMonitoring
# List container status
pipenv run inv ps
# Show container logs
pipenv run inv logs
# Open bash shell in builder container
pipenv run inv builderWorkers (RabbitMQ consumers)
# Start worker containers
pipenv run inv start-workers
# Stop worker containers
pipenv run inv stop-workersPHP Backend Testing
# Full test suite (creates test DB + fixtures + PHPUnit)
pipenv run inv tests
# Run PHPUnit only (assumes test DB already exists)
pipenv run inv phpunit
# Run specific test(s) by filter
pipenv run inv phpunit --filter-tests=MyTestClass
pipenv run inv phpunit --filter-tests=testMethodName
# Run with code coverage
pipenv run inv phpunit --coverage
# Create/reset test database with fixtures
pipenv run inv create-test-env
# Import specific fixtures
pipenv run inv import-fixturesPHP Code Quality
# PHPStan static analysis (level 10)
pipenv run inv phpstan
# PHP-CS-Fixer — auto-fix code style
pipenv run inv cs-fix
# PHP-CS-Fixer — check only (dry-run, used in CI)
pipenv run inv cs-fix --dry-run
# PHP syntax + YAML + Twig linting
pipenv run inv lint
# Validate Doctrine schema against entities
pipenv run inv schema-validateFrontend (Next.js / React)
Web
# Jest tests
pipenv run inv front-web-test
# ESLint
pipenv run inv front-web-lint
# TypeScript type check
pipenv run inv front-web-type
# Prettier formatting check
pipenv run inv front-web-prettier
# Unit tests (alternative)
pipenv run inv tests-unit-front
# Reset frontend API cache
pipenv run inv reset-frontend-apiMobile App
# Unit tests
pipenv run inv test-app
# ESLint
pipenv run inv lint-app
# TypeScript compliance
pipenv run inv typing-app
# Format check
pipenv run inv format-app
# Check XCode plist files
pipenv run inv check-plistDatabase
# Run pending migrations
pipenv run inv migrate
# Generate a new migration
pipenv run inv make-migration
# Load a SQL dump into dayuse_dev
pipenv run inv mysql-load-dump
# Snapshot current MySQL volume (for fast restore later)
pipenv run inv volume-mysql-snapshot
# Restore MySQL volume from snapshot
pipenv run inv volume-mysql-snapshot-restoreElasticsearch
# Rebuild hotel index (full)
pipenv run inv es-build-hotel
# Rebuild hotel index for specific country
pipenv run inv es-build-hotel --country=FR
# Rebuild POI index
pipenv run inv es-build-poi
# Rebuild billing index
pipenv run inv es-build-billing
# Rebuild order index
pipenv run inv es-build-order
# Setup ES snapshot
pipenv run inv es-setup-snapshot
# Reset ES snapshot
pipenv run inv es-reset-snapshot
# Restore hotel index from snapshot
pipenv run inv es-restore-hotel-snapshot
# Restore POI index from snapshot
pipenv run inv es-restore-poi-snapshotTranslations
# Download translations from Loco (frontend + backend)
pipenv run inv loco-download
# Download translations, commit, and push (for releases)
pipenv run inv finalize-releaseOther Utilities
# Clear Symfony cache
pipenv run inv cache-clear
# Clear dev.log
pipenv run inv log-clear
# Install all dependencies (composer + yarn)
pipenv run inv install
# Install composer dependencies only
pipenv run inv composer-install
# Generate SSL certificates
pipenv run inv generate-certificates
# Display help with local URLs
pipenv run inv helpCI Pipeline Commands
When running in CI mode, first set the CI flag:
pipenv run inv ciCI runs these checks (all must pass):
pipenv run inv phpunit— PHP unit testspipenv run inv phpstan— Static analysispipenv run inv cs-fix --dry-run— Code style checkpipenv run inv lint— Syntax lintingpipenv run inv schema-validate— Doctrine schemapipenv run inv front-web-lint— Frontend ESLintpipenv run inv front-web-type— Frontend TypeScriptpipenv run inv front-web-prettier— Frontend formatting
Local Development URLs
Once containers are running (pipenv run inv up):
| Service | URL |
|---|---|
| API | https://api.dayuse.test/ |
| Back Office | https://bo.dayuse.test/ |
| Partners Extranet | https://partners.dayuse.test/ |
| Search API | https://api-search.dayuse.test/ |
| Redirects | https://r.dayuse.test/ |
| RabbitMQ | https://rabbitmq.dayuse.test/ |
| Mailcatcher | https://mail.dayuse.test/ |
Troubleshooting
Containers not starting
Symptoms: inv up fails or containers crash
Solution:
pipenv run inv destroy
pipenv run inv startTest DB out of date
Symptoms: PHPUnit fails with schema errors
Solution:
pipenv run inv create-test-env
pipenv run inv phpunitpipenv not found or wrong Python
Symptoms: pipenv: command not found or import errors
Solution:
pip install pipenv
pipenv installElasticsearch index empty or stale
Symptoms: Search returns no results
Solution:
pipenv run inv es-build-hotel
pipenv run inv es-build-poi