The picker, redesigned - #15
Merged
Merged
Conversation
…il line, collapsed exclusions, review as the bundle tree The shipped travel step showed everything at once and taught nothing: every sensible item preselected, so the natural first key accepted the defaults and read as skipping the user's input. This is the signed-off redesign, rendering only — keys, defaults, consent rules, plain mode, flag echo and assemble-never-execute are untouched. Launch opens with a half-block AGENT SYNC wordmark (bold text in ASCII or narrow terminals) and a found-on-this-machine card that simply omits absent agents. The multiselect gets a picked-count chip, a warn-colored coach line — space picks, enter continues — that retires after the first toggle, a full-row highlight bar instead of a pointer glyph, plain group headers with a blank rail line between groups, per-item hints demoted to one detail line describing the highlighted row, the locked section collapsed to a counted line with v to expand, and a three-entry footer with ? revealing the full bindings. The destination step is gone: the review IS the final screen, and it is the product promise on screen — the actual bundle tree with per-skill file counts and sizes, config files naming the keys they carry, the manifest line, and an accounting of consented hooks, plugins and exclusions — ending in Pack it? with the destination as a named default: y packs, n leaves nothing written, d opens the destination choice, esc cancels. Plain mode reads the same tree and answers one y/N; destination changes there ride the scripted flags the echo teaches. The receipt closes with the scripted spelling and the apply-on-the-other-side line. Tests: wordmark rows and fallbacks, the review-tree builder, review n and d key paths end to end, coach retirement, v and ? toggles, the match-count filter line, forced re-collapse on tight budgets, and the ascii design snapshot rewritten to the new frame. 177 tests.
◈ PR Lens
Architecture 7 components touched across 3 lanes. Inside the changed components — 2 viewsComponent view — Guided export orchestration Guided command orchestration of intro wordmark, coached picker selections, review tree rendering, and destination packing. Component view — TUI presentation engine TUI component state machine, wordmark generator, theme glyphs, and terminal screen renderer. Data flow
View
Tip The diagrams are links. Click one to open it on the canvas, then press W or click play to walk through the change. 🪧 More tips
Thanks for using PR Lens! It's built by Coldtea, free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
…separators go through the theme buildReviewLines' TOML annotation now accepts only lines shaped like a bare-key assignment: section headers, multi-line array elements and closing brackets are content, and content never reaches the review screen — the reviewer reproduced a literal token value printed by the previous line-splitting. A planted-value test pins it. The review screen fits itself before rendering: head of the tree, an elision count, and always the closing consent-accounting line, so a tall bundle can never scroll the Pack it? prompt and its keys off screen (renderLive slices top-first). fitReviewLines is exported and unit-tested. Prose separators are spelled as the mid-dot once and normalized by the UI that renders them — the theme separator in the picker, a hyphen in plain mode — closing the stray hardcoded dot in the intro subtitle and making the hooks coach line match the drawing. The skip path now also echoes the scripted spelling, so a plain-mode user who declined precisely because they wanted a different destination leaves with the flags in hand. And v/? during filtering type into the query, pinned by a reducer test.
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.
The travel step showed everything at once and taught nothing: every sensible item preselected, so the natural first key accepted the defaults and read as skipping input. This redesign is rendering only — keys, defaults, consent rules, plain mode, flag echo, and assemble-never-execute unchanged.
vexpands), three-entry footer (?reveals the rest).Pack it? → setup.tgz (y / n / d).177 tests, typecheck clean.