Files
gemini-cli/plans/workspaces-implementation.md

46 lines
2.2 KiB
Markdown
Raw Normal View History

# Gemini CLI Workspaces: High-Level Implementation Plan
## 1. Objective
Transform the architectural vision of "Gemini CLI Workspaces" into a production-ready, self-service feature for `gemini-cli`.
## 2. Milestones & Phases
### Milestone 1: The Workspace Core (Phase 1)
Build the foundational container environment and the core management API.
- [ ] Define and build the `Workspace Container Image`.
- [ ] Deploy a basic `Workspace Hub` (Cloud Run) with GCE provisioning.
- [ ] Implement simple `/create`, `/list`, `/delete` API endpoints.
### Milestone 2: Basic CLI Management (Phase 2)
Enable developers to manage their remote fleet from the local CLI.
- [ ] Add `gemini workspace create/list/delete` commands.
- [ ] Implement Hub authentication (Google OAuth/IAP).
- [ ] Add local configuration for Hub discovery (`settings.json`).
### Milestone 3: Connectivity & Persistence (Phase 3)
Enable the "Teleport" experience with session persistence.
- [ ] Implement `gemini workspace connect`.
- [ ] Setup `gcloud compute ssh --tunnel-through-iap` logic in the client.
- [ ] Integrate `shpool` into the container entrypoint for session detachment.
### Milestone 4: Secure Sync & Identity (Phase 4)
Make the remote workspace "feel like home" with secure credential forwarding.
- [ ] Implement `~/.gemini/` configuration synchronization.
- [ ] Implement SSH Agent Forwarding (`-A`) in the connectivity logic.
- [ ] Implement secure GitHub PAT injection via `/dev/shm`.
### Milestone 5: UI & Advanced Hub Features (Phase 5)
Polish the developer experience and add enterprise-grade Hub capabilities.
- [ ] Implement the "Workspaces Ability" in the CLI (interactive React UI).
- [ ] Implement multi-tenancy models (User, Team, Repo) in the Hub.
- [ ] Add auto-cleanup (TTL) and resource monitoring to the Hub.
## 3. Implementation Strategy
- **Surgical Changes:** Each phase will be implemented as a series of small, verified PRs.
- **Verification:** Every phase must include integration tests (using mocks for GCP if necessary).
- **Documentation:** Architecture docs will be updated as implementation details evolve.
## 4. Next Steps
1. **Phase 1 Sub-plan:** Define the exact Dockerfile and initial Hub API schema.
2. **Phase 1.1:** Build and push the initial `gemini-workspace:latest` image.