Production Bug Testing Workflow
This skill guides you through starting the production Docker Compose environment, capturing bugs and issues found during manual testing, and shutting down the environment when done.
Phase 1: Start the Production Environment
- •
Create data directories (if they don't exist):
bashmkdir -p .docker-data/prod/uploads .docker-data/prod/mariadb
- •
Verify
.envfile exists with required variables:- •
SECRET_KEY - •
MYSQL_ROOT_PASSWORD - •
MYSQL_PASSWORD - •
KIOSK_ADMIN_PASSWORD
If missing, copy from
.env.docker.exampleand configure. - •
- •
Start the environment:
bashdocker-compose -f docker-compose.prod.yml up -d
- •
Wait for health checks and verify both containers are healthy:
bashdocker-compose -f docker-compose.prod.yml ps
- •
Test the endpoints:
- •Health: http://localhost:5000/health
- •Ready: http://localhost:5000/health/ready
- •Admin: http://localhost:5000/admin/
- •
Inform the user the environment is ready and provide the admin credentials from
.env.
Phase 2: Capture Bugs and Issues
When the user reports bugs or issues:
- •
Read the feature template at
docs/features/template.mdto understand the format. - •
Read the feature README at
docs/features/README.mdfor guidelines. - •
For each bug/issue reported, create a new feature file:
- •Location:
docs/features/<descriptive-name>.md - •Use kebab-case for filenames
- •Include:
- •A descriptive title (replacing "Feature Template")
- •The reference to follow
./README.mdinstructions - •An Overview section describing the bug/issue as reported
- •Do NOT research or investigate the bug - just capture it
- •Location:
- •
Commit each feature file immediately after creation with a concise commit message.
- •
Continue capturing bugs until the user indicates they are done.
Phase 3: Shut Down the Environment
When the user is done testing:
- •
Stop and remove containers:
bashdocker-compose -f docker-compose.prod.yml down
- •
Confirm the environment has been shut down.
Notes
- •The production environment uses MariaDB (not SQLite like development)
- •Data persists in
.docker-data/prod/between sessions - •If the Docker build fails, check for TypeScript errors in the frontend
- •The user may ask you to prioritize the captured bugs after testing is complete