docs(offload): implement maintainer onboarding guide and link from contributing

This commit is contained in:
mkorwel
2026-03-15 09:54:27 -07:00
parent e7cf6a4baa
commit 5f26de9eae
2 changed files with 92 additions and 10 deletions

View File

@@ -43,16 +43,14 @@ The process for contributing code is as follows:
1. **Find an issue** that you want to work on. If an issue is tagged as 1. **Find an issue** that you want to work on. If an issue is tagged as
`🔒Maintainers only`, this means it is reserved for project maintainers. We `🔒Maintainers only`, this means it is reserved for project maintainers. We
will not accept pull requests related to these issues. In the near future, will not accept pull requests related to these issues.
we will explicitly mark issues looking for contributions using the 2. **Maintainer Setup**: If you are a team maintainer, please follow the
`help-wanted` label. If you believe an issue is a good candidate for [Maintainer Onboarding Guide](./MAINTAINER_ONBOARDING.md) to set up your
community contribution, please leave a comment on the issue. A maintainer high-performance remote offload environment.
will review it and apply the `help-wanted` label if appropriate. Only 3. **Fork the repository** and create a new branch.
maintainers should attempt to add the `help-wanted` label to an issue. 4. **Make your changes** in the `packages/` directory.
2. **Fork the repository** and create a new branch. 5. **Ensure all checks pass** by running `npm run preflight`.
3. **Make your changes** in the `packages/` directory. 6. **Open a pull request** with your changes.
4. **Ensure all checks pass** by running `npm run preflight`.
5. **Open a pull request** with your changes.
### Code reviews ### Code reviews

84
MAINTAINER_ONBOARDING.md Normal file
View File

@@ -0,0 +1,84 @@
# 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.