Metadata-Version: 2.4
Name: agentic-cli
Version: 0.1.0
Summary: A framework for building domain-specific agentic CLI applications
Project-URL: Homepage, https://github.com/shoom1/agentic-cli
Project-URL: Repository, https://github.com/shoom1/agentic-cli
Author: Andrey Shiryaev
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: feedparser>=6.0.0
Requires-Dist: google-adk[genai]>=0.4.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: prompt-toolkit>=3.0.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: structlog>=24.0.0
Requires-Dist: thinking-prompt>=0.1.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Agentic CLI

A framework for building domain-specific agentic CLI applications powered by LLM agents.

## Features

- **CLI Framework**: Rich terminal UI with thinking boxes and markdown support
- **Workflow Management**: Agent orchestration using Google ADK
- **Generic Tools**: Web search, Python execution, knowledge base
- **Session Persistence**: Save and restore conversation sessions
- **Configuration**: Type-safe settings with pydantic-settings

## Installation

```bash
pip install agentic-cli
```

## Usage

Create a domain-specific CLI application by extending the base classes:

```python
from agentic_cli import BaseCLIApp, WorkflowManager
from thinking_prompt import AppInfo

class MyApp(BaseCLIApp):
    def get_app_info(self) -> AppInfo:
        return AppInfo(name="MyApp", version="0.1.0")

    def get_settings(self):
        return MySettings()

    def create_workflow_manager(self):
        return MyWorkflowManager(settings=self.settings)
```

## License

MIT
