Rewrite CLI REPL with scroll region UI and live steering#6
Open
pushkarsingh32 wants to merge 1 commit intoopen-gitagent:mainfrom
Open
Rewrite CLI REPL with scroll region UI and live steering#6pushkarsingh32 wants to merge 1 commit intoopen-gitagent:mainfrom
pushkarsingh32 wants to merge 1 commit intoopen-gitagent:mainfrom
Conversation
Replace readline-based REPL with a custom raw-mode terminal UI using ANSI scroll regions. The input line is always visible at the bottom while streaming output scrolls above it. Layout: - Rows 1..(r-3): scroll region for streaming output - Row r-2: queue line showing pending steer message - Row r-1: separator - Row r: input line with fake block cursor Key changes: - Always-on raw mode with manual keystroke handling - Steer support: type during streaming, Enter sends agent.steer() - Queue line shows pending steer in yellow, echoes to scroll region when agent picks it up (appears after AI response, not inline) - Hidden real cursor with inverse-video fake cursor on input line - Proper vertical spacing between messages - Terminal resize handler redraws all fixed UI elements
|
@pushkarsingh32 is attempting to deploy a commit to the shreyas-lyzr's projects Team on Vercel. A member of the Team first needs to authorize it. |
shreyas-lyzr
requested changes
Mar 23, 2026
Contributor
shreyas-lyzr
left a comment
There was a problem hiding this comment.
This is a large rewrite of the CLI REPL — raw mode, scroll regions, custom input handling. Concerns:
- Very large diff touching the core REPL loop. This replaces readline entirely with raw terminal management. High risk of regressions on different terminal emulators (iTerm, Windows Terminal, SSH sessions, etc.)
- No fallback — if raw mode fails (e.g. piped input, CI, non-TTY), the entire CLI breaks. Need a `process.stdin.isTTY` guard with fallback to the current readline approach.
- The `headerLines` counter is fragile — any log line change breaks the scroll region math.
I'd suggest splitting this: first PR for the steer queue (simple feature), second PR for the scroll region UI (risky, needs testing).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Layout
Key changes
agent.steer()Test plan