Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .changeset/clarify-tui-package-roles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
---

Clarify tui, tui-components, react package roles: remove unused exports, update descriptions, add READMEs
2 changes: 1 addition & 1 deletion packages/react/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# @perstack/react

React hooks and utilities for Perstack integration.
Reusable React hooks and utilities for Perstack integration. This is the shared React library layer that provides framework-agnostic hooks consumed by both TUI and web applications.

## Installation

Expand Down
29 changes: 29 additions & 0 deletions packages/tui-components/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# @perstack/tui-components

Ink/React TUI components for Perstack terminal interface.

## Role

This private package provides terminal UI components built on Ink and React. These components are specific to the Perstack CLI experience and are consumed by `@perstack/tui`.

## What It Provides

- **renderExecution** — Renders expert execution with streaming output
- **renderSelection** — Renders interactive expert selection UI
- **Types** — Shared types for runtime info, history items, and expert options

## Dependencies

```
@perstack/tui
└── @perstack/tui-components ← this package
└── @perstack/react
```

## Note

This is a **private** package (`"private": true`) — it is not published to npm.

## License

Apache-2.0
2 changes: 1 addition & 1 deletion packages/tui-components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@perstack/tui-components",
"private": true,
"version": "0.0.5",
"description": "Shared TUI components and hooks for Perstack applications",
"description": "Ink/React TUI components for Perstack terminal interface",
"author": "Wintermute Technologies, Inc.",
"license": "Apache-2.0",
"type": "module",
Expand Down
3 changes: 0 additions & 3 deletions packages/tui-components/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
export type { ExecutionParams, ExecutionResult } from "./execution/index.js"
// Execution
export { renderExecution } from "./execution/index.js"
export { useLatestRef } from "./hooks/use-latest-ref.js"
export { useListNavigation } from "./hooks/use-list-navigation.js"
export { useTextInput } from "./hooks/use-text-input.js"
export type { SelectionParams, SelectionResult } from "./selection/index.js"
// Selection
export { renderSelection } from "./selection/index.js"
Expand Down
27 changes: 27 additions & 0 deletions packages/tui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# @perstack/tui

Non-React TUI logic layer for Perstack CLI applications.

## Role

This package provides the logic layer between CLI apps (`perstack`, `create-expert`) and the UI component layer (`@perstack/tui-components`). It handles context resolution, configuration loading, and handler orchestration — without depending on React or Ink directly.

## What It Provides

- **startHandler / runHandler** — Entry points for CLI command execution
- **Context resolution** — Resolves expert context from the filesystem
- **Configuration loading** — Reads `perstack.toml` and provider config
- **Environment setup** — Loads environment variables and API keys

## Dependencies

```
CLI apps (perstack, create-expert)
└── @perstack/tui ← this package
└── @perstack/tui-components
└── @perstack/react
```

## License

Apache-2.0
1 change: 1 addition & 0 deletions packages/tui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@perstack/tui",
"private": true,
"version": "0.0.1",
"description": "Non-React TUI logic layer for Perstack CLI applications",
"type": "module",
"exports": {
".": "./src/index.ts",
Expand Down