Starting development sessions, running tests after code changes, debugging service issues, or verifying implementations - handles service startup, test execution, and troubleshooting
Start service (choose one):
# Recommended: Use startup script (from repo root)
cd services/identity && powershell.exe -ExecutionPolicy Bypass -File run_identity_local.ps1
# Alternative: VSCode task "identity: local" (auto-configures env vars)
Start Docker dev environment (databases — required before service):
docker compose -f services/docker-compose.yml -p shine up -d
# Stop: docker compose -f services/docker-compose.yml -p shine down
Run tests:
# Full suite
cd tests && pnpm test:local
# Filtered by test name
cd tests && pnpm test:local --grep "Purge guests"
# Single file
cd tests && pnpm exec playwright test api-tests/identity/purge_guests.ts
Enable request logging (for debugging / agent analysis):
cd tests && ENABLE_REQUEST_LOGGING=1 pnpm test:local --grep "test name"
Agent test guidelines:
tail, head, or other truncation — full output is needed for analysis--grep to scope runs to relevant tests when possibleENABLE_REQUEST_LOGGING=1 when debugging failures to see HTTP request/response detailslist reporter shows pass/fail per testVerify service is ready:
curl -k https://localhost:8443/identity/info/ready # Should return "Ok"
Service requirements:
server_config.test.json, certs at ../../certs/scytta.{crt,key}https://cloud.local.scytta.com:8443/identityTest requirements:
Test outputs:
tests/reports/index.htmltests/test-results/.last-run.json (compare for regressions)cd services/identity && cargo build -p shine-identity --release.last-run.json for new failuresService won't start:
pwd must show services/identity (config file location)ls ../../certs/scytta.{crt,key} from services/identitynetstat -ano | findstr :8443 (Windows) or lsof -ti:8443 (Linux/Mac)Tests failing:
curl -k https://localhost:8443/identity/info/readytests/test-results/.last-run.json vs current runWindows env var errors:
Bash doesn't support -- in variable names. Use PowerShell:
${env:SHINE--SERVICE--PORT} = "8443"
Or use VSCode task (handles env vars automatically).
Manual service start (if scripts fail):
cd services/identity
cargo run -p shine-identity --release -- test
Requires env vars set in shell (use PowerShell on Windows).