feat: add interactive TUI dashboard (cjules dash) for #6#16
Closed
hahwul wants to merge 2 commits into
Closed
Conversation
Implements #6 - New command: cjules dash (alias: dashboard) - Split-screen TUI: left pane lists sessions with status, repo, title, age (filterable with /, active-only toggle with f) - Right pane: live activity log tail for the selected session (incremental fetch + dedup, follow mode) - In-TUI actions: 'a' to approve plan (when AWAITING_PLAN_APPROVAL), 'm' to compose+send message - Full keyboard support (vim keys, arrows, PgUp/PgDn, Tab focus switch, g/G, r refresh, l toggle follow, ? help, q/ctrl-c quit) - Production-grade terminal handling: alternate screen, raw mode, SIGWINCH resize, guaranteed restore of stty + cursor + alt screen on any exit path (INT/TERM/at_exit) - Reuses existing Models, API, Client, Output::Colors, Util, state rendering - Updated docs, CLI help, CHANGELOG, skill definition All tests pass, ameba clean, formatted.
… interleaving Previously draw_list_pane + stray '│' + draw_log_pane produced vertically stacked output instead of columns, causing completely broken screen layout. Now: - build_list_lines / build_log_lines return exactly padded strings - render zips them per row: list_cell + '│' + log_cell + newline - Log column gets a 1-line title bar (session id + state + count) as its first row - Added \e[0m safety before bottom separator to prevent reverse-video bleed This was the root cause of '화면이 깨지네' when running ./bin/cjules dash.
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.
Implements the interactive TUI dashboard requested in #6.
Features
cjules dash(alsocjules dashboard)a/A: approve pending plan (when in AWAITING_PLAN_APPROVAL)m/M: open message composer to send follow-up (cjules msgequivalent)/live filter,factive-only toggle,rrefresh,ltail toggle,?/hhelp overlay,q/Ctrl-C quitTesting / Quality
crystal spec: 97 examples, 0 failurescrystal tool format+bin/amebacleanshards build --releasesucceedsCloses #6