Skip to content

feat(flows): fit printed flow lists to the terminal - #1610

Draft
Chase J (chajac) wants to merge 1 commit into
chajac/list-cached-idsfrom
chajac/list-printed-layouts
Draft

Chase J (chajac) wants to merge 1 commit into
chajac/list-cached-idsfrom
chajac/list-printed-layouts

Conversation

@chajac

@chajac Chase J (chajac) commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Overview of Changes

Long tables can wrap across columns and become difficult to read. This change prints a table when it fits and cards when it does not. Both layouts show full flow IDs and keep field values complete.

Base: chajac/list-cached-ids.

Testing

Naming, lint, format, type, unused-code, and build checks passed. The full test suite passed: 2,515 tests, no failures.

bash scripts/check-naming.sh
bun run typecheck
bun run lint --max-warnings 0
bun run format:check
bun run knip
bun run test
bun run build

Tests cover local and remote output, narrow and wide terminals, full IDs, long paths, tags, shared folder prefixes, and unknown terminal width. Unicode wrapping tests cover wide characters, combining marks, and separators.

Checklist

  • Changes follow the code style of this project
  • Self-review completed
  • Tests added/updated (or not applicable)
  • No breaking changes (or described below)

@chajac
Chase J (chajac) added this pull request to stack #1614 September 14, 2026 11:03
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Essentials

Run ID: d984fefb-23af-4415-baec-ad1f927817d4

📥 Commits

Reviewing files that changed from the base of the PR and between 98bd476 and 8dff084.

📒 Files selected for processing (17)
  • .changeset/flows-list-card-layout.md
  • src/commands/flows/index.ts
  • src/core/ansi.ts
  • src/domains/flows/list.human.test.ts
  • src/domains/flows/list.ts
  • src/domains/flows/listDefaults.ts
  • src/domains/flows/listItem.ts
  • src/domains/flows/listRemote.test.ts
  • src/domains/flows/listRemote.ts
  • src/domains/flows/listView.ts
  • src/domains/flows/pulledPrefix.ts
  • src/domains/flows/renderFlowsList.test.ts
  • src/domains/flows/renderFlowsList.ts
  • src/domains/flows/renderListCards.test.ts
  • src/domains/flows/renderListCards.ts
  • src/domains/flows/renderListTable.test.ts
  • src/domains/flows/renderListTable.ts

Included review availability: Your plan provides up to 8 included reviews per hour; 1 remains after this review.


Walkthrough

Flow listings now share row mapping and support optional flow IDs. Human output measures terminal width and uses a full table when it fits. It uses cards when the table is too wide. Cards preserve values, tags, paths, IDs, and styling, and can remove shared .qawolf/<name>/ prefixes. Local and remote handlers receive terminal columns. Agent and JSON layouts remain unchanged.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Feature · Unblocks: 3 PRs

Sequence Diagram(s)

sequenceDiagram
  participant CLI
  participant FlowListHandler
  participant flowsList
  participant renderFlowsList
  CLI->>FlowListHandler: pass process.stdout.columns
  FlowListHandler->>flowsList: pass ListView
  flowsList->>renderFlowsList: provide flow rows and columns
  renderFlowsList-->>FlowListHandler: return table or cards
  FlowListHandler-->>CLI: print human output
Loading

Merge Risk: ⚪ Minimal · up to 8dff0

The terminal-aware flow-list rendering has no verified current-head issue that should block merging.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title uses the required Conventional Commits format, uses the valid flows scope, uses imperative wording, clearly describes terminal-aware flow-list formatting, and is under 72 characters.
Description check ✅ Passed The description includes the required Overview of Changes, Testing, and Checklist sections. It explains the change, lists verification commands and results, and completes the checklist.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chajac/list-printed-layouts

Comment @coderabbitai help to get the list of available commands.

@chajac
Chase J (chajac) force-pushed the chajac/list-printed-layouts branch from 8dff084 to 4fa4a5a Compare September 15, 2026 14:52
@chajac
Chase J (chajac) force-pushed the chajac/list-printed-layouts branch from 4fa4a5a to e5b4c5d Compare September 16, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant