Metadata-Version: 2.3
Name: agent-tui
Version: 0.1.0
Summary: Terminal user interface for AI agents built on agent-core.
Author: David Koleczek
Author-email: David Koleczek <45405824+DavidKoleczek@users.noreply.github.com>
Requires-Dist: agent-core-toolkit==0.1.0
Requires-Dist: interop-router==0.1.0
Requires-Dist: textual-dev>=1.8,<2.0
Requires-Dist: textual[syntax]>=6.11,<7.0
Requires-Python: >=3.11
Description-Content-Type: text/markdown

<h1 align="center">
    agent-tui
</h1>
<p align="center">
    <p align="center">Terminal user interface for AI agents built on <a href="https://github.com/DavidKoleczek/agent-core">agent-core</a>.</p>
</p>
<p align="center">
    <a href="https://github.com/astral-sh/uv"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv"></a>
    <a href="https://github.com/astral-sh/ty"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json" alt="ty"></a>
    <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
</p>

A [Textual](https://textual.textualize.io/)-based terminal interface for interacting with AI agents. Built on [agent-core](https://github.com/DavidKoleczek/agent-core) and [InteropRouter](https://github.com/DavidKoleczek/interop-router) for unified model provider support.

> [!NOTE]
> This library is in early development and subject to change.


## Usage

Ensure `OPENAI_API_KEY` is set in your environment.

Run the TUI:

```bash
uv run agent-tui
```

Or run directly with Textual:

```bash
uv run textual run src.agent_tui.app:AgentApp
```


## Development

### Prerequisites

- [uv](https://docs.astral.sh/uv/getting-started/installation/)
- [prek](https://github.com/j178/prek/blob/master/README.md#installation)

### Setup

Create uv virtual environment and install dependencies:

```bash
uv sync --frozen --all-groups
```

Set up git hooks:

```bash
prek install
```

To update dependencies (updates the lock file):

```bash
uv sync --all-groups
```

Run formatting, linting, and type checking:

```bash
uv run ruff format && uv run ruff check --fix && uv run ty check
```
