basic-agent-chat-loop


Namebasic-agent-chat-loop JSON
Version 0.4.2 PyPI version JSON
download
home_pageNone
SummaryFeature-rich interactive CLI for AI agents with token tracking, prompt templates, aliases, and configuration
upload_time2025-10-21 21:08:57
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords agent chat loop cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Basic Agent Chat Loop

[![PyPI version](https://img.shields.io/pypi/v/basic-agent-chat-loop.svg)](https://pypi.org/project/basic-agent-chat-loop/)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![Tests](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/actions/workflows/ci.yml/badge.svg)](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/Open-Agent-Tools/Basic-Agent-Chat-Loop/branch/main/graph/badge.svg)](https://codecov.io/gh/Open-Agent-Tools/Basic-Agent-Chat-Loop)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A feature-rich, interactive CLI for AI agents with token tracking, prompt templates, agent aliases, and extensive configuration options.

## Features

- 🏷️ **Agent Aliases** - Save agents as short names (`chat_loop pete` instead of full paths)
- πŸ“¦ **Auto-Setup** - Automatically install agent dependencies from `requirements.txt` or `pyproject.toml`
- πŸ”” **Audio Notifications** - Play sound when agent completes a turn (cross-platform support)
- πŸ“œ **Command History** - Navigate previous queries with ↑↓ arrows (persisted to `~/.chat_history`)
- ✍️ **Multi-line Input** - Type `\\` to enter multi-line mode for code blocks
- πŸ’° **Token Tracking** - Track tokens and costs per query and session
- πŸ“ **Prompt Templates** - Reusable prompts from `~/.prompts/`
- βš™οΈ **Configuration** - YAML-based config with per-agent overrides
- πŸ“Š **Status Bar** - Real-time metrics (queries, tokens, duration)
- πŸ“ˆ **Session Summary** - Full statistics displayed on exit
- 🎨 **Rich Formatting** - Enhanced markdown rendering with syntax highlighting
- πŸ”„ **Error Recovery** - Automatic retry logic with exponential backoff
- πŸ” **Agent Metadata** - Display model, tools, and capabilities

## Installation

### Quick Install (Recommended)

```bash
pip install basic-agent-chat-loop
```

That's it! The package will automatically create:
- `~/.chatrc` - Configuration file with recommended defaults
- `~/.prompts/` - Sample prompt templates (on first use)

### Platform-Specific Options

**Windows:**
Command history support (pyreadline3) is now **installed automatically** on Windows - no extra steps needed!

**AWS Bedrock integration:**
```bash
pip install basic-agent-chat-loop[bedrock]
```

### From Source

For development or the latest features:

```bash
git clone https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop.git
cd Basic-Agent-Chat-Loop
pip install -e ".[dev]"
```

See [docs/INSTALL.md](docs/INSTALL.md) for detailed installation instructions and troubleshooting.

## Quick Start

### Basic Usage

```bash
# Run with agent path
chat_loop path/to/your/agent.py

# Or use an alias (after saving)
chat_loop myagent
```

### Agent Aliases

Save frequently used agents for quick access:

```bash
# Save an agent as an alias
chat_loop --save-alias myagent path/to/agent.py

# Use the alias from anywhere
chat_loop myagent

# List all saved aliases
chat_loop --list-aliases

# Remove an alias
chat_loop --remove-alias myagent
```

**Example with real agents:**
```bash
# Save your agents
chat_loop --save-alias pete ~/agents/product_manager/agent.py
chat_loop --save-alias dev ~/agents/senior_developer/agent.py

# Use them from anywhere
cd ~/projects/my-app
chat_loop dev  # Get coding help
chat_loop pete  # Get product feedback
```

Aliases are stored in `~/.chat_aliases` and work from any directory.

### Auto-Setup Dependencies

Automatically install agent dependencies with the `--auto-setup` flag (or `-a` for short):

```bash
# Auto-install dependencies when running an agent
chat_loop myagent --auto-setup
chat_loop path/to/agent.py -a

# Works with any of these dependency files:
# - requirements.txt (most common)
# - pyproject.toml (modern Python projects)
# - setup.py (legacy projects)
```

**Smart detection**: If you run an agent without `--auto-setup` and dependency files are detected, you'll see a helpful suggestion:

```bash
chat_loop myagent
πŸ’‘ Found requirements.txt in agent directory. Run with --auto-setup (or -a) to install dependencies automatically
```

**What gets installed:**
- `requirements.txt` β†’ `pip install -r requirements.txt`
- `pyproject.toml` β†’ `pip install -e <agent_directory>`
- `setup.py` β†’ `pip install -e <agent_directory>`

This makes sharing agents easierβ€”just include a `requirements.txt` with your agent and users can install everything with one command.

### Prompt Templates

The package automatically creates sample templates in `~/.prompts/` on first use:
- `explain.md` - Explain code in detail
- `review.md` - Code review with best practices
- `debug.md` - Help debugging issues
- `optimize.md` - Performance optimization suggestions
- `test.md` - Generate test cases
- `document.md` - Add documentation

**Use templates in chat:**
```bash
chat_loop myagent
You: /review src/app.py
You: /explain utils.py
You: /test my_function
```

**Create custom templates:**
```bash
# Create your own template
cat > ~/.prompts/security.md <<'EOF'
# Security Review

Please review this code for security vulnerabilities:

{input}

Focus on:
- Input validation
- Authentication/authorization
- Data sanitization
- Common security patterns
EOF

# Use it in chat
You: /security auth.py
```

## Configuration

A configuration file (`~/.chatrc`) is automatically created on first use with recommended defaults. You can customize it to your preferences:

```yaml
features:
  show_tokens: true           # Display token counts
  show_metadata: true         # Show agent model/tools info
  rich_enabled: true          # Enhanced formatting

ui:
  show_status_bar: true       # Top status bar
  show_duration: true         # Query duration

audio:
  enabled: true               # Play sound when agent completes
  notification_sound: null    # Custom WAV file (null = bundled sound)

behavior:
  max_retries: 3              # Retry attempts on failure
  timeout: 120.0              # Request timeout (seconds)

# Per-agent overrides
agents:
  'Product Pete':
    features:
      show_tokens: false
    audio:
      enabled: false          # Disable audio for this agent
```

### Audio Notifications

Audio notifications alert you when the agent completes a response. Enabled by default with a bundled notification sound.

**Platforms supported:**
- macOS (using `afplay`)
- Linux (using `aplay` or `paplay`)
- Windows (using `winsound`)

**Configure audio in ~/.chatrc:**
```yaml
audio:
  enabled: true
  notification_sound: null    # Use bundled sound

  # Or specify a custom WAV file:
  # notification_sound: /path/to/custom.wav
```

**Per-agent overrides:**
```yaml
agents:
  'Silent Agent':
    audio:
      enabled: false  # Disable audio for this agent
```

See [CONFIG.md](CONFIG.md) for full configuration options.

## Commands

| Command | Description |
|---------|-------------|
| `help` | Show help message |
| `info` | Show agent details (model, tools) |
| `templates` | List available prompt templates |
| `/name` | Use prompt template from `~/.prompts/name.md` |
| `clear` | Clear screen and reset agent session |
| `exit`, `quit` | Exit chat (shows session summary) |

### Multi-line Input

Press `\\` to enter multi-line mode:

```
You: \\
... def factorial(n):
...     if n <= 1:
...         return 1
...     return n * factorial(n - 1)
...
[Press Enter on empty line to submit]
```

## Token Tracking

### During Chat

When `show_tokens: true` in config:

```
------------------------------------------------------------
Time: 6.3s β”‚ 1 cycle β”‚ Tokens: 4.6K (in: 4.4K, out: 237) β”‚ Cost: $0.017
```

### Session Summary

Always shown on exit:

```
============================================================
Session Summary
------------------------------------------------------------
  Duration: 12m 34s
  Queries: 15
  Tokens: 67.8K (in: 45.2K, out: 22.6K)
  Total Cost: $0.475
============================================================
```

## Programmatic Usage

```python
from basic_agent_chat_loop import ChatLoop

# Create chat interface
chat = ChatLoop(
    agent=your_agent,
    name="My Agent",
    description="Agent description",
    config_path=Path("~/.chatrc")  # Optional
)

# Run interactive loop
chat.run()
```

## Requirements

### Core Dependencies

- **Python 3.8+**
- `pyyaml>=6.0.1` - Configuration file parsing
- `rich>=13.7.0` - Enhanced terminal rendering

### Optional Dependencies

- `pyreadline3>=3.4.1` - Command history on Windows (**now auto-installed on Windows**)
- `anthropic-bedrock>=0.8.0` - AWS Bedrock integration (install with `[bedrock]`)

### Built-in Features

- `readline` (built-in on Unix) - Command history on macOS/Linux

## Platform Support

- βœ… **macOS** - Full support with native readline
- βœ… **Linux** - Full support with native readline
- βœ… **Windows** - Full support with automatic pyreadline3 installation

## Architecture

```
src/basic_agent_chat_loop/
β”œβ”€β”€ chat_loop.py          # Main orchestration
β”œβ”€β”€ chat_config.py        # Configuration management
β”œβ”€β”€ cli.py                # CLI entry point
β”œβ”€β”€ components/           # Modular components
β”‚   β”œβ”€β”€ ui_components.py      # Colors, StatusBar
β”‚   β”œβ”€β”€ token_tracker.py      # Token/cost tracking
β”‚   β”œβ”€β”€ template_manager.py   # Prompt templates
β”‚   β”œβ”€β”€ display_manager.py    # Display formatting
β”‚   β”œβ”€β”€ agent_loader.py       # Agent loading
β”‚   └── alias_manager.py      # Alias management
docs/
β”œβ”€β”€ ALIASES.md            # Alias system guide
β”œβ”€β”€ CONFIG.md             # Configuration reference
β”œβ”€β”€ INSTALL.md            # Installation instructions
└── Chat_TODO.md          # Roadmap and future features
```

## Documentation

- [docs/ALIASES.md](docs/ALIASES.md) - Agent alias system guide
- [docs/CONFIG.md](docs/CONFIG.md) - Configuration reference
- [docs/INSTALL.md](docs/INSTALL.md) - Installation instructions
- [docs/Chat_TODO.md](docs/Chat_TODO.md) - Roadmap and future features

## Development

### Running Tests

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest
```

### Code Quality

```bash
# Format code
black src/ tests/

# Lint
ruff check src/ tests/
```

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

MIT License - see LICENSE file for details.

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for detailed version history.

### Latest Release: v0.1.0 (2025-10-09)

Initial public release with:
- 🏷️ Agent alias system
- πŸ“ Prompt templates with auto-setup
- πŸ’° Token tracking and cost estimation
- βš™οΈ YAML configuration with auto-setup
- πŸ“Š Status bar and session summaries
- 🎨 Rich markdown rendering
- πŸ”„ Automatic error recovery
- πŸ“œ Persistent command history
- βœ… 61% test coverage (158 tests)

## Troubleshooting

See [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) for common issues and solutions.

**Quick fixes:**
- **Package not found**: Run `pip install --upgrade basic-agent-chat-loop`
- **Command not found**: Ensure pip's bin directory is in your PATH
- **Import errors**: Try reinstalling with `pip install --force-reinstall basic-agent-chat-loop`

## Support

- πŸ› **Bug Reports**: [GitHub Issues](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/issues)
- πŸ’‘ **Feature Requests**: [GitHub Issues](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/issues)
- πŸ“– **Documentation**: [docs/](docs/)
- πŸ’¬ **Discussions**: [GitHub Discussions](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/discussions)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "basic-agent-chat-loop",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "agent, chat, loop, cli",
    "author": null,
    "author_email": "Wes <unseriousai@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/db/85/22ac2b39ca9c481b9031b0ec2c93221168495ec71286f02390e72b9af4bc/basic_agent_chat_loop-0.4.2.tar.gz",
    "platform": null,
    "description": "# Basic Agent Chat Loop\n\n[![PyPI version](https://img.shields.io/pypi/v/basic-agent-chat-loop.svg)](https://pypi.org/project/basic-agent-chat-loop/)\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![Tests](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/actions/workflows/ci.yml/badge.svg)](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/Open-Agent-Tools/Basic-Agent-Chat-Loop/branch/main/graph/badge.svg)](https://codecov.io/gh/Open-Agent-Tools/Basic-Agent-Chat-Loop)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA feature-rich, interactive CLI for AI agents with token tracking, prompt templates, agent aliases, and extensive configuration options.\n\n## Features\n\n- \ud83c\udff7\ufe0f **Agent Aliases** - Save agents as short names (`chat_loop pete` instead of full paths)\n- \ud83d\udce6 **Auto-Setup** - Automatically install agent dependencies from `requirements.txt` or `pyproject.toml`\n- \ud83d\udd14 **Audio Notifications** - Play sound when agent completes a turn (cross-platform support)\n- \ud83d\udcdc **Command History** - Navigate previous queries with \u2191\u2193 arrows (persisted to `~/.chat_history`)\n- \u270d\ufe0f **Multi-line Input** - Type `\\\\` to enter multi-line mode for code blocks\n- \ud83d\udcb0 **Token Tracking** - Track tokens and costs per query and session\n- \ud83d\udcdd **Prompt Templates** - Reusable prompts from `~/.prompts/`\n- \u2699\ufe0f **Configuration** - YAML-based config with per-agent overrides\n- \ud83d\udcca **Status Bar** - Real-time metrics (queries, tokens, duration)\n- \ud83d\udcc8 **Session Summary** - Full statistics displayed on exit\n- \ud83c\udfa8 **Rich Formatting** - Enhanced markdown rendering with syntax highlighting\n- \ud83d\udd04 **Error Recovery** - Automatic retry logic with exponential backoff\n- \ud83d\udd0d **Agent Metadata** - Display model, tools, and capabilities\n\n## Installation\n\n### Quick Install (Recommended)\n\n```bash\npip install basic-agent-chat-loop\n```\n\nThat's it! The package will automatically create:\n- `~/.chatrc` - Configuration file with recommended defaults\n- `~/.prompts/` - Sample prompt templates (on first use)\n\n### Platform-Specific Options\n\n**Windows:**\nCommand history support (pyreadline3) is now **installed automatically** on Windows - no extra steps needed!\n\n**AWS Bedrock integration:**\n```bash\npip install basic-agent-chat-loop[bedrock]\n```\n\n### From Source\n\nFor development or the latest features:\n\n```bash\ngit clone https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop.git\ncd Basic-Agent-Chat-Loop\npip install -e \".[dev]\"\n```\n\nSee [docs/INSTALL.md](docs/INSTALL.md) for detailed installation instructions and troubleshooting.\n\n## Quick Start\n\n### Basic Usage\n\n```bash\n# Run with agent path\nchat_loop path/to/your/agent.py\n\n# Or use an alias (after saving)\nchat_loop myagent\n```\n\n### Agent Aliases\n\nSave frequently used agents for quick access:\n\n```bash\n# Save an agent as an alias\nchat_loop --save-alias myagent path/to/agent.py\n\n# Use the alias from anywhere\nchat_loop myagent\n\n# List all saved aliases\nchat_loop --list-aliases\n\n# Remove an alias\nchat_loop --remove-alias myagent\n```\n\n**Example with real agents:**\n```bash\n# Save your agents\nchat_loop --save-alias pete ~/agents/product_manager/agent.py\nchat_loop --save-alias dev ~/agents/senior_developer/agent.py\n\n# Use them from anywhere\ncd ~/projects/my-app\nchat_loop dev  # Get coding help\nchat_loop pete  # Get product feedback\n```\n\nAliases are stored in `~/.chat_aliases` and work from any directory.\n\n### Auto-Setup Dependencies\n\nAutomatically install agent dependencies with the `--auto-setup` flag (or `-a` for short):\n\n```bash\n# Auto-install dependencies when running an agent\nchat_loop myagent --auto-setup\nchat_loop path/to/agent.py -a\n\n# Works with any of these dependency files:\n# - requirements.txt (most common)\n# - pyproject.toml (modern Python projects)\n# - setup.py (legacy projects)\n```\n\n**Smart detection**: If you run an agent without `--auto-setup` and dependency files are detected, you'll see a helpful suggestion:\n\n```bash\nchat_loop myagent\n\ud83d\udca1 Found requirements.txt in agent directory. Run with --auto-setup (or -a) to install dependencies automatically\n```\n\n**What gets installed:**\n- `requirements.txt` \u2192 `pip install -r requirements.txt`\n- `pyproject.toml` \u2192 `pip install -e <agent_directory>`\n- `setup.py` \u2192 `pip install -e <agent_directory>`\n\nThis makes sharing agents easier\u2014just include a `requirements.txt` with your agent and users can install everything with one command.\n\n### Prompt Templates\n\nThe package automatically creates sample templates in `~/.prompts/` on first use:\n- `explain.md` - Explain code in detail\n- `review.md` - Code review with best practices\n- `debug.md` - Help debugging issues\n- `optimize.md` - Performance optimization suggestions\n- `test.md` - Generate test cases\n- `document.md` - Add documentation\n\n**Use templates in chat:**\n```bash\nchat_loop myagent\nYou: /review src/app.py\nYou: /explain utils.py\nYou: /test my_function\n```\n\n**Create custom templates:**\n```bash\n# Create your own template\ncat > ~/.prompts/security.md <<'EOF'\n# Security Review\n\nPlease review this code for security vulnerabilities:\n\n{input}\n\nFocus on:\n- Input validation\n- Authentication/authorization\n- Data sanitization\n- Common security patterns\nEOF\n\n# Use it in chat\nYou: /security auth.py\n```\n\n## Configuration\n\nA configuration file (`~/.chatrc`) is automatically created on first use with recommended defaults. You can customize it to your preferences:\n\n```yaml\nfeatures:\n  show_tokens: true           # Display token counts\n  show_metadata: true         # Show agent model/tools info\n  rich_enabled: true          # Enhanced formatting\n\nui:\n  show_status_bar: true       # Top status bar\n  show_duration: true         # Query duration\n\naudio:\n  enabled: true               # Play sound when agent completes\n  notification_sound: null    # Custom WAV file (null = bundled sound)\n\nbehavior:\n  max_retries: 3              # Retry attempts on failure\n  timeout: 120.0              # Request timeout (seconds)\n\n# Per-agent overrides\nagents:\n  'Product Pete':\n    features:\n      show_tokens: false\n    audio:\n      enabled: false          # Disable audio for this agent\n```\n\n### Audio Notifications\n\nAudio notifications alert you when the agent completes a response. Enabled by default with a bundled notification sound.\n\n**Platforms supported:**\n- macOS (using `afplay`)\n- Linux (using `aplay` or `paplay`)\n- Windows (using `winsound`)\n\n**Configure audio in ~/.chatrc:**\n```yaml\naudio:\n  enabled: true\n  notification_sound: null    # Use bundled sound\n\n  # Or specify a custom WAV file:\n  # notification_sound: /path/to/custom.wav\n```\n\n**Per-agent overrides:**\n```yaml\nagents:\n  'Silent Agent':\n    audio:\n      enabled: false  # Disable audio for this agent\n```\n\nSee [CONFIG.md](CONFIG.md) for full configuration options.\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `help` | Show help message |\n| `info` | Show agent details (model, tools) |\n| `templates` | List available prompt templates |\n| `/name` | Use prompt template from `~/.prompts/name.md` |\n| `clear` | Clear screen and reset agent session |\n| `exit`, `quit` | Exit chat (shows session summary) |\n\n### Multi-line Input\n\nPress `\\\\` to enter multi-line mode:\n\n```\nYou: \\\\\n... def factorial(n):\n...     if n <= 1:\n...         return 1\n...     return n * factorial(n - 1)\n...\n[Press Enter on empty line to submit]\n```\n\n## Token Tracking\n\n### During Chat\n\nWhen `show_tokens: true` in config:\n\n```\n------------------------------------------------------------\nTime: 6.3s \u2502 1 cycle \u2502 Tokens: 4.6K (in: 4.4K, out: 237) \u2502 Cost: $0.017\n```\n\n### Session Summary\n\nAlways shown on exit:\n\n```\n============================================================\nSession Summary\n------------------------------------------------------------\n  Duration: 12m 34s\n  Queries: 15\n  Tokens: 67.8K (in: 45.2K, out: 22.6K)\n  Total Cost: $0.475\n============================================================\n```\n\n## Programmatic Usage\n\n```python\nfrom basic_agent_chat_loop import ChatLoop\n\n# Create chat interface\nchat = ChatLoop(\n    agent=your_agent,\n    name=\"My Agent\",\n    description=\"Agent description\",\n    config_path=Path(\"~/.chatrc\")  # Optional\n)\n\n# Run interactive loop\nchat.run()\n```\n\n## Requirements\n\n### Core Dependencies\n\n- **Python 3.8+**\n- `pyyaml>=6.0.1` - Configuration file parsing\n- `rich>=13.7.0` - Enhanced terminal rendering\n\n### Optional Dependencies\n\n- `pyreadline3>=3.4.1` - Command history on Windows (**now auto-installed on Windows**)\n- `anthropic-bedrock>=0.8.0` - AWS Bedrock integration (install with `[bedrock]`)\n\n### Built-in Features\n\n- `readline` (built-in on Unix) - Command history on macOS/Linux\n\n## Platform Support\n\n- \u2705 **macOS** - Full support with native readline\n- \u2705 **Linux** - Full support with native readline\n- \u2705 **Windows** - Full support with automatic pyreadline3 installation\n\n## Architecture\n\n```\nsrc/basic_agent_chat_loop/\n\u251c\u2500\u2500 chat_loop.py          # Main orchestration\n\u251c\u2500\u2500 chat_config.py        # Configuration management\n\u251c\u2500\u2500 cli.py                # CLI entry point\n\u251c\u2500\u2500 components/           # Modular components\n\u2502   \u251c\u2500\u2500 ui_components.py      # Colors, StatusBar\n\u2502   \u251c\u2500\u2500 token_tracker.py      # Token/cost tracking\n\u2502   \u251c\u2500\u2500 template_manager.py   # Prompt templates\n\u2502   \u251c\u2500\u2500 display_manager.py    # Display formatting\n\u2502   \u251c\u2500\u2500 agent_loader.py       # Agent loading\n\u2502   \u2514\u2500\u2500 alias_manager.py      # Alias management\ndocs/\n\u251c\u2500\u2500 ALIASES.md            # Alias system guide\n\u251c\u2500\u2500 CONFIG.md             # Configuration reference\n\u251c\u2500\u2500 INSTALL.md            # Installation instructions\n\u2514\u2500\u2500 Chat_TODO.md          # Roadmap and future features\n```\n\n## Documentation\n\n- [docs/ALIASES.md](docs/ALIASES.md) - Agent alias system guide\n- [docs/CONFIG.md](docs/CONFIG.md) - Configuration reference\n- [docs/INSTALL.md](docs/INSTALL.md) - Installation instructions\n- [docs/Chat_TODO.md](docs/Chat_TODO.md) - Roadmap and future features\n\n## Development\n\n### Running Tests\n\n```bash\n# Install dev dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest\n```\n\n### Code Quality\n\n```bash\n# Format code\nblack src/ tests/\n\n# Lint\nruff check src/ tests/\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed version history.\n\n### Latest Release: v0.1.0 (2025-10-09)\n\nInitial public release with:\n- \ud83c\udff7\ufe0f Agent alias system\n- \ud83d\udcdd Prompt templates with auto-setup\n- \ud83d\udcb0 Token tracking and cost estimation\n- \u2699\ufe0f YAML configuration with auto-setup\n- \ud83d\udcca Status bar and session summaries\n- \ud83c\udfa8 Rich markdown rendering\n- \ud83d\udd04 Automatic error recovery\n- \ud83d\udcdc Persistent command history\n- \u2705 61% test coverage (158 tests)\n\n## Troubleshooting\n\nSee [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) for common issues and solutions.\n\n**Quick fixes:**\n- **Package not found**: Run `pip install --upgrade basic-agent-chat-loop`\n- **Command not found**: Ensure pip's bin directory is in your PATH\n- **Import errors**: Try reinstalling with `pip install --force-reinstall basic-agent-chat-loop`\n\n## Support\n\n- \ud83d\udc1b **Bug Reports**: [GitHub Issues](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/issues)\n- \ud83d\udca1 **Feature Requests**: [GitHub Issues](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/issues)\n- \ud83d\udcd6 **Documentation**: [docs/](docs/)\n- \ud83d\udcac **Discussions**: [GitHub Discussions](https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/discussions)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Feature-rich interactive CLI for AI agents with token tracking, prompt templates, aliases, and configuration",
    "version": "0.4.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop/issues",
        "Homepage": "https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop",
        "Repository": "https://github.com/Open-Agent-Tools/Basic-Agent-Chat-Loop"
    },
    "split_keywords": [
        "agent",
        " chat",
        " loop",
        " cli"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "97cb4b6be72c87800c72f2554b50ccbb3cf1a0ab9401a46ccf693c6b25b67c30",
                "md5": "93e2bfa08c270a8c10a4f93935e6abf1",
                "sha256": "2d90afb1fa67eff3a114a48dba3b601d43b1a7ccde8a6f6be9b37ff29662129c"
            },
            "downloads": -1,
            "filename": "basic_agent_chat_loop-0.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "93e2bfa08c270a8c10a4f93935e6abf1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 163120,
            "upload_time": "2025-10-21T21:08:55",
            "upload_time_iso_8601": "2025-10-21T21:08:55.718083Z",
            "url": "https://files.pythonhosted.org/packages/97/cb/4b6be72c87800c72f2554b50ccbb3cf1a0ab9401a46ccf693c6b25b67c30/basic_agent_chat_loop-0.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "db8522ac2b39ca9c481b9031b0ec2c93221168495ec71286f02390e72b9af4bc",
                "md5": "f630c074db969289bba1dc1aa1725209",
                "sha256": "1e20634a239bc01917b36090f665fb9a346a351969d2ddc3c5c96883fbd77813"
            },
            "downloads": -1,
            "filename": "basic_agent_chat_loop-0.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "f630c074db969289bba1dc1aa1725209",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 168551,
            "upload_time": "2025-10-21T21:08:57",
            "upload_time_iso_8601": "2025-10-21T21:08:57.393433Z",
            "url": "https://files.pythonhosted.org/packages/db/85/22ac2b39ca9c481b9031b0ec2c93221168495ec71286f02390e72b9af4bc/basic_agent_chat_loop-0.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-21 21:08:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Open-Agent-Tools",
    "github_project": "Basic-Agent-Chat-Loop",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "basic-agent-chat-loop"
}
        
Elapsed time: 2.46944s