Files
gemini-cli/plans/TASK-08.md
Taylor Mullen 79cc1eb4f4 feat(core,cli): implement external agent polyfills and finalize teams
- Implement External Agent kind with personality overlays (Claude Code, Codex)
- Enhance AgentLoader and Registry for external agent discovery and registration
- Fix critical startup race condition in Config registry initialization
- Add TeamSelectionDialog and ActiveTeamIndicator to CLI UI
- Include comprehensive integration and unit tests for agent teams
- Refactor SubagentToolWrapper for type-safe external agent invocation
2026-04-01 17:55:00 -07:00

1.9 KiB

TASK-08: Interactive Team Creation Wizard

Objective

Implement a guided, step-by-step CLI wizard to allow users to create new Agent Teams without manually editing files and directories.

Implementation Details

1. The Wizard Flow (packages/cli/src/ui/components/TeamCreatorWizard.tsx)

  • Create a multi-step Ink component:
    • Step 1: Identity: Prompt for Team Name and Display Name (Text Input).
    • Step 2: Objective: Prompt for the orchestration instructions (Multiline Text Input). This guides the top-level agent on how to use the team.
    • Step 3: Roster: A multi-select list of available agents:
      • Include local agents from .gemini/agents/.
      • Include "External" templates: Claude Code (External), Codex (External).
    • Step 4: Confirmation: Display a summary and ask for final confirmation.

2. Scaffolding Service (packages/core/src/agents/teamScaffolder.ts)

  • Create a service to handle the filesystem operations:
    • Create the directory .gemini/teams/<slug>/.
    • Generate the TEAM.md with the collected frontmatter and instructions.
    • Create the agents/ sub-folder.
    • For each selected agent:
      • If it's an existing local agent, copy/link its definition.
      • If it's an "External" agent, generate a placeholder .md file with the correct kind: external and provider.

3. UI Integration (packages/cli/src/ui/AppContainer.tsx)

  • In the TeamSelectionDialog (from TASK-04/07), when "Create New Team" is selected:
    • Set isTeamCreatorActive(true).
  • Render the TeamCreatorWizard overlay.
  • On completion, refresh the TeamRegistry and return to the selection list with the new team highlighted.

Verification

  • Manual verification of the creation flow.
  • Verify that the resulting directory structure and TEAM.md are valid and loadable.
  • Unit tests for teamScaffolder.ts.