11# CLI Reference
22
3- The ` aieng-platform-onboard ` package provides a command-line tool for bootcamp participant onboarding, authentication, and environment setup.
3+ The ` aieng-platform-onboard ` package provides a command-line tool for bootcamp participant onboarding, authentication, environment setup, and admin operations .
44
55## Installation
66
@@ -14,6 +14,10 @@ pip install aieng-platform-onboard
1414
1515Main command for onboarding bootcamp participants with team-specific API keys.
1616
17+ ### ` onboard admin `
18+
19+ Admin commands for managing participants and teams.
20+
1721#### Usage
1822
1923``` bash
@@ -40,6 +44,66 @@ View onboarding status for all participants (requires admin credentials):
4044onboard --admin-status-report --gcp-project coderd
4145```
4246
47+ ## Admin Commands
48+
49+ ### ` onboard admin setup-participants `
50+
51+ Setup participants and teams from CSV file.
52+
53+ #### Usage
54+
55+ ``` bash
56+ onboard admin setup-participants < csv_file> [--dry-run]
57+ ```
58+
59+ #### Arguments
60+
61+ | Argument | Description | Required |
62+ | ----------| -------------| ----------|
63+ | ` csv_file ` | Path to CSV file | Yes |
64+
65+ #### CSV Format
66+
67+ Required columns:
68+ - ` github_handle ` - GitHub username
69+ - ` team_name ` - Team name
70+
71+ Optional columns:
72+ - ` email ` - Email address
73+ - ` first_name ` - First name
74+ - ` last_name ` - Last name
75+
76+ #### Options
77+
78+ | Option | Description |
79+ | --------| -------------|
80+ | ` --dry-run ` | Validate and preview changes without modifying Firestore |
81+
82+ #### Examples
83+
84+ ** Setup participants from CSV:**
85+ ``` bash
86+ onboard admin setup-participants participants.csv
87+ ```
88+
89+ ** Dry run (validate only):**
90+ ``` bash
91+ onboard admin setup-participants participants.csv --dry-run
92+ ```
93+
94+ ** Sample CSV:**
95+ ``` csv
96+ github_handle,team_name,email,first_name,last_name
97+ alice,team-alpha,[email protected] ,Alice,Smith 98+ bob,team-alpha,[email protected] ,Bob,Jones 99+ charlie,team-beta,[email protected] ,Charlie,Brown 100+ ```
101+
102+ #### Requirements
103+
104+ - Admin credentials (service account or gcloud auth)
105+ - Firestore write access
106+
43107## Options
44108
45109### Required (for participant onboarding)
@@ -133,11 +197,21 @@ onboard \
133197### Admin Status Report
134198
135199``` bash
136- # Requires admin credentials (service account or gcloud auth)
200+ # Requires admin credentials
137201gcloud auth application-default login
138202onboard --admin-status-report --gcp-project coderd
139203```
140204
205+ ### Setup Participants
206+
207+ ``` bash
208+ # Setup participants from CSV
209+ onboard admin setup-participants config/participants.csv
210+
211+ # Validate CSV without making changes
212+ onboard admin setup-participants config/participants.csv --dry-run
213+ ```
214+
141215## Generated Files
142216
143217### .env File
@@ -182,4 +256,11 @@ source .env
182256 gcloud auth application-default login
183257 ```
184258- Or set ` GOOGLE_APPLICATION_CREDENTIALS ` to service account key path
185- - Verify you have Firestore read access for the project
259+ - Verify you have Firestore read/write access for the project
260+
261+ ### CSV Validation Errors
262+
263+ - Check CSV has required columns: ` github_handle ` , ` team_name `
264+ - Verify GitHub handles are valid (alphanumeric and hyphens, max 39 chars)
265+ - Ensure team names are valid (alphanumeric, hyphens, underscores)
266+ - Check for duplicate GitHub handles
0 commit comments