GIT-014 recommended local-dev
Docker Compose for services
Third-party services available via Docker Compose with matching env vars
Question to ask
"How many external accounts does a dev need before first run?"
Verification guide
Severity: Recommended
Check automatically:
ls -la docker-compose.yml docker-compose.yaml compose.yml compose.yaml 2>/dev/null
If found, verify it includes services the app needs:
- Database (postgres, mysql, mongodb)
- Cache (redis, memcached)
- Queue (rabbitmq, kafka)
- Any other dependencies
Cross-reference with GIT-001:
- What services did we need to run the app?
- Are they all in Docker Compose?
Cross-reference env vars with Docker Compose services:
- Check
.env.examplefor connection strings (DATABASE_URL, REDIS_URL, etc.) - Verify they match Docker Compose service names and ports
- Example:
DATABASE_URL=postgres://user:pass@localhost:5432/dbshould match postgres service exposing port 5432 - Flag mismatches (wrong port, wrong hostname, service not in compose)
Test it works:
docker compose config # Validates the file
docker compose up -d # Actually start services
docker compose ps # Verify they're running
docker compose down # Clean up
Pass criteria:
- Docker Compose exists with third-party services, OR project has no external dependencies
- Env var connection strings match Docker Compose services (ports, hostnames)
- Services start successfully
Fail criteria:
- Project requires external services but no Docker Compose
- Docker Compose missing required services
- Env vars don't match Docker Compose (wrong ports, missing services)
- Docker Compose file is broken/invalid
If no compose file, ask user: "Does this project require external services (database, Redis, etc.) to run locally? If yes, how are developers expected to set them up?"
Evidence to capture:
- Docker Compose exists (yes/no)
- Services defined vs services needed
- Env var connection strings and whether they match compose
- Any gaps or mismatches