mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-07-13 19:40:28 -07:00
19b9e3e8e4
- Add RegistryTeam interface and TeamRegistryClient for remote/local discovery. - Enhance TeamScaffolder with installRegistryTeam supporting Git and metadata-only teams. - Refactor GitHub/Git utilities from cli to core for shared usage. - Add comprehensive unit tests for new services. TASK-09, TASK-10
25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
# TASK-10: Team Installation and Scaffolding Service
|
|
|
|
## Objective
|
|
Enhance the `TeamScaffolder` service to handle installing teams from a `RegistryTeam` definition, including support for definitions with only metadata or full Git-based teams.
|
|
|
|
## Implementation Details
|
|
|
|
### 1. Scaffolder Enhancements (`packages/core/src/agents/teamScaffolder.ts`)
|
|
- [ ] Implement `installRegistryTeam(team: RegistryTeam)`:
|
|
- [ ] Validates the team definition.
|
|
- [ ] If `sourceUrl` is provided (e.g., a GitHub link), handle cloning/downloading:
|
|
- Reuse logic from `ExtensionManager` (`cloneFromGit`, `downloadFromGitHubRelease`).
|
|
- Copy the contents to `.gemini/teams/<team-name>/`.
|
|
- [ ] If only prompt/metadata are provided in the `RegistryTeam` JSON:
|
|
- Scaffold the directory structure.
|
|
- Generate `TEAM.md`.
|
|
- Generate corresponding `.md` agent files in the `agents/` folder (especially for external kind agents).
|
|
|
|
### 2. Registry Update
|
|
- [ ] Ensure the `TeamRegistry` is notified to reload discovered teams after a successful installation.
|
|
|
|
## Verification
|
|
- Unit tests for `installRegistryTeam` with both "Definition only" and "Full Git-based" team mocks.
|
|
- Verify that a successfully installed team appears in the discovered teams list.
|