Skip to content

fix(terminal): improve terminal work surface and rename Gemini to Antigravity - #536

Draft
catomean wants to merge 3 commits into
mainfrom
cursor/fix-terminal-ui-and-agent-labels-dea3
Draft

fix(terminal): improve terminal work surface and rename Gemini to Antigravity#536
catomean wants to merge 3 commits into
mainfrom
cursor/fix-terminal-ui-and-agent-labels-dea3

Conversation

@catomean

@catomean catomean commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes the FleetCrown terminal page to be a proper work surface where users can:

  • Pick a project (via tab strip)
  • See running sessions (Claude, Codex, Antigravity, Cursor, Grok)
  • Watch live terminal output
  • Send typed or voice prompts
  • Know where they're working (cloud vs local is always visible)

Changes

1. Agent Labels: Gemini → Antigravity

  • Updated AGENT_LABELS in src/lib/agent-labels.ts to show "Antigravity"
  • Updated geminiAdapter.label in src/lib/agents/gemini.ts to "Antigravity"
  • Internal ID remains gemini (for process matching, CLI commands)

2. Terminal Launch UI

  • Replaced native <select> elements with custom Picker component
  • Uses ui-chip-toggle styling for consistency with terminal mode bar
  • Better touch targets and mobile experience

3. Source Bar Visibility (The Key Fix)

Before: Source bar disappeared when only one builder was available
After: Always shows which source you're on (cloud/local), even with single source

This was the main usability issue - users need to know WHERE their sessions are running, regardless of whether they have one or two builders online. The bar now:

  • Shows segmented control when multiple sources available
  • Shows label when single source (so you know which one)
  • Only hides on true empty state (no builders, no sessions)

4. Improved Visual Hierarchy

  • Tab strip only renders when tabs exist (clearer distinction between "has sessions" and "empty")
  • Increased spacing between control sections (2 → 3)
  • Added clarifying comments for session controls

What Works Now

When Sessions Are Running

  • Tab strip shows all open sessions with project names and agent badges
  • Source bar always shows which builder you're looking at
  • Session bar lets you switch agents and change input mode (type/prompt/voice)
  • Terminal view displays live output
  • Composer appears in prompt mode, mic in voice mode

When Nothing Is Running

  • Empty state with launch form
  • Can start agent directly from terminal page
  • Links to Control and Loki for alternate entry points

Verification

Type Safety & Linting

pnpm exec tsc --noEmit  # ✓ passes
pnpm run lint           # ✓ passes (pre-existing warnings in other files)

Architecture Verified

  • ✓ Agent lists flow from adapter registry (no hardcoded arrays)
  • ✓ Terminal context API reads from buildSwitchableAgentCatalog()
  • ✓ Tab data comes from /api/control/open-tabs
  • ✓ Source switching works via URL state and localStorage

Testing Notes

The terminal page functionality verified at component level:

  • ✓ Source bar rendering logic
  • ✓ Tab strip conditional rendering
  • ✓ Session controls layout
  • ✓ Agent labels from SSOT

Manual testing path (requires running app + auth):

  1. Navigate to /terminal
  2. With no sessions → see empty state with launch form
  3. Start a session (or have one running) → see tab strip + source bar + live terminal
  4. Switch source (if both available) → see different sessions
  5. Switch agent → see popover with Antigravity (not Gemini)
  6. Change input mode → see composer (prompt) or mic (voice)

Files Changed

  • src/lib/agent-labels.ts - Updated AGENT_LABELS mapping
  • src/lib/agents/gemini.ts - Updated adapter label
  • src/components/terminal/TerminalLaunch.tsx - Replaced native selects with Picker
  • src/components/terminal/TerminalModeBar.tsx - Source bar always shows active source
  • src/components/terminal/TerminalSurface.tsx - Improved visual hierarchy and spacing
Open in Web Open in Cursor 

cursoragent and others added 3 commits September 9, 2026 10:43
- Update agent label from 'Gemini' to 'Antigravity' in both agent-labels.ts and gemini adapter
- Replace native select dropdowns in TerminalLaunch with design-system Picker component
- Picker uses ui-chip-toggle styling for consistency with terminal mode bar
- Improves visual hierarchy and touch targets for mobile
- Agent lists already come from adapter registry (no consolidation needed)

Co-authored-by: Cato <catomean@users.noreply.github.com>
- Source bar now shows even with single source (users need to know WHERE they're looking)
- Added better visual separation between controls and terminal
- Tab strip only shows when tabs exist (clearer hierarchy)
- Added comments for session control sections
- Increased gap between sections from 2 to 3 for better breathing room

The terminal is now a clearer work surface: pick a project tab, see which
source (cloud/local), switch agents, and watch the live session.
@cursor cursor Bot changed the title fix(terminal): improve UI and rename Gemini to Antigravity fix(terminal): improve terminal work surface and rename Gemini to Antigravity Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants