CLI Reference¶
The aieng-platform-onboard package provides a command-line tool for bootcamp participant onboarding, authentication, and environment setup.
Installation¶
Commands¶
onboard¶
Main command for onboarding bootcamp participants with team-specific API keys.
Usage¶
Participant Onboarding¶
Standard onboarding flow for bootcamp participants:
onboard \
--bootcamp-name fall-2025 \
--gcp-project coderd \
--test-script tests/integration/test_api_keys.py \
--output-dir .
Admin Status Report¶
View onboarding status for all participants (requires admin credentials):
Options¶
Required (for participant onboarding)¶
| Option | Description | Example |
|---|---|---|
--bootcamp-name |
Name of the bootcamp | --bootcamp-name fall-2025 |
--test-script |
Path to integration test script | --test-script tests/integration/test_api_keys.py |
Optional¶
| Option | Description | Default |
|---|---|---|
--gcp-project |
GCP project ID | coderd |
--output-dir |
Directory for .env file | . (current directory) |
--firebase-api-key |
Firebase Web API key for token exchange | (from FIREBASE_WEB_API_KEY env var) |
--skip-test |
Skip integration tests | False |
--force |
Force re-onboarding even if already onboarded | False |
--admin-status-report |
Display onboarding status for all participants (admin only) | False |
--version |
Show version number and exit | - |
Onboarding Process¶
The participant onboarding flow consists of 9 steps:
- Identify Participant - Detects GitHub username from environment
- Fetch Authentication Token - Retrieves fresh token from service
- Connect to Firestore - Initializes secure Firestore connection
- Fetch Your Profile - Reads participant data and team assignment
- Fetch Team API Keys - Retrieves team-specific API keys
- Fetch Global Configuration - Fetches shared configuration keys
- Create Environment File - Generates .env file with all keys
- Run Integration Test - Validates API keys (optional)
- Mark as Onboarded - Updates participant status in Firestore
Environment Variables¶
The following environment variables are used:
| Variable | Description | Required |
|---|---|---|
GITHUB_USER |
GitHub username for authentication | Yes |
FIREBASE_WEB_API_KEY |
Firebase Web API key (can be passed via --firebase-api-key) |
Yes |
GOOGLE_APPLICATION_CREDENTIALS |
Path to GCP service account key (admin only) | For --admin-status-report |
Exit Codes¶
| Code | Description |
|---|---|
0 |
Success |
1 |
Failure (authentication, connection, or configuration error) |
Examples¶
Basic Onboarding¶
export GITHUB_USER=myusername
onboard \
--bootcamp-name fall-2025 \
--test-script tests/integration/test_api_keys.py
Skip Integration Tests¶
onboard \
--bootcamp-name fall-2025 \
--test-script tests/integration/test_api_keys.py \
--skip-test
Force Re-onboarding¶
Custom Output Directory¶
onboard \
--bootcamp-name fall-2025 \
--test-script tests/integration/test_api_keys.py \
--output-dir ~/my-bootcamp
Admin Status Report¶
# Requires admin credentials (service account or gcloud auth)
gcloud auth application-default login
onboard --admin-status-report --gcp-project coderd
Generated Files¶
.env File¶
The onboarding process creates a .env file containing:
- Team-specific API keys (OpenAI/Gemini, Langfuse)
- Global shared configuration
- Bootcamp-specific settings
Location: Specified by --output-dir (default: current directory)
Usage:
Troubleshooting¶
Authentication Failures¶
- Ensure
GITHUB_USERenvironment variable is set - Verify you're added to the participant list (contact admin)
- Check token service is deployed and accessible
Connection Failures¶
- Verify GCP project ID is correct
- Check Firebase Web API key is valid
- Ensure Firestore security rules allow participant access
Integration Test Failures¶
- Check that .env file was created successfully
- Verify API keys are valid (contact admin if needed)
- Use
--skip-testto bypass tests if keys need manual verification
Admin Command Failures¶
- Ensure you're authenticated with proper GCP permissions:
- Or set
GOOGLE_APPLICATION_CREDENTIALSto service account key path - Verify you have Firestore read access for the project