Summary
Replace raw chalk + figures string concatenation in src/cli/format.js with the @flyingrobots/bijou component library for structured, themed terminal output.
Motivation
The current CLI formatting is functional but plain — hand-rolled string concatenation producing flat text output. The bijou package family provides boxes, tables, badges, alerts, progress bars, theming, and automatic graceful degradation (interactive → static → pipe → accessible).
Scope
| File |
Action |
Purpose |
src/cli/ui.js |
CREATE |
Bijou context init + custom theme + styled helpers |
src/cli/format.js |
REWRITE |
Replace chalk/figures with bijou components |
bin/git-mind.js |
EDIT |
Call initUI() at startup |
test/format.test.js |
CREATE |
Unit tests for rewritten format functions |
What stays the same
- All
--json output (schema-validated contracts, untouched)
- All domain logic (
src/*.js — zero changes)
- All existing tests pass
- Pipe mode works (bijou auto-detects and strips ANSI)
NO_COLOR respected (bijou handles natively)
Components used
alert() for success/error/info/warning messages
headerBox() for section headers
table() for count/diff tables
progressBar() for progress view
badge() for status indicators and tags
styled() + custom theme for consistent color tokens
separator() for dividers
Summary
Replace raw
chalk+figuresstring concatenation insrc/cli/format.jswith the@flyingrobots/bijoucomponent library for structured, themed terminal output.Motivation
The current CLI formatting is functional but plain — hand-rolled string concatenation producing flat text output. The bijou package family provides boxes, tables, badges, alerts, progress bars, theming, and automatic graceful degradation (interactive → static → pipe → accessible).
Scope
src/cli/ui.jssrc/cli/format.jsbin/git-mind.jsinitUI()at startuptest/format.test.jsWhat stays the same
--jsonoutput (schema-validated contracts, untouched)src/*.js— zero changes)NO_COLORrespected (bijou handles natively)Components used
alert()for success/error/info/warning messagesheaderBox()for section headerstable()for count/diff tablesprogressBar()for progress viewbadge()for status indicators and tagsstyled()+ custom theme for consistent color tokensseparator()for dividers