mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-24 18:52:29 -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
1.2 KiB
1.2 KiB
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
sourceUrlis provided (e.g., a GitHub link), handle cloning/downloading:- Reuse logic from
ExtensionManager(cloneFromGit,downloadFromGitHubRelease). - Copy the contents to
.gemini/teams/<team-name>/.
- Reuse logic from
- If only prompt/metadata are provided in the
RegistryTeamJSON:- Scaffold the directory structure.
- Generate
TEAM.md. - Generate corresponding
.mdagent files in theagents/folder (especially for external kind agents).
2. Registry Update
- Ensure the
TeamRegistryis notified to reload discovered teams after a successful installation.
Verification
- Unit tests for
installRegistryTeamwith both "Definition only" and "Full Git-based" team mocks. - Verify that a successfully installed team appears in the discovered teams list.