Skip to content

refactor: extract TUI into @perstack/tui-components and @perstack/tui#488

Merged
FL4TLiN3 merged 2 commits intomainfrom
refactor/extract-tui-packages
Feb 14, 2026
Merged

refactor: extract TUI into @perstack/tui-components and @perstack/tui#488
FL4TLiN3 merged 2 commits intomainfrom
refactor/extract-tui-packages

Conversation

@FL4TLiN3
Copy link
Contributor

Summary

  • Move all React/Ink TUI code from apps/perstack/src/tui/ into packages/tui-components/src/ — components, execution, selection, context, hooks, types, utils
  • Create new @perstack/tui package with startHandler and supporting lib code (context, run-manager, interactive, get-env, perstack-toml, provider-config)
  • Eliminate cross-app import: apps/create-expert now imports startHandler from @perstack/tui instead of perstack/start

Dependency graph (after)

@perstack/core   @perstack/react   ink   react
       ↓               ↓             ↓     ↓
  ┌─────────────────────────────────────────────┐
  │        @perstack/tui-components              │
  └─────────────────────────────────────────────┘
                        ↑
  ┌─────────────────────────────────────────────┐
  │              @perstack/tui                   │
  └─────────────────────────────────────────────┘
           ↑                       ↑
    apps/perstack            apps/create-expert

Test plan

  • pnpm typecheck — 19/19 packages pass
  • pnpm build — 19/19 packages pass
  • pnpm test — 101 test files, 1101 tests pass
  • pnpm format-and-lint — no new errors (only pre-existing warnings)

🤖 Generated with Claude Code

FL4TLiN3 and others added 2 commits February 14, 2026 09:47
…k/tui packages

Move all React/Ink TUI code from apps/perstack/src/tui/ into
packages/tui-components and create new @perstack/tui package for
the startHandler and supporting lib code. This eliminates the
architectural issue of apps/create-expert importing from
apps/perstack via a forced export.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@FL4TLiN3 FL4TLiN3 enabled auto-merge (squash) February 14, 2026 10:10
@FL4TLiN3 FL4TLiN3 merged commit eaa4616 into main Feb 14, 2026
9 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