Metadata-Version: 2.4
Name: tiaga
Version: 0.1.43
Summary: A CLI tool
Author: Seems kushwaha
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: deep-translator>=1.11.4
Requires-Dist: duckduckgo-search>=8.1.1
Requires-Dist: click>=8.3.2
Requires-Dist: httpx>=0.28.1
Requires-Dist: openai>=1.0.0
Requires-Dist: platformdirs>=4.3.8
Requires-Dist: pydantic>=2.12.5
Requires-Dist: python-dotenv>=1.1.1
Requires-Dist: rich>=14.1.0
Requires-Dist: tiktoken>=0.12.0
Requires-Dist: tomli>=2.4.1
Requires-Dist: youtube-transcript-api>=1.2.4
Requires-Dist: ddgs>=9.13.0

# Tiaga

**Author:** seemsyt (Seems Kushwaha)

Tiaga is a terminal AI assistant focused on coding and tool-assisted workflows in your local workspace.

## Features

- Interactive CLI assistant
- Built-in tools for file operations, shell commands, search, and web fetch
- Configurable model, API key, and base URL from slash commands
- Local config loading from user and project scopes

## Installation

Create and activate a virtual environment, then install:

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install tiaga .
```

Set environment variables (or use `/config` commands at runtime):

```env
API_KEY=your_api_key_here
BASE_URL=https://openrouter.ai/api/v1
```

## Run

After install:

```bash
tiaga
```

Or directly:

```bash
python -m tiaga.main
```

## CLI Commands

- `/help`
- `/exit`
- `/config show`
- `/config model <model_name>`
- `/config base_url <url>`
- `/config api_key <key>`
- `/model` (shows current model and token usage)
- `/model <model_name>` (updates model)

## Config Resolution

Tiaga loads config in this order:

1. User config: `user_config_dir("seems-tiaga")/config.toml`
2. Project config: `<cwd>/.seems-tiaga/config.toml` (overrides user config)

If config directories are missing, Tiaga handles it safely and creates folders when writing config.

## Quick Check

```bash
python -m compileall tiaga
```

## Project Layout

```text
.
├── tiaga/
│   ├── __init__.py
│   ├── main.py
│   ├── agent/
│   │   ├── agent.py
│   │   ├── events.py
│   │   └── session.py
│   ├── client/
│   │   ├── llm_client.py
│   │   └── response.py
│   ├── config/
│   │   ├── config.py
│   │   └── loader.py
│   ├── context/
│   │   ├── manager.py
│   │   ├── prompts.py
│   │   └── text.py
│   ├── tools_manager/
│   │   ├── base.py
│   │   ├── registry.py
│   │   ├── subagent.py
│   │   └── buildin/
│   │       ├── readfile.py
│   │       ├── writefile.py
│   │       ├── editfile.py
│   │       ├── shell.py
│   │       ├── listdir.py
│   │       ├── grep.py
│   │       ├── glob.py
│   │       ├── websearch.py
│   │       ├── webfetch.py
│   │       ├── youtube_scrapping.py
│   │       ├── todo.py
│   │       └── memory.py
│   ├── ui/
│   │   └── render.py
│   └── utils/
│       ├── erors.py
│       └── path.py
├── README.md
├── pyproject.toml
└── uv.lock
```
