mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-12 06:10:42 -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
|
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
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