mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-24 21:10:43 -07:00
docs(offload): implement maintainer onboarding guide and link from contributing
This commit is contained in:
@@ -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
|
||||
`🔒Maintainers only`, this means it is reserved for project maintainers. We
|
||||
will not accept pull requests related to these issues. In the near future,
|
||||
we will explicitly mark issues looking for contributions using the
|
||||
`help-wanted` label. If you believe an issue is a good candidate for
|
||||
community contribution, please leave a comment on the issue. A maintainer
|
||||
will review it and apply the `help-wanted` label if appropriate. Only
|
||||
maintainers should attempt to add the `help-wanted` label to an issue.
|
||||
2. **Fork the repository** and create a new branch.
|
||||
3. **Make your changes** in the `packages/` directory.
|
||||
4. **Ensure all checks pass** by running `npm run preflight`.
|
||||
5. **Open a pull request** with your changes.
|
||||
will not accept pull requests related to these issues.
|
||||
2. **Maintainer Setup**: If you are a team maintainer, please follow the
|
||||
[Maintainer Onboarding Guide](./MAINTAINER_ONBOARDING.md) to set up your
|
||||
high-performance remote offload environment.
|
||||
3. **Fork the repository** and create a new branch.
|
||||
4. **Make your changes** in the `packages/` directory.
|
||||
5. **Ensure all checks pass** by running `npm run preflight`.
|
||||
6. **Open a pull request** with your changes.
|
||||
|
||||
### Code reviews
|
||||
|
||||
|
||||
84
MAINTAINER_ONBOARDING.md
Normal file
84
MAINTAINER_ONBOARDING.md
Normal 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.
|
||||
Reference in New Issue
Block a user