Phase 3 — Embedded terminal with command input.
+---------------------------------------+
| [<] Terminal (*) Connected |
| session: main * /home/user/project |
+---------------------------------------+
| $ flutter test |
| 00:05 +12: All tests passed! |
| |
| $ git status |
| On branch main |
| Changes not staged for commit: |
| modified: lib/auth/login.dart |
| modified: lib/auth/oauth.dart |
| |
| Untracked files: |
| test/auth_test.dart |
| |
| $ dart analyze |
| Analyzing project... |
| No issues found! |
| |
| $ _ |
| |
| |
+---------------------------------------+
| $ [type command here...] [ret] |
+---------------------------------------+
Elements:
- Monospace font, dark background (terminal aesthetic)
- ANSI color support (green for success, red for errors, etc.)
- Auto-scroll to bottom on new output
- Scrollback buffer (swipe up to view history)
- Command input bar with return/enter button
- Current working directory shown in header
States:
- Idle: cursor blink at
$ _ - Running: command output streaming, input disabled
- Disconnected: grayed out with "Reconnect" overlay
+---------------------------------------+
| [<] Terminal (*) Connected |
| session: main * /home/user/project |
+---------------------------------------+
| $ flutter build apk --release |
| |
| Running Gradle task |
| 'assembleRelease'... |
| |
| > Task :app:compileReleaseKotlin |
| > Task :app:mergeReleaseResources |
| > Task :app:processReleaseManifest |
| > Task :app:packageRelease |
| ... |
| BUILD SUCCESSFUL in 2m 34s |
| 42 actionable tasks: 38 executed |
| |
| Built build/app/outputs/flutter-a.. |
| |
| $ _ |
| |
| |
+---------------------------------------+
| $ [type command here...] [ret] |
| [Ctrl+C] |
+---------------------------------------+
Elements:
- [Ctrl+C] button appears during long-running commands
- Output streams in real-time from bridge
- Tap output text to select/copy
+---------------------------------------+
| [<] Terminal Sessions [+ New] |
+---------------------------------------+
| |
| +----------------------------------+ |
| | main [active] | |
| | /home/user/project | |
| | Last: flutter test * 2m ago | |
| +----------------------------------+ |
| |
| +----------------------------------+ |
| | feature-branch | |
| | /home/user/project | |
| | Last: git log * 15m ago | |
| +----------------------------------+ |
| |
| +----------------------------------+ |
| | server-logs | |
| | /var/log | |
| | Last: tail -f app.log * 1h | |
| +----------------------------------+ |
| |
+---------------------------------------+
Elements:
- Multiple terminal sessions (backed by separate bridge connections or multiplexed)
- Active indicator for running sessions
- [+ New] creates a new terminal session
- Swipe left to close session (with confirmation if command running)