Files
gemini-cli/MAINTAINER_ONBOARDING.md

85 lines
2.2 KiB
Markdown

# Maintainer Onboarding: High-Performance Offload System 🚀
Welcome to the Gemini CLI maintainer team! This guide will help you set up your
remote development environment, which offloads heavy tasks (reviews, fixes,
preflight) to a dedicated GCP worker.
## Prerequisites
1. **Google Cloud Access**: Ensure you have access to the
`gemini-cli-team-quota` project.
2. **GCloud CLI**: Authenticated locally (`gcloud auth login`).
3. **GitHub CLI**: Authenticated locally (`gh auth login`).
4. **iTerm2**: (Optional) For automated window popping on macOS.
## Setup Workflow
### 1. Fork & Clone
Start by forking the repository and cloning it to your local machine.
```bash
gh repo fork google-gemini/gemini-cli --clone
cd gemini-cli
```
### 2. Run the Offload Setup
This interactive script will handle all the complex orchestration setup:
- Configures your GCP project and compute zone.
- Sets up a **Fast-Path SSH Alias** (`gcli-worker`) in `~/.ssh/config`.
- Creates/Identifies your **Security Fork** for autonomous work.
- Performs a **One-Shot Authentication** for Gemini and GitHub.
- Pre-clones the repository to your remote worker.
```bash
npm run offload:setup
```
### 3. Provision Your Worker
Once setup is configured, spin up your dedicated, high-performance VM:
```bash
npm run offload:fleet provision
```
## Daily Workflow
### Offloading a PR Review
To perform a deep behavioral review of a PR on your remote worker:
```bash
npm run offload <PR_NUMBER> review
```
_A new iTerm2 window will pop up, instantly connected to your worker, running
the `review-pr` skill._
### Monitoring Your Jobs
View the real-time status of all your in-flight remote jobs:
```bash
npm run offload:status
```
### Stopping Your Worker
To save costs, shut down your worker when you're done for the day. The
orchestrator will automatically wake it up when you run a new task.
```bash
npm run offload:fleet stop
```
## Security Model
- **Isolation**: Each maintainer has their own dedicated VM
(`gcli-offload-<user>`).
- **Permissions**: The agent uses a scoped token that is read-only to the main
repo and read/write only to your personal fork.
- **OS Login**: Access is managed via your Google corporate identity.