| name | detecting-agent-environment |
| description | Utilities and patterns for detecting execution environment (CI/CD vs local, network access, available ports, timeouts). Use when you need to adapt scripts or workflows based on where the agent is running, or when creating helper scripts that need environment-aware behavior. |
Agent Helper Scripts
Utilities for GitHub Copilot agents working on Y-Not Radio site.
Environment Detection
Use detect-environment.sh to adapt scripts to different environments:
# Source the utility
source bin/agent-helpers/detect-environment.sh
# Print environment info
print_environment
# Check environment
if detect_ci; then
echo "Running in CI/CD"
# Use optimized workflow
fi
if ! detect_network; then
echo "Network restricted - cannot pull packages"
exit 1
fi
# Get appropriate timeout
TIMEOUT=$(get_timeout "service_ready")
timeout $TIMEOUT bash -c 'until service_ready; do sleep 5; done'
Creating New Helper Scripts
When creating helper scripts:
Source environment detection
source "$(dirname "$0")/detect-environment.sh" print_environmentUse appropriate timeouts
TIMEOUT=$(get_timeout "npm_install") timeout $TIMEOUT npm installProvide clear output
echo "✅ Success message" echo "⚠️ Warning message" echo "❌ Error message"Exit with proper codes
exit 0 # Success exit 1 # FailureLog to .agent-tmp/
mkdir -p .agent-tmp command 2>&1 | tee .agent-tmp/command.log
Related Skills
Before creating scripts or PRs, see:
testing-pr-changesskill - Success criteria and testing workflowsagent-automation-infrastructureskill - Current automation state and pre-built images
Performance Baselines
Scripts should respect these baselines:
| Operation | Expected | Warning | Failure |
|---|---|---|---|
| Container start | < 60s | 60-120s | > 120s |
| npm install | < 120s | 120-300s | > 300s |
| Service ready | < 180s | 180-360s | > 360s |
If exceeding "Warning" thresholds, report performance issues in PR.