Skip to content

Flatten the OpenTUI shell into src/tui - #435

Merged
TheGreatAxios merged 3 commits into
mainfrom
merge-tui-flatten-only
Aug 9, 2026
Merged

Flatten the OpenTUI shell into src/tui#435
TheGreatAxios merged 3 commits into
mainfrom
merge-tui-flatten-only

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

Mechanical merge of src/tui-opentui/ into src/tui/ so the shipping shell and runner share one product root. Zero behavior change — rename + path rewrites only.

  1. Rename legacy palette to semantic-theme.ts so OpenTUI can own theme.ts
  2. Pure git mv of every file under src/tui-opentui/ into src/tui/
  3. Rewrite imports, living docs, package script (tui:smoke), and path fixtures

Why

The dual directory was a hangover from the OpenTUI cutover. Runner lived in src/tui/ and imported heavily from src/tui-opentui/; shell files reached back into src/tui/. One root ends the cross-tree tax.

Plan compliance

  • Option A (flatten) — no src/tui/shell/ subfolder
  • Theme collision handled first (legacy ANSI roles → semantic-theme.ts; OpenTUI UI palette → theme.ts)
  • Living docs updated; historical release notes left alone
  • Greybeard / critique / neckbeard review: ship/approve; residual path audit clean

Test plan

  • bun run build (worktree)
  • bun test ./src/tui — 1588 pass / 0 fail
  • Full suite on pre-rebase worktree tip: 4317 pass / 0 fail
  • Manual smoke: /model, gate overlay, observe, resume picker
  • Confirm no src/tui-opentui/ in tree after merge

Notes

  • Typecheck still reports pre-existing dual-package @intx/types noise (same on main)
  • Optional follow-ups (not blocking): rename docs/tui-opentui-packaging.md; drop stale “Ink remains production” banners in shell.ts / demo.ts

The ANSI SemanticRole helpers and the OpenTUI UI palette both lived at
theme.ts once the shells share a directory. Move the older helpers to
semantic-theme.ts and point their importers at the new path; leave the
OpenTUI palette API alone.
Flatten src/tui-opentui into src/tui so the shipping shell and the
runner share one tree. Paths only — import and doc rewrites come next.
After the OpenTUI shell landed under src/tui/, rewrite imports, package
scripts, living docs, and path fixtures so nothing still names the old
tui-opentui tree. Behavior is unchanged — path rewrites only.
@TheGreatAxios
TheGreatAxios force-pushed the merge-tui-flatten-only branch from bf10420 to 71a4825 Compare August 9, 2026 10:33
@TheGreatAxios
TheGreatAxios merged commit 13f05f2 into main Aug 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant